![]() |
SECTBY |
Equivalent PK functions: |
PK_BODY_section_with_sheet PK_BODY_section_with_surf PK_FACE_section_with_sheet |
SECTBY ( bodies, surfac, front, back, newfas, nfaces, ifail ) ============================================================= Section bodies Receives: KI_tag_list_body *bodies --- body or list of bodies --- to be sectioned KI_tag_surface *surfac --- sectioning surface Returns: KI_tag_list_body *front --- bodies in front of surface KI_tag_list_body *back --- bodies behind surface KI_tag_list_face *newfas --- new faces <KI_int_nitems> *nfaces --- number of faces in 'newfas' KI_cod_error *ifail --- failure code Specific errors: KI_invalid_bodies Boolean failure or invalid bodies KI_partial_coi_found Boolean failure due to partial coincidence KI_wrong_surface Surface not plane, cylinder KI_wire_body A body is a wire body KI_missing_geom A body has incomplete geometry KI_non_manifold Non-manifold result KI_unsuitable_entity mixed body KI_general_body general body Description: The given bodies are sectioned with the given surface, which may be planar or cylindrical. When the section surface intersects with a body, this body will be split (by the section surface) into two or more parts. The resulting bodies are sorted into two lists: those in front of the section surface (on the side to which the surface normal points) and those behind it. They are returned in the lists 'front' and 'back' respectively. A list of the new faces created is also returned, in the list 'newfas'. All these faces will lie in the sectioning surface. For each body in 'bodies', all assemblies that instanced the body will now instance all the pieces of the body. Any bodies unaffected by the sectioning operation will be left unchanged, but will be put into one or other of the 'front' or 'back' lists as appropriate. After a successful sectioning operation, any of the lists 'front', 'back' and 'newfas' may be returned as empty lists, but not null. This function does not support general bodies.