Moving Faces   

<<< Filling Holes In A Body Chapters Creating New Bodies From Existing Entities >>>

Contents

[back to top]


70.1 Introduction

This chapter describes how faces can be transformed, swept, spun or offset using Parasolid functionality.

 

Related Topics:

[back to top]


70.2 Transforming faces

PK_FACE_transform_2 transforms the geometry of sets of faces in a body. It fails if you attempt transforms on faces where no surface geometry exists. All faces in a face set must belong to the same body, so it is not possible to transform two bodies at the same time.

Figure 70-1 shows a body in which one face has been translated, and two have been rotated.

 

Figure 70-1 Transformation applied to a list of faces

PK_FACE_transform_2 allows you to perform the transformation in a variety of ways, by passing in both the following:

 

Note: This functionality offers partial support for facet geometry.

70.2.1 Creating step faces

You can use the transform_step option to choose whether to create step faces when performing rotation or translation transforms. This option provides the same functionality as is available for the function PK_FACE_change: see Section 72.4.3, “Transform options”, for a full description. Figure 70-2 shows a simple example in which a step face is created when translating a face imprinted on a block.

 

Figure 70-2 Creating step faces when transforming faces

70.2.2 Controlling the growth of overflowing faces

When features with different convexities overflow each other as a result of transformations, you can control which of the clashing features is grown to heal the model using the grow option.

Figure 70-3 shows a simple example of the effects that you can achieve using this functionality.

 

Figure 70-3 Controlling the growth of overflowing features with different convexity

This option is available in a range of different functional areas, including local operations, hollowing, and thickening. For a full description, see Section 72.5.5, “Controlling the growth of overflowing faces”.

[back to top]


70.3 Spinning or sweeping an entity

The following functions let you spin or sweep an entity as follows:

 

Function

Entity

Result

PK_BODY_spin

PK_BODY_sweep

minimal body

wire body

wire body

sheet body

sheet body

solid body

general body

general body

PK_CURVE_spin_2

PK_CURVE_sweep

curve

surface

PK_FACE_spin

PK_FACE_sweep

one or more faces of a solid or sheet body

solid body or sheet body

PK_VERTEX_spin

PK_VERTEX_sweep

end vertex of a wire body

wire body

 

Note: Except for PK_VERTEX_spin and PK_VERTEX_sweep, the functionality described in this section does not support facet geometry.

70.3.1 Direction of spin

When an entity is spun, the right hand corkscrew rule is applied to determine the direction of the spin.

 

Figure 70-4 The spin axis

70.3.2 Use of spin/sweep

It is often easiest to create a new entity to sweep or spin, rather than using an existing one. For example, when sweeping or spinning a face, you can create a face by scribing lines onto the face of a solid or sheet body to create new edges on that face. If these lines divide the existing face into several pieces, then all but one of the pieces becomes a new face. You can then sweep or spin one of the faces to extend the original solid. This technique allows you to use existing geometry to create a new entity, ensuring that the profile for the spin or sweep operation is in the right place. Figure 70-5 shows an example of this technique, in which a pocket is created on the face of a solid:

 

Figure 70-5 Scribing and sweeping to create a pocket

70.3.3 New entities from spin/sweep

When entities are spun or swept, extra faces and edges are produced.

Any new surfaces created are analytic surfaces if possible. If it is not possible to use an analytic surface then the class of the new surface depends upon the most recent call to PK_SESSION_set_swept_spun_surfs The surface may be PK_CLASS_spun or PK_CLASS_swept if allowed, otherwise it is PK_CLASS_bsurf. The current setting is returned by PK_SESSION_ask_swept_spun_surfs.

70.3.4 Effect on existing edges

The edges that were present before the operation still exist after the operation in general, though it is possible that they are translated or rotated as a consequence of the operation.

The exception to this rule occurs when PK_BODY_spin is called with a spin of 360°. If the surface that is attached to the face that is created by a spin of 360° is analytic or generated then the edges of the original body disappear. For example, this happens when a circle or ellipse is spun about an axis orthogonal to the circle or ellipse normal and the point, about which the circle or ellipse is spun, lies in the plane of the circle or ellipse.

70.3.5 Creating general bodies when spinning

When general topology is enabled in Parasolid, you can spin single faced sheet bodies that touch the spin axis at point contacts (at vertices) by 360°. This results in a general body with non-manifold vertices for every "point contact".

 

Figure 70-6 Spinning sheet bodies that touch the spin axis at point contacts

 

Note: Your application must merge out the edges of the original sheet body itself, if this is required.

For information on how to enable the creation of general topology, see Section 15.8, “Creating general bodies”.

70.3.6 Spinning B-surface geometry

When the edges and faces are not split, as shown in Figure 70-9, Parasolid represents spun B-surface geometry as rational cubics, creating one patch for each 180 degrees of spin. When this occurs the edges are split corresponding to the patch boundary between the faces, as illustrated:

 

Figure 70-7 Spinning an ellipse or circular arc, that is greater than 180 degrees, by less than 180 degrees - resulting in the edge being split

 

Figure 70-8 Spinning an ellipse or arc, that is less than 180 degrees, or B-curve by more than 180 degrees - resulting in the face being split

 

Figure 70-9 A combination of the operations in Figure 70-7 and Figure 70-8

There is still an edge with the same tag as the original edge of the body, but it may split at one or more vertices.

[back to top]


70.4 Offsetting faces

For information on offsetting operations see Chapter 58, “Offsetting”.

[back to top]

<<< Filling Holes In A Body Chapters Creating New Bodies From Existing Entities >>>