Sectioning   

<<< Instancing and Patterning Chapters Local Operations >>>

Contents

[back to top]


11.1 Introduction

This chapter explains how you section bodies using the sectioning operations available within Parasolid. The functions support sectioning with surfaces (planar or cylindrical) or sheet bodies.

The sectioning operation is similar to the boolean subtract operation, except the functions receive slightly different options and return more section related information. Apart from these differences, the rules regarding tag persistence are identical to that of the boolean operation.

[back to top]


11.2 Global sectioning

A global section is characterized by the comparison of all face pairs from the target and section entities. These section operations are supported by the PK_BODY_section_with_sheet and PK_BODY_section_with_surf functions which require one target body, one section entity and an options structure.

[back to top]

11.2.1 Sectioning with surfaces

PK_BODY_section_with_surf supports sectioning a body with a planar or cylindrical surface. The target body to be sectioned can be either a solid or sheet body. The effect is the same as subtracting a sheet tool with the same infinite surface.

This function receives an option structure which contains an option to specify whether resulting bodies in front of the sectioning tool, behind the sectioning surface or both should be returned by the function.

[back to top]

11.2.2 Sectioning with sheets

PK_BODY_section_with_sheet supports sectioning a body with a sheet body. The target body to be sectioned can be either a solid or sheet body. This function returns a non-manifold result if generalized topology is enabled. If generalized topology is not enabled and the sheet body does not section the target body completely, then the function returns an error status.

This function receives an option structure which contains an option to specify whether resulting bodies in front of the sectioning tool, behind the sectioning tool or both should be returned by the function. The option structure also has the facility for the user to specify matched topology in exactly the format as the boolean option structures.

[back to top]


11.3 Local sectioning

A local sectioning operation is characterized by the comparison of selected face pairs in the target and section bodies. This form of section is quicker than a global section but does not guarantee topological consistency on the resulting bodies.

This sectioning operation is supported by the PK_FACE_section_with_sheet function, which requires, one or more faces from the target and section bodies and an option structure.

[back to top]

11.3.1 Sectioning with faces

PK_FACE_section_with_sheet supports sectioning particular faces of a target body with faces of a sheet body. The target body to be sectioned can be either a solid or sheet body. This function does not support generalized topology.

This function is similar to PK_FACE_boolean in that it supports partial sectioning of bodies.

This function receives an option structure which is similar to the PK_FACE_boolean option structure and includes the option to specify whether resulting bodies in front of the sectioning tool, behind the sectioning tool or both should be returned by the function. The option structure also has the facility for the user to specify matched topology in exactly the format as the boolean option structures.

[back to top]


11.4 Options for sectioning

The behavior of the sectioning functions, PK_BODY_section_with_sheet (global), PK_BODY_section_with_surf (global) and PK_FACE_section_with_sheet (local) is altered via the contents of an options structure passed to these functions. The options structures for these functions are different, but overlap with respect to a number of options. The options are as follows:

 

Option Description

fence
(global & local)

determines which bodies, front and/or back, are returned when performing a section operation.

merge_imprinted
(global & local

merge all mergeable imprinted edges created and/or located by the section operation. Note, mergeable edges which are adjacent to the new section faces are not merged.

merge_new_faces
(global & local)

merge all mergeable imprinted edges created by the section operation, including edges adjacent to the new section faces.

selective_merge
(global & local)

avoid merging imprinted edges that existed and were mergeable before the start of the section operation.

check_fa
(global & local)

checks faces involved in the section operation. Only faces which are adjacent to imprinted edges are checked

default_tol
(global & local)

the default tolerance to which the section operation, if it has to, may approximate entities or assume that entities are coincident.

max_tol
(global & local)

the maximum tolerance which may be applied to any entity involved in the section operation.

extend_face_list
(local)

a local boolean receives a subset of the faces of a target body. If the imprinting phase of the boolean results in incomplete loops of imprinted edges, then additional target faces are used.

select_region
(local)

this option sub-structure is used to identify regions of the tool to be included or excluded in the boolean result. See Section 9.6, "Options for booleans" for a description of the options.

matched_region
(global & local)

this option sub-structure describes matched regions between the target and tool bodies. See Section 9.6, "Options for booleans", for a description of the options.

keep_target_edges
(global & local)

Control which edge survives when a target edge and tool edge coincide during a section operation. This can be one of:

  • PK_LOGICAL_false: The older edge (with the smallest tag) survives. This is the default.
  • PK_LOGICAL_true: The target edge survives, unless both
    • the target edge is a new edge imprinted during the boolean, and
    • the tool edge was already present

    in which case, the tool edge survives.

If both faces adjacent to the tool edge survive, then the tool edge survives, regardless of the value of this option. If generalized topology is on, the target edge always survives.

[back to top]

11.4.1 Effect of fence option in sectioning operation

The fence option controls which regions are of the sheet body are returned, for example:

Example 1:

Sectioning solid using the both fence option

 

Figure 11-1 Sectioning solid using the both fence option

 

Solid sectioned by sheet, returned entities are:

3 front bodies
1 back body
3 front faces
3 back faces

Example 2:

Sectioning solid body using the front fence option

 

Figure 11-2 Sectioning solid using the front fence option

Solid sectioned by sheet - only regions in front of the sheet body are returned, 3 front bodies and 3 front faces returned.

Example 3:

Sectioning solid body using the back fence option

 

Figure 11-3 Sectioning solid body using the back fence option

Solid sectioned by sheet - only regions in behind the sheet body are returned, 1 back body and 3 back faces returned.

[back to top]

11.4.2 Merging options in sectioning operation

Example:

Local section with 2 include regions, and fence = back

 

Figure 11-4 Merge options in sectioning operations

[back to top]

11.4.3 Geometry sharing

Using the sectioning functions may break the geometry sharing by splitting a body into two with the result that there are faces on each body that used to share a common surface. Similarly, the functions may also create geometry sharing of the section surface in one of the bodies, and the sharing of a copy of it in the other body.

[back to top]

<<< Instancing and Patterning Chapters Local Operations >>>