PK_ERROR_code_t PK_BODY_section_with_surf ( --- received arguments --- PK_BODY_t target, --- Body to be sectioned by surface PK_SURF_t surface, --- Sectioning surface const PK_BODY_section_o_t *options, --- Sectioning options --- returned arguments --- PK_section_r_t *const results --- front/back faces/bodies ) This function sections the target body with the tool surface. Specific Errors: PK_ERROR_contradictory_request Bad combination of options or data for type of boolean PK_ERROR_missing_geom Target or tool has incomplete geometry PK_ERROR_wrong_surface Surface not a plane or cylinder PK_ERROR_wire_body Target or tool is a wire body PK_ERROR_partial_coi_found Boolean failure due to to partial coincidence PK_ERROR_non_manifold Non-manifold result PK_ERROR_boolean_failure Inconsistent arguments, or internal error PK_ERROR_general_body Target or tool is general body Introduction The given target body is sectioned with the given tool surface. The tool surface may be planar or cylindrical. When the section surface intersects with the target body, the body will be split, by the section surface, into two or more parts. The resulting bodies are split into two lists, those in front of the section surface and those behind it. These bodies are returned in the front_bodies and back_bodies arrays of the results structure. All new faces associated with these bodies which lie in the sectioning surface are returned in the front_faces and back_faces arrays of the results structure. The front of the section surface is regarded as the side to which the surface normal points. Any body unaffected by the sectioning operation will be left unchanged, but will be put into the appropriate array within the results structure. The operation of the surface sectioning function may be controlled via an option structure passed to the function as an input argument. This function operates similarly to the PK_BODY_boolean function, especially with regard to the phases of the boolean algorithm, rules concerning tag persistence and error reporting. Refer to the PK_BODY_boolean documentation for information about these subjects. Section Options The function can be instructed, via the fence option, to : o Only calculate the bodies and faces in front of the section surface. o Only calculate the bodies and faces behind the section surface. o Calculate the bodies and faces in front and behind the section surface. Returned Arguments Refer to the PK_section_r_t documentation for information about the arrays returned in the results structure. Function Restrictions The following restrictions apply to surface sectioning operations : o The section surface may only be planar or cylindrical. o This function does not support general bodies. Option Restrictions The following options within the input options are ignored by this function : o check_fa o default_tol o max_tol o tracking