Share

detach_faces

Disconnects the specified faces from the rest of the mesh. The points on the border between these faces and other faces in the mesh are duplicated and the faces are modified to reference the new points. If duplicate_all_border_points is checked, all the border is duplicated, and some points may be left isolated.

For example:

       mesh
  p0─────p1─────p2
               
    f0    f1   
               
  p3─────p4─────p5
                          `duplicate_all_border_points`
                                      
                                      

      out_mesh                       out_mesh
 p0─────p1 p6─────p2         p0─────p1 p6─────p8 p2
                                       
   f0      f1              f0      f1  
                                       
 p3─────p4 p7─────p5         p3─────p4 p7─────p9 p5

If faces is set to f1, then:

  • Points p1 and p4 are duplicated and the duplicates are referenced by f1.
  • The detached_points are p2, p5, p6, and p7.
  • The detached_border_points p2, p5, p6, and p7.
  • detached_border_points will be different than detached_points if there are faces completely inside the selection.

Inputs

mesh

The mesh to modify.

faces

An array containing the indices of the faces to detach.

properties

The names of geo properties to transfer to the new geometry, such as point_color. Make sure to include all geo properties that you want, including those that target components other than faces (such as points and face-vertices). Properties that are not geo properties are always transferred.

  • Separate multiple geo property names with spaces.
  • You can use the wildcard * in expressions, for example, point_user* to transfer all geo properties that begin with the string "point_user".
  • The default value * transfers all geo properties.
  • Use an empty string to prevent any geo properties from being transferred, except for those that are required by the mesh schema (point_position, face_offset, and face_vertex).
  • Use a * followed by a ! to exclude a property. For example * !point_user* includes all properties, except ones that begin with the string "point_user"

duplicate_all_border_points

All points on the border are duplicated. See extrude_faces for an example of this usage.

Outputs

out_mesh

A new mesh object with the specified faces detached.

detached_points

The points referenced by the detached faces.

detached_border_points

The points along the detachment border.

border_face_edges

Was this information helpful?