Local Ops: Deleting Faces & Healing Wounds   

<<< Local Ops: Spinning or Sweeping an Entity Chapters Local Ops: Creating New Solids from Faces >>>

Contents

[back to top]


14.1 Introduction

PK_FACE_delete deletes faces from a body. Removing faces in this way leaves "wounds" that must be healed in order to leave the body in a valid state. The wound is actually a hole which has one or more loops.

[back to top]


14.2 Methods for healing wounds

Wounds can be healed using the following methods:

 

Method Value of heal_action Description

Capping

PK_FACE_heal_cap_c

Parasolid calculates a surface which can cover across a wound; this surface must therefore contain all the edges of the wound

Grow from parent

PK_FACE_heal_grow_from_parent_c

grows the faces the parent has around the hole until the hole is covered

Grow from child

PK_FACE_heal_grow_from_child_c

Extend faces around the hole until they cover the hole

Allow shrinkage

PK_FACE_heal_shrink_c

Allows faces adjacent to the wound to shrink, as well as grow

Leave rubber

PK_FACE_heal_no_c

Leaves each hole as a face with no surface geometry

All

PK_FACE_heal_yes_c

Use any of the available heal methods.

 

Note: Where the edges bounding the wound are tolerant, you can only heal the wound by capping if the wound can be capped with a planar surface.

 

Figure 14-1 Healing wounds - 'Grow from child' or 'Cap' using the loops_independent option

 

Figure 14-2 Healing wounds - 'Grow only'

 

Figure 14-3 Healing wounds - 'Allow shrinkage'

[back to top]


14.3 Healing faces with multiple loops

[back to top]

14.3.1 Healing loops independently

A further option that is available when healing wounds using the PK_FACE_delete operation, using either the grow or cap methods, and which is related to the treatment of the loops of the wounds.

If the option loops_independent is selected then each closed loop around a face is healed independently, otherwise loops are healed together. Healing loops independently can result in a fragmented body.

The following two examples, Figure 14-4 and Figure 14-5, show the results that are achieved when using both methods of healing multiple loops in conjunction with the 'Cap' and 'Allow shrinkage' options.

 

Figure 14-4 Deleting single shaded face

 

Figure 14-5 Deleting cylindrical and two planar faces

PK_FACE_delete receives a further option, "loops independent" which is applicable when the wound left has more than one loop.

[back to top]


14.4 Limitations/restrictions on healing wounds

In the following example it is not possible to heal the wounds, in a single operation. This is because the 'face set' (i.e. the wound) is non-manifold. This operation is possible if the faces are deleted individually using the PK_FACE_heal_shrink_c option.

 

Figure 14-6 Non-manifold faceset boundary

[back to top]


14.5 Limitations/restrictions on growing loops together

The following restrictions apply when growing loops together.

 

Figure 14-7 Each of the two loops in the wound contains 3-edge vertices

 

Figure 14-8 Cannot shrink faces not on the single surface

 

[back to top]

<<< Local Ops: Spinning or Sweeping an Entity Chapters Local Ops: Creating New Solids from Faces >>>