PK Reference   

Part 1 Part 2
  1. PK Interface Functions - see list below.
  1. Function Exclusivity
  1. PK Function Compound Body Support
  1. Facet Geometry Support
  1. List of Deprecated Functions
  1. Function Availability In Sales Packages
  1. PK Interface Structures - see the list of functions below.
    Structures are linked from their related functions, and typedefs are linked wherever they are used.
  1. PK Token Codes (Numeric)
  2. PK token Codes with descriptions (Numeric)
  3. PK token Codes (Alphabetic)
  4. PK token Codes with descriptions (Alphabetic)
  5. PK Error Codes (Numeric)
  6. PK Error Codes with descriptions (Numeric)
  7. PK Error Codes (Alphabetic)
  8. PK Error Codes with descriptions (Alphabetic)
  9. PK Error Codes (Functional)

Hide descriptions of functions

Show deprecated functions

  1. PK Interface Functions (sorted by Class)

PK_APPITEM

PK_APPITEM_ask

returns the 'pointers' referred to by the given 'appitems'
PK_APPITEM_createcreates 'appitems' to refer to the given 'pointers'
PK_APPITEM_deletedeletes the given 'appitems'
PK_APPITEM_isreturns PK_LOGICAL_true if its argument is an appitem
PK_APPITEM_reset_pointersoverwrites the pointers referred to by the given 'appitems' with the given 'pointers'

[back to top]

PK_ASSEMBLY

PK_ASSEMBLY_ask_instances

returns the instances in an assembly
PK_ASSEMBLY_ask_partsreturns the parts in an assembly
PK_ASSEMBLY_ask_parts_transfsreturns the parts in an assembly, together with their associated transforms
PK_ASSEMBLY_checkchecks the given assembly
PK_ASSEMBLY_create_emptycreates an empty assembly
PK_ASSEMBLY_make_level_assemblycreates a new assembly which contains, for each path from the given assembly to a body contained in it, an instance of that body with a transform equal to the product of the transforms attached to instances along the path
PK_ASSEMBLY_transformtransforms an assembly by transforming its top-level instances

[back to top]

PK_ATTDEF

PK_ATTDEF_ask

writes the standard form of an attribute definition at the given address
PK_ATTDEF_ask_2writes the standard form of an attribute definition at the given address
PK_ATTDEF_ask_callback_flagsreturns the attribute callback flags associated with 'attdef'
PK_ATTDEF_ask_callbacksreturns the attribute callback functions associated with 'attdef'
PK_ATTDEF_createcreates an attribute definition from the given standard form
PK_ATTDEF_create_2creates an attribute definition from the given standard form
PK_ATTDEF_findreturns the attribute definition that has the given name
PK_ATTDEF_is_group_closingasks whether the given 'attdef' is a group closing attribute definition
PK_ATTDEF_register_cbregisters a set of callback functions to be called when entities with attributes with definition 'attdef' undergo certain events
PK_ATTDEF_set_callback_flagsfunctions set the callback function on/off flags associated with 'attdef'
PK_ATTDEF_set_group_closingsets the given 'attdef' to be a group closing attribute definition

[back to top]

PK_ATTRIB

PK_ATTRIB_ask_attdef

returns the attribute definition of the given attribute
PK_ATTRIB_ask_axesreturns the array of axes from field 'field_no' of the given attribute
PK_ATTRIB_ask_doublesreturns the array of doubles from field 'field_no' of the given attribute
PK_ATTRIB_ask_intsreturns the array of integers from field 'field_no' of the given attribute
PK_ATTRIB_ask_named_axesreturns the array of axes from field 'field_name' of the given attribute
PK_ATTRIB_ask_named_doublesreturns the array of doubles from field 'field_name' of the given attribute
PK_ATTRIB_ask_named_intsreturns the array of integers from field 'field_name' of the given attribute
PK_ATTRIB_ask_named_pointersreturns the array of pointers from field 'field_name' of the given attribute
PK_ATTRIB_ask_named_stringreturns the character string stored in field 'field_name' of the given attribute
PK_ATTRIB_ask_named_ustringreturns the Unicode string stored in field 'field_name' of the given attribute
PK_ATTRIB_ask_named_vectorsreturns the array of vectors from field 'field_name' of the given attribute
PK_ATTRIB_ask_no_rollasks whether the input attributes have the no-roll property
PK_ATTRIB_ask_nth_axisreturns a single element of the axis array from field 'field_no' of the given attribute
PK_ATTRIB_ask_nth_doublereturns a single element of the double array from field 'field_no' of the given attribute
PK_ATTRIB_ask_nth_intreturns a single element of the integer array from field 'field_no' of the given attribute
PK_ATTRIB_ask_nth_pointerreturns a single element of the pointer array from field 'field_no' of the given attribute
PK_ATTRIB_ask_nth_vectorreturns a single element of the vector array from field 'field_no' of the given attribute
PK_ATTRIB_ask_ownerreturns the owner of an attribute
PK_ATTRIB_ask_pointersreturns the array of pointers from field 'field_no' of the given attribute
PK_ATTRIB_ask_stringreturns the character string stored in field number 'field_no' of the given attribute
PK_ATTRIB_ask_ustringreturns the Unicode string stored in field number 'field_no' of the given attribute
PK_ATTRIB_ask_vectorsreturns the array of vectors from field 'field_no' of the given attribute
PK_ATTRIB_create_emptycreates an attribute with the given definition with no data (all fields of length zero), and attaches it to the given entity
PK_ATTRIB_set_axescopies 'axes' into field number 'field_no' of the given attribute
PK_ATTRIB_set_doublescopies 'doubles' into field number 'field_no' of the given attribute
PK_ATTRIB_set_intscopies 'ints' into field number 'field_no' of the given attribute
PK_ATTRIB_set_named_axescopies 'axes' into field 'field_name' of the given attribute
PK_ATTRIB_set_named_doublescopies 'doubles' into field 'field_name' of the given attribute
PK_ATTRIB_set_named_intscopies 'ints' into field 'field_name' of the given attribute
PK_ATTRIB_set_named_pointerscopies 'pointers' into field 'field_name' of the given attribute
PK_ATTRIB_set_named_stringcopies 'string' into field 'field_name' of the given attribute
PK_ATTRIB_set_named_ustringcopies Unicode 'string' into field 'field_name' of the given attribute
PK_ATTRIB_set_named_vectorscopies 'vectors' into field 'field_name' of the given attribute
PK_ATTRIB_set_no_rollsets the given attributes to be no-roll attributes
PK_ATTRIB_set_pointerscopies 'pointers' into field number 'field_no' of the given attribute
PK_ATTRIB_set_stringcopies 'string' into field number 'field_no' of the given attribute
PK_ATTRIB_set_ustringcopies Unicode 'string' into field number 'field_no' of the given attribute
PK_ATTRIB_set_vectorscopies 'vectors' into field number 'field_no' of the given attribute

[back to top]

PK_BB

PK_BB_ask

returns the standard form of the bulletin board
PK_BB_ask_statusreturns the status of the bulletin board
PK_BB_createcreates the bulletin board from its standard form
PK_BB_isreturns whether the received argument is a bulletin board
PK_BB_is_emptyreturns PK_LOGICAL_true if the Bulletin Board is off, or on and empty (i
PK_BB_output_eventsoutputs the events stored in the bulletin board
PK_BB_set_statussets the status of a bulletin board

[back to top]

PK_BCURVE

PK_BCURVE_add_knot

modifies the given 'bcurve' by inserting a knot at the given split parameter
PK_BCURVE_askreturns the standard form for a b-curve
PK_BCURVE_ask_knotsreturns the uniques knots and the multiplicities of a given B-curve
PK_BCURVE_ask_piecewisereturns the piecewise standard form for a b-curve
PK_BCURVE_ask_splinewisereturns the splinewise standard form of a b-curve
PK_BCURVE_clamp_knotsmodifies the given 'bcurve' by clamping its knotset to have bezier end conditions
PK_BCURVE_createcreates a b-curve from the standard form
PK_BCURVE_create_by_fittingcreates a set of bcurves by curve-fitting to within a tolerance
PK_BCURVE_create_fittedcreates a B-curve by fitting a curve to within a tolerance
PK_BCURVE_create_piecewisecreates a b-curve from its piecewise standard form
PK_BCURVE_create_spline_2creates one or more B-curves by splining through a set of positions, with optional parameters and derivatives
PK_BCURVE_create_splinewisecreates a b-curve from its splinewise standard form
PK_BCURVE_extendextends a bcurve
PK_BCURVE_find_g1_discontinuityfinds G1 discontinuities on a B-curve
PK_BCURVE_joincreates a new 'bcurve' by joining together a sequence of 'bcurves'
PK_BCURVE_lower_degreemodifies the given 'bcurve' by reducing its degree by the specified 'decrement'
PK_BCURVE_make_bsurf_loftedcreates a bsurf by lofting through a set of bcurves
PK_BCURVE_make_matchedtakes 'bcurves' and creates a new set of curves 'matched' which are identical in shape to the original curves, but whose knot sets are all the same as each other
PK_BCURVE_raise_degreemodifies the given 'bcurve' by raising its degree by 'increment'
PK_BCURVE_remove_knotsmodifies the given 'bcurve' by removing knots
PK_BCURVE_reparameteriseperforms a rescaling and translation of the knot vector of the B-curve
PK_BCURVE_spinspins a 'bcurve' into a 'bsurf'
PK_BCURVE_sweepsweeps a 'bcurve' into a 'bsurf'

[back to top]

PK_BLENDSF

PK_BLENDSF_ask

returns the standard form of a rolling ball blend surface

[back to top]

PK_BODY

PK_BODY_add_to_compound

adds 'bodies' to an existing 'compound' body, so they become child bodies with the compound body as their parent
PK_BODY_apply_knit_patternassembles a composite sheet or solid body by merging paired edge in the knit pattern does not support facet geometry [NF]
PK_BODY_ask_childrenif 'body' is a compound body, this function returns its child bodies
PK_BODY_ask_componentsreturns the components of the given body
PK_BODY_ask_configthe function returns the body configuration, which is described in the documentation of PK_BODY_config_t
PK_BODY_ask_curve_nmnl_statereturns whether nominal curves are enabled for the 'body'
PK_BODY_ask_edgesreturns the set of edges in the given body
PK_BODY_ask_facesreturns the set of faces in the given 'body'
PK_BODY_ask_finsreturns the set of fins in the given body
PK_BODY_ask_first_edgereturns an edge in the given body, if one exists, otherwise PK_ENTITY_null
PK_BODY_ask_first_facereturns a face in the given body, if one exists, otherwise PK_ENTITY_null
PK_BODY_ask_loopsreturn the set of loops in the given body
PK_BODY_ask_memory_usagereturns the amount of memory currently occupied by the body's data structures
PK_BODY_ask_parentreturns the compound body containing 'body', if any
PK_BODY_ask_regionsreturns the regions of the given body
PK_BODY_ask_shellsreturns the set of shells in the given body
PK_BODY_ask_topologyreturns a definition of the topology of a body
PK_BODY_ask_typeclassifies the given body
PK_BODY_ask_verticesreturns the set of vertices in the given body
PK_BODY_boolean_2performs a boolean operation between the target body and the list of tool bodies
PK_BODY_change_partitionmoves the given body and the entities within it into the given partition, without changing their tags
PK_BODY_checkchecks the given body
PK_BODY_contains_vectordetermines whether the point represented by the given position vector lies inside, outside, or on the boundary of the given body
PK_BODY_copy_topologyproduces a new body which is a copy of the given body, with no geometry being copied
PK_BODY_create_sheet_circlecreates a circular sheet
PK_BODY_create_sheet_planarcreates a planar sheet whose boundary is an irregular polygon
PK_BODY_create_sheet_polygoncreates a polygonal sheet
PK_BODY_create_sheet_rectanglecreates a sheet rectangle
PK_BODY_create_solid_blockcreates a solid block
PK_BODY_create_solid_conecreates a solid cone
PK_BODY_create_solid_cylcreates a solid cylinder
PK_BODY_create_solid_prismcreates a solid prism
PK_BODY_create_solid_spherecreates a solid sphere
PK_BODY_create_solid_toruscreates a solid torus
PK_BODY_create_topology_2creates the topology of a general body
PK_BODY_disjoindivides the target body into one or more disjoint bodies, each of which represents a connected point-set
PK_BODY_embed_in_surfconstructs the representation of a sheet body in the parameter space of its existing surface and embeds that in the parameter space of a new surface
PK_BODY_embosscreates emboss features on the target body
PK_BODY_enlargecreates a new body by enlarging the body by the given factor
PK_BODY_extendwill extend a body across a set of laminar boundary edges
PK_BODY_extrudecreates a new body by performing a linear extrusion of a given profile
PK_BODY_fill_holewill fill a hole in a body or collection of bodies with a set of faces
PK_BODY_find_extremefinds the extreme point on the given 'body' in 'direction_1'
PK_BODY_find_facesets finds all the facesets on the body and splits those that are divided by the input edges into smaller facesets
PK_BODY_find_knit_patternconstructs a knitting pattern by matching and splitting coincident edges, then pairing them off into corresponding entries in two edge arrays
PK_BODY_find_laminar_edgesreturns the laminar edges in the given body
PK_BODY_fix_blendschanges any edges of the given body which have had blends set on them by the PK_EDGE_set_blend_ functions, into faces with the appropriate surface geometry
PK_BODY_hollow_2hollows a solid body by offsetting all faces of the body by the given offset distance NOTE : This function supersedes PK_BODY_hollow
PK_BODY_identify_detailsidentifies classic or rubber details in the given 'body' of the types specified in 'details'
PK_BODY_identify_facesets identifies surviving facesets, given matching edges on the target and tool bodies
PK_BODY_identify_generalidentifies characteristics of a general body which require it to be of type PK_BODY_type_general_c
PK_BODY_imprint_bodyimprints edges on the given target and tool bodies
PK_BODY_imprint_curveimprints a curve onto a body, thereby creating a new edge or edges
PK_BODY_imprint_cus_shadowtakes the given bodies and splits their faces into portions which are completely visible in the given view direction by imprinting the 'shadow' curves cast by overlapping faces in front
PK_BODY_imprint_faces_2imprints edges on the given target body and tool faces
PK_BODY_imprint_plane_2intersects the supplied plane with the faces of the body and imprints edges and vertices at the intersections
PK_BODY_intersect_bodiesperforms a boolean intersect operation between the target body and the list of tool bodies
PK_BODY_knitassembles a body by merging paired topols from the 'topols' and 'matches' array
PK_BODY_make_compoundcreates a compound body containing 'bodies'
PK_BODY_make_curves_outlineoutputs one or more outlines of a body or bodies for a given view direction as a set of ordered curves together with their intervals
PK_BODY_make_facet_bodyproduces a new body which is a copy of the given body with its geometry replaced with facet geometry generated using the supplied options
PK_BODY_make_lofted_bodycreates a sheet or solid body based on surfaces created by lofting through a set of sheet, wire or minimum body profiles
PK_BODY_make_manifold_bodiesbreaks a body into manifold pieces
PK_BODY_make_patternedcreates a body made of patterned repetitions of the given body
PK_BODY_make_persp_outlineproduces outlines for viewing bodies of type PK_BODY_type_solid_c or PK_BODY_type_sheet_c from the 'eye_position', to give a perspective view
PK_BODY_make_sectiongenerates sections of target bodies using set of tool bodies
PK_BODY_make_section_with_surfsgenerates sections of target bodies using set of tool surfaces
PK_BODY_make_spun_outlineoutputs one or more outlines of a body or bodies for a given spin axis as a set of ordered curves together with their intervals
PK_BODY_make_swept_body_2creates a sheet or solid body by sweeping a set of wire or sheet profiles along a wire path
PK_BODY_make_swept_toolcreates a solid body by sweeping a solid tool body along a wire path
PK_BODY_offset_2offsets faces of a solid or sheet body
PK_BODY_offset_planar_wireoffsets a planar wire body in the plane by a specified distance
PK_BODY_pick_topolspick entities from an array of body instances by their proximity to a line
PK_BODY_remove_from_parentsremoves the given child bodies from their parents
PK_BODY_repair_shellsattempts to repair the shell and region structure of the given 'body'
PK_BODY_reverse_orientationreverses the orientation of a body
PK_BODY_section_with_sheet_2sections the target body with the tool sheet body
PK_BODY_section_with_surfsections the target body with the tool surface
PK_BODY_set_curve_nmnl_statesets whether nominal curves are enabled for the 'body'
PK_BODY_set_typetries to change the type of the body (e
PK_BODY_sew_bodiesattempts to sew the received bodies together where they have edges common to within a given tolerance upper bound
PK_BODY_share_geomattempts to reduce the size of a part by sharing geometry
PK_BODY_simplify_geomsimplifies the classic geometry of a body where possible
PK_BODY_spinspins a minimum body into a wire body, a wire body into a sheet body, a sheet body into a solid body or a general body into a general body
PK_BODY_subtract_bodiesperforms a boolean subtract operation between the target body and the list of tool bodies
PK_BODY_sweepsweeps a minimum body into a wire body, a wire body into a sheet body, a sheet body into a solid body or a general body into a general body
PK_BODY_taperapplies two-sided tapering to the 'body' parted by the 'parting_body'
PK_BODY_thicken_3thickens a sheet body into a solid body
PK_BODY_transform_2transforms the given body by the given transformation
PK_BODY_trimtrims the 'body' which must be a sheet
PK_BODY_trim_gap_analysisfinds gaps in the edges supplied to a failed trim operation
PK_BODY_trim_neutral_sheets_2trims the neutral sheets in accordance with their pairs of face sets
PK_BODY_unite_bodiesperforms a boolean unite operation between the target body and the list of tool bodies

[back to top]

PK_BSURF

PK_BSURF_add_u_knot

modifies the given 'bsurf' by inserting a knot at the given 'u' split parameter
PK_BSURF_add_v_knotmodifies the given 'bsurf' by inserting a knot at the given 'v' split parameter
PK_BSURF_askreturns the standard form for a b_surface
PK_BSURF_ask_knotsreturns the unique knots and the multiplicities of a given B-surface
PK_BSURF_ask_piecewisereturns the piecewise standard form for a b-surface
PK_BSURF_ask_splinewisereturns the splinewise standard form of a b-surface
PK_BSURF_clamp_knotsmodifies the given 'bsurf' by clamping its knotset to have bezier end conditions
PK_BSURF_createcreates a b-surface from the standard form
PK_BSURF_create_constrainedcreates a constrained B-surface
PK_BSURF_create_fittedcreates a B-surface by fitting an input surface to within a tolerance
PK_BSURF_create_piecewisecreates a b-surface from a piecewise standard form
PK_BSURF_create_splinewisecreates a b-surface from its splinewise standard form
PK_BSURF_find_g1_discontinuityfinds G1 discontinuities on a B-surface
PK_BSURF_lower_degreemodifies the given 'bsurf' by reducing its 'u_or_v' degree by 'decrement'
PK_BSURF_raise_degreemodifies the given 'bsurf' by raising its 'u_or_v' degree by 'increment'
PK_BSURF_remove_knotsmodifies the given 'bsurf' by removing knots in the parameter direction given by 'u_or_v'
PK_BSURF_reparameteriseperforms a general U,V reparameterisation of the received 'bsurf', including options to transpose, reverse or rescale the U,V directions

[back to top]

PK_CIRCLE

PK_CIRCLE_ask

writes the standard form of a circle at the given address
PK_CIRCLE_createcreates a circle from the given standard form

[back to top]

PK_CLASS

PK_CLASS_ask_superclass

return the class token of the given class's immediate superclass
PK_CLASS_is_subclassreturns whether 'may_be_subclass' is a subclass of 'class'

[back to top]

PK_CONE

PK_CONE_ask

returns the standard form of the given cone
PK_CONE_createcreates a cone from the given standard form
PK_CONE_make_solid_bodycreates a solid body from a conical surface

[back to top]

PK_CURVE

PK_CURVE_ask_edges

returns the set of accurate edges to which the given curve is attached
PK_CURVE_ask_edges_nmnlreturns the set of edges to which the given curve is attached, either as the curve of an accurate edge or as the nominal curve of a tolerant edge
PK_CURVE_ask_finreturns the fin to which the given curve is attached, if there is one, otherwise PK_ENTITY_null
PK_CURVE_ask_intervalreturns an interval indicating the parametric bounds of the given curve
PK_CURVE_ask_paramreturns information about the parameterisation of the given curve
PK_CURVE_ask_parm_differentreturns true if the curve has a different parametrisation at the PK than at the KI
PK_CURVE_ask_partreturns the part which owns the given curve, if there is one, otherwise PK_ENTITY_null
PK_CURVE_convert_parm_to_kiconverts pk parameters on the given curve, to ki parameters
PK_CURVE_convert_parm_to_pkconverts ki parameters on the given curve, to pk parameters
PK_CURVE_embed_in_surf_2creates one or more spcurves by embedding a b-spline representation of a specified section of a curve in parameter space (or the Z=0 plane) into the parameter space of a given surface
PK_CURVE_evalevaluates a point and derivatives at a given parameter on the given curve
PK_CURVE_eval_curvaturecalculates the tangent, principal normal, binormal and curvature of a 'curve' at the given parametric position
PK_CURVE_eval_curvature_handedbehaves like PK_CURVE_eval_curvature but takes an additional direction argument
PK_CURVE_eval_handedthe function behaves like PK_CURVE_eval but takes an additional argument to control the direction of the evaluation
PK_CURVE_eval_with_tan_handedbehaves like PK_CURVE_eval_with_tangent but takes an additional direction argument
PK_CURVE_eval_with_tangentevaluates a point, derivatives and tangent at a given parameter on the given curve
PK_CURVE_find_boxreturns a BOX which bounds the given curve
PK_CURVE_find_degensfinds degeneracies on the given curve
PK_CURVE_find_discontinuityinterface function permits a user to query any standard curve type for either analytic or geometric discontinuities of levels 1 through 3
PK_CURVE_find_lengthevaluates the arc length of that part of the given curve specified by the given parametric interval
PK_CURVE_find_min_radiusfinds the minimum radius of curvature of the given curve, its position and parameter
PK_CURVE_find_non_aligned_boxcomputes a non axis-aligned box bounding a portion of the given curve
PK_CURVE_find_self_intfinds self-intersections in the given curve
PK_CURVE_find_surfs_commonfinds pairs of surfaces which have the given curve in common
PK_CURVE_find_vector_intervalreturns the parameter interval of a curve bounded by two position vectors lying on the curve
PK_CURVE_find_vectorsreturns position vectors on the supplied curve given measurements in 3-space
PK_CURVE_fix_degensattempts to fix degeneracies on the given curve
PK_CURVE_fix_self_intattempts to fix self-intersections in the given curve
PK_CURVE_intersect_curvePK_CURVE_intersect_curve finds the intersections between specified regions of two curves
PK_CURVE_is_isoparamtests whether a bounded curve lying within a surface is a constant-parameter curve (i
PK_CURVE_make_approxcreates a curve which is an arc length parametrised approximation to a supplied curve
PK_CURVE_make_bcurve_2creates a B-curve which is coincident with the given parametric 'range' of the given 'curve'
PK_CURVE_make_bcurve_arraygiven an array of curves and intervals this function creates B-curves that satisfy the 'options' specified
PK_CURVE_make_curve_reversedmakes a new curve which is coincident with the given 'curve' but whose parameter increases in the opposite direction along the curve
PK_CURVE_make_helical_surfcreates a helix, tapered helix or spiral surface by sweeping a part of a curve about an axis
PK_CURVE_make_spcurves_2creates an SP-curve representation of a curve which lies, possibly approximately, in a surface
PK_CURVE_make_surf_isoclinemakes an isocline surface 'surf' which passes through the given 't_interval' of the given 'curve'
PK_CURVE_make_wire_body_2creates a wire body from an array of curves and intervals
PK_CURVE_output_vectorsoutputs position vectors along a curve
PK_CURVE_parameterise_vectorfind parameter of point on curve
PK_CURVE_projectprojects and/or imprints the supplied curves onto the given target entities
PK_CURVE_spin_2spins a curve to form a surface
PK_CURVE_sweepsweeps a curve to form a surface

[back to top]

PK_CYL

PK_CYL_ask

returns the standard form of the given cylinder
PK_CYL_createcreates a cylinder from the given standard form
PK_CYL_make_solid_bodycreates a solid body from a cylindrical surface

[back to top]

PK_DEBUG

PK_DEBUG_behaviours_start

initialises and starts the debug of the behaviours mechanism
PK_DEBUG_behaviours_stopstops the debug of the behaviours mechanism
PK_DEBUG_body_compare
PK_DEBUG_body_extract_data
PK_DEBUG_receivereceives a transmit file and extracts any additional data, if no data is associated, the function will return PK_ERROR_no_data
PK_DEBUG_report_commentwrites a comment to the debug report file
PK_DEBUG_report_startinitialises and starts the output of debug information
PK_DEBUG_report_stopstops the output of debug information for PK functions
PK_DEBUG_session_check
PK_DEBUG_session_watch_classes
PK_DEBUG_session_watch_fns
PK_DEBUG_session_watch_items
PK_DEBUG_shuffle_startinitialises and starts the shuffling of return array arguments for some PK functions
PK_DEBUG_shuffle_stopstops the shuffling of return array arguments
PK_DEBUG_transmitsaves additional data to a transmit file
PK_DEBUG_try_error_handlercalls the supplied function with the supplied context from within executing Parasolid

[back to top]

PK_DELTA

PK_DELTA_register_callbacks

registers the partitioned rollback frustrum, and switches on partitioned rollback

[back to top]

PK_EDGE

PK_EDGE_ask_blend

returns information about the blend on a given edge if any
PK_EDGE_ask_bodyreturns the body which contains the given edge
PK_EDGE_ask_convexitythe function returns the convexity of the given edge
PK_EDGE_ask_curvereturns the curve of the given edge, if it has one, otherwise PK_ENTITY_null
PK_EDGE_ask_curve_nmnlreturns the nominal curve of the given 'edge', if it has one, otherwise PK_ENTITY_null
PK_EDGE_ask_facesreturns the set of faces which contain the given edge
PK_EDGE_ask_finsreturns an ordered list of fins connected to the given edge
PK_EDGE_ask_first_finreturns the first fin belonging to the given edge
PK_EDGE_ask_geometryreturns the geometry of an edge
PK_EDGE_ask_geometry_nmnlreturns the nominal geometry of an edge, if present
PK_EDGE_ask_next_in_bodyreturns the next edge in the body which contains the given edge
PK_EDGE_ask_oriented_curvereturns the curve and orientation of the given edge
PK_EDGE_ask_precisionreturns the 'precision' of the given 'edge'
PK_EDGE_ask_shellsreturns the set of shells which contain the given edge
PK_EDGE_ask_typeclassifies the given edge according to whether it is (a) open, closed, or a ring
PK_EDGE_ask_verticesreturns the vertices bounding the given edge
PK_EDGE_attach_curve_nmnlattaches the 'curve' provided to the 'edge' as a nominal curve
PK_EDGE_attach_curves_2attaches curves to edges
PK_EDGE_checkchecks the given edge
PK_EDGE_contains_vectordetermines whether the given position vector coincides with the given edge
PK_EDGE_deletedeletes the given set of edges
PK_EDGE_delete_wireframedeletes the given wireframe edges
PK_EDGE_detach_curve_nmnldetaches the nominal curve from a tolerant 'edge' if it has one
PK_EDGE_euler_close_zip'zips' two edges together by merging the vertices at either end
PK_EDGE_euler_delete_make_loopdeletes an edge from a loop splitting it into two loops
PK_EDGE_euler_delete_ring_facedeletes a ring edge and a face
PK_EDGE_euler_delete_ring_loopdeletes a bi-wire ring edge and its loops
PK_EDGE_euler_delete_with_facedeletes an edge and merges two faces and loops into one
PK_EDGE_euler_delete_with_loopdeletes an edge and merges loops of the same face into one
PK_EDGE_euler_merge_verticesdeletes an edge by merging its vertices
PK_EDGE_euler_open_zipsplits an edge lengthwise, replacing it with two edges joined at one end
PK_EDGE_euler_slitreplaces an edge by a 2-edge face
PK_EDGE_euler_splitsplits an edge by adding a vertex
PK_EDGE_find_deviation_2finds distance samples between the two edges
PK_EDGE_find_end_tangentsfinds the end positions of an edge and the edge tangents at those positions
PK_EDGE_find_extremefinds the extreme point on the given 'edge' in 'direction_1'
PK_EDGE_find_g1_edgesreturns the set of tangent edges for a given edge
PK_EDGE_find_intervalcomputes the parameter interval of the curve, to which the edge corresponds
PK_EDGE_imprint_pointimprints a point onto an edge, thereby creating a new vertex
PK_EDGE_is_planardetects whether an edge lies in a plane
PK_EDGE_is_smoothchecks whether the edge passed to it in 'edge' is smooth according to the angular criterion passed in 'max_angle'
PK_EDGE_make_curvemakes a single continuous curve from a set of edges to a given tolerance
PK_EDGE_make_faces_from_wireattaches faces to closed loops of wireframe edges in a body
PK_EDGE_make_wire_bodycreates a wire body from a collection of existing edges
PK_EDGE_offset_on_bodyoffsets a set of edges in the faces of their body
PK_EDGE_optimisegiven a tolerant edge, this function attempts to set a tolerance on the edge that lies between the maximum deviation and the desired upper bound
PK_EDGE_propagate_orientationorientates the edges of a wire body to be in the same direction as the given edge
PK_EDGE_remove_blendremoves an unfixed blend from the given edge
PK_EDGE_remove_to_bodiesseparates a body into two or more bodies by selecting wire edges which are to be removed into new bodies
PK_EDGE_repairattempts to repair an array of edges
PK_EDGE_reset_precision_2attempts to reset the precision of the given 'edge' to the session precision: that is to make Parasolid regard the edge as exact
PK_EDGE_reverse_2reverses the given edges and their associated geometry
PK_EDGE_set_blend_chainsets a blend defined over an entire chain of edges
PK_EDGE_set_blend_chamfersets edges to have a chamfer blend
PK_EDGE_set_blend_constantsets edges to have a constant 'radius' blend
PK_EDGE_set_precision_2sets the 'precision' of the given 'edge'
PK_EDGE_split_at_paramsplits an edge at the given parameter

[back to top]

PK_ELLIPSE

PK_ELLIPSE_ask

writes the standard form of an ellipse at the given address
PK_ELLIPSE_createcreates an ellipse from the given standard form

[back to top]

PK_ENTITY

PK_ENTITY_ask_attribs

returns all the attributes with the given attribute definition directly attached to the given entity
PK_ENTITY_ask_classreturns the given entity's concrete class
PK_ENTITY_ask_descriptionreturns a textual description of Parasolid's internal representation of a PK entity
PK_ENTITY_ask_first_attribreturns an attribute with the given attribute definition attached to the given entity
PK_ENTITY_ask_identifierreturns the identifier of an entity within a part
PK_ENTITY_ask_owning_groupsreturns the set of groups of which the given entity is a member
PK_ENTITY_ask_owning_groups_2returns the set of 'groups' of which the given 'entity' is a member and which satisfy the conditions defined in the options structure
PK_ENTITY_ask_partitionreturns the partition containing the given entity
PK_ENTITY_ask_user_fieldreturns the user field values for the given entity
PK_ENTITY_check_attribschecks the system attributes attached to the given entity, and returns information concerning the faulty attributes found, if any
PK_ENTITY_copy_2produces a new entity which is a copy of the given entity
PK_ENTITY_deletedeletes the given entities
PK_ENTITY_delete_attribsdeletes any attributes with the given definition directly attached to the given entity
PK_ENTITY_find_reparamidentifies classic geometries, associated with the entities received in 'entities', for which the reliability of Parasolid operations could be improved by modifying their parameterisation
PK_ENTITY_isreturns whether the given argument is an entity
PK_ENTITY_is_curvereturns whether the given entity is a curve
PK_ENTITY_is_geomreturns whether the given entity is geometry
PK_ENTITY_is_partreturns whether the given entity is a part
PK_ENTITY_is_surfreturns whether the given entity is a surface
PK_ENTITY_is_topolreturns whether the given entity is topology
PK_ENTITY_may_own_attdefreturns PK_LOGICAL_true if an attribute constructed from the given attribute definition could be attached to the given entity, otherwise PK_LOGICAL_false
PK_ENTITY_rangefinds the global minimum/maximum separation between two arrays of entities
PK_ENTITY_range_vectorfinds the global minimum separation between an array of entities and an array of positions
PK_ENTITY_set_user_fieldsets the user field values for the given entity

[back to top]

PK_ERROR

PK_ERROR_ask_callbacks

returns the application error handler for the session, (if one is registered), or NULL
PK_ERROR_ask_lastreturns the standard form of the most recent PK error
PK_ERROR_clear_lastclears the most recent PK error
PK_ERROR_raiseraises a PK-format error
PK_ERROR_register_callbacksregisters the given application error handler for the session
PK_ERROR_reraiserepeats the most recent PK error

[back to top]

PK_FACE

PK_FACE_ask_body

returns the body which contains the given face
PK_FACE_ask_edgesreturns the set of edges in the given face
PK_FACE_ask_faces_adjacentreturns all faces which are immediately adjacent to the given array of faces
PK_FACE_ask_first_loopreturns the first loop in the given face
PK_FACE_ask_loopsreturns the set of loops bounding the given face
PK_FACE_ask_next_in_bodyreturns the next face in the body which contains the given face
PK_FACE_ask_oriented_surfreturns the surface and orientation of the given face
PK_FACE_ask_shellsreturns the shells of the given face
PK_FACE_ask_surfreturns the surface of the given face, if there is one, otherwise PK_ENTITY_null
PK_FACE_ask_verticesreturns the set of vertices in the given face
PK_FACE_attach_surf_fittingcreates a surface to fit and attach to face
PK_FACE_attach_surfsattaches surfaces to faces
PK_FACE_boolean_2performs a boolean operation between the list of faces of a target body and the list of faces of a tool body
PK_FACE_changechanges the given faces by applying the related given operation to each of them
PK_FACE_checkchecks the given face
PK_FACE_check_pairchecks the given pair of faces
PK_FACE_classify_detailsclassifies the given faceset as details of some type
PK_FACE_close_gapscloses gaps at tolerant vertices in the face loops by modifying the fin geometries of the loops
PK_FACE_contains_vectorsdetermines whether the points represented by the given vectors or parameters lie inside, outside or on the boundary of the given face
PK_FACE_covercreates a single face covering a set of input faces, which can then be used to replace the original faces
PK_FACE_delete_2deletes the given faces from a solid or sheet body and repairs any resulting wounds
PK_FACE_delete_blendsdeletes the given faces
PK_FACE_delete_facesetsdeletes a collection of facesets from a body
PK_FACE_delete_from_gen_bodydeletes the given faces
PK_FACE_delete_from_sheetremoves the specified 'faces' from a sheet body
PK_FACE_embosscreates emboss features on the target body over areas covered by the specified 'faces'
PK_FACE_euler_make_loopadds an isolated vertex and loop to a face
PK_FACE_euler_make_ring_faceadds a new ring loop to a face, creating a new face
PK_FACE_euler_make_ring_loopadds a new loop to a face
PK_FACE_euler_unslitreplaces a 2-edge face with an edge
PK_FACE_find_blend_undersgiven a constant radius blended face this function will return all underlying faces associated with the blend face
PK_FACE_find_edges_commonfinds edges which are common to two faces
PK_FACE_find_extremefinds the extreme point on the given 'face' in 'direction_1'
PK_FACE_find_interior_vecthe function returns an arbitrary vector interior to the given face, and the surface u- and v-parameters of the vector
PK_FACE_find_outer_loopthe function returns the outer loop of the given face
PK_FACE_find_uvboxfinds a uvbox which bounds the given face in the parameter space of the face's surface
PK_FACE_fix_mesh_defectsattempts to repair meshes attached to the given faces
PK_FACE_hollow_3hollows a solid body by offsetting the given 'faces' by the given 'offsets'
PK_FACE_identify_blendsgiven an array of 'faces' (all from the same body) and the type of blends that should be identified this function will return all constant radius rolling ball blends of the required 'ident_type' which satisfy the 'options' specified
PK_FACE_imprint_curves_2imprints an array of curves onto a face, thereby creating new edges and faces
PK_FACE_imprint_cus_isoclincreates and imprints isocline curves on a given set of faces
PK_FACE_imprint_faces_2imprints edges on the given target and tool faces
PK_FACE_imprint_pointimprints a point onto a face, thereby creating a new vertex
PK_FACE_instance_bodiesinstances (creates and then booleans transformed copies of
PK_FACE_instance_toolsinstances (creates and then booleans transformed copies of
PK_FACE_intersect_curvePK_FACE_intersect_curve finds the intersections between a face and the specified region of a curve
PK_FACE_intersect_facePK_FACE_intersect_face finds the intersections between two faces
PK_FACE_intersect_surfPK_FACE_intersect_surf finds the intersections between a face and a surface
PK_FACE_is_coincidentchecks if two faces, possibly under transformation, are coincident to tolerance
PK_FACE_is_periodicasks whether the face is periodic
PK_FACE_is_uvboxdetects whether a face is parametrically rectangular
PK_FACE_make_3_face_blendmakes a three-face blend from the given faces
PK_FACE_make_blendmakes a blend of the given faces
PK_FACE_make_neutral_sheet_2creates the neutral sheet defined by the surfaces on the faces and returns it as a sheet body
PK_FACE_make_sect_with_sfssections selected regions of the target body with tool surfaces
PK_FACE_make_sheet_bodiescreates sheet bodies from a collection of faces
PK_FACE_make_solid_bodiescreates solid bodies from a collection of faces does not support facet geometry [NF]
PK_FACE_offset_2offsets faces of a solid or sheet body
PK_FACE_output_surf_trimmedreturns a trimmed surface representation of the given face
PK_FACE_patterncreates a pattern of a feature on the target body
PK_FACE_remove_to_solid_bodiesseparates a body into two or more bodies by selecting which faces are to be removed into new bodies
PK_FACE_repairattempts to repair a face
PK_FACE_reparameterise_surfreparameterises the surfaces attached to the given 'faces'
PK_FACE_replace_surfs_3replaces the geometry of the given faces with the supplied surfaces
PK_FACE_replace_with_sheetreplaces a set of faces on a target body with a set of faces from a sheet body
PK_FACE_reversereverses the orientation of a given set of faces, but will not change any of their associated geometry
PK_FACE_section_with_sheet_2sections selected regions of the target body with selected regions of the tool sheet body
PK_FACE_set_approxproduces an approximate representation of the edges of the supplied faces
PK_FACE_simplify_geomsimplifies the classic geometries of the supplied faces, where possible
PK_FACE_spinspins one or more faces of a solid or sheet body
PK_FACE_split_at_paramsplits a face along constant parameter line
PK_FACE_sweepsweeps one or more faces of a solid or sheet body
PK_FACE_taperapplies tapering to the given 'faces' by replacing their geometry with taper surfaces
PK_FACE_transform_2transforms the given faces by the given transformations
PK_FACE_unset_approxunsets the approximate representation of the edges of the supplied faces

[back to top]

PK_FCURVE

PK_FCURVE_ask

returns the standard form of a foreign curve
PK_FCURVE_createcreates a foreign curve from its standard form

[back to top]

PK_FIN

PK_FIN_ask_body

returns the body of the given fin
PK_FIN_ask_curvereturns the curve attached to the given fin, if there is one, otherwise PK_ENTITY_null
PK_FIN_ask_edgereturns the edge of the given fin
PK_FIN_ask_facereturns the face of the given fin
PK_FIN_ask_geometryreturns the geometry of a fin
PK_FIN_ask_loopreturns the loop of the given fin
PK_FIN_ask_next_in_loopreturns the next fin in order around the given fin's loop
PK_FIN_ask_next_of_edgereturns the next fin in order around the given fin's edge
PK_FIN_ask_oriented_curvereturns the curve and orientation of the given fin, if any
PK_FIN_ask_previous_in_loopreturns the previous fin in order around the given fin's loop
PK_FIN_ask_previous_of_edgereturns the previous fin in order around the given fin's edge
PK_FIN_ask_typeclassifies the given fin according to the relationship between its edge and its face
PK_FIN_attach_curvesattaches curves to fins
PK_FIN_euler_glueglues fins from two edges in the order indicated so that in the result the fins all belong to one edge
PK_FIN_find_curve_parametercomputes the fin curve parameter corresponding to the given surface parameters
PK_FIN_find_intervalcomputes the parameter interval of the curve, to which the fin corresponds
PK_FIN_find_mtopolsfinds the mvertices and/or mfins along a fin
PK_FIN_find_surf_parameterscomputes fin surface parameters corresponding to the given curve parameter
PK_FIN_find_uvboxfinds a uvbox which bounds the given fin in the parameter space of the fin's owning face's surface
PK_FIN_is_positivereturns whether the given fin goes in the same direction as its owning edge

[back to top]

PK_FSURF

PK_FSURF_ask

returns the standard form of a foreign surface
PK_FSURF_createcreates a foreign surface from its standard form

[back to top]

PK_FUNCTION

PK_FUNCTION_find

returns the functions that have the given names

[back to top]

PK_GEOM

PK_GEOM_ask_dependents

returns the set of geometric dependents of the given geometric entity
PK_GEOM_ask_geom_categoryreturns the category of a geometric entity
PK_GEOM_ask_geom_ownersreturns the set of geometric owners of the given geometric entity
PK_GEOM_checkchecks the given geometry
PK_GEOM_copycopies the given geometries while preserving the geometric dependencies amongst them
PK_GEOM_delete_singledeletes a single geometric entity
PK_GEOM_enlargeenlarges the given geometric entities by the given factor
PK_GEOM_is_coincidentwill compare two geometric entities to detect whether they occupy the same position(s) in space
PK_GEOM_rangefinds the global minimum/maximum separation between two geometrical entities
PK_GEOM_range_arrayfinds the global minimum/maximum separation between two arrays of geometrical entities
PK_GEOM_range_array_vectorfinds the global minimum separation between an array of geometrical entities and a position
PK_GEOM_range_localfinds the local minimum separations between two geometrical entities
PK_GEOM_range_local_vectorfinds the local minimum separations between a geometrical entity and a position
PK_GEOM_range_vectorfinds the global minimum separation between a geometrical entity and a position
PK_GEOM_range_vector_manyfinds the global minimum separations for each pairing of the geometrical entity with one of the positions supplied
PK_GEOM_rendergenerates a view-independent representation of geometric entities and returns this through the GO interface
PK_GEOM_transform_2transforms the array of given geometric entities by the given transformation

[back to top]

PK_GROUP

PK_GROUP_add_entities

adds the given set of entities to the given group
PK_GROUP_ask_closuredetects whether or not the given 'group' is closed
PK_GROUP_ask_controlsreturns the controls of the given group
PK_GROUP_ask_entitiesreturns the set of entities contained in the given group
PK_GROUP_ask_entity_classreturns the class of the entities allowed in the given group
PK_GROUP_ask_entity_labelreturns the label of the given entity in the given group
PK_GROUP_ask_partreturns the part which contains the given group
PK_GROUP_contains_entityreturns whether the given entity is contained in the given group
PK_GROUP_create_from_entities_2creates a group within the given part containing the given set of entities
PK_GROUP_find_entitiesfinds entities in the given group based on the given options
PK_GROUP_merge_entitiesmerges the given array of entities into the given group
PK_GROUP_remove_entitiesremoves from the given group, any entities which are also in the given array of entities
PK_GROUP_set_entity_labelsets the label of the given entity in the given group

[back to top]

PK_INSTANCE

PK_INSTANCE_ask

returns the standard form of the given instance
PK_INSTANCE_change_partmodifies the given instance so that it instances a different part
PK_INSTANCE_createcreates an instance from the given standard form
PK_INSTANCE_replace_transfreplaces the transform of an instance by the given one
PK_INSTANCE_transformtransforms an instance by transforming its transform

[back to top]

PK_LATTICE

PK_LATTICE_ask_n_lballs

returns the number of lballs in the given 'lattice'
PK_LATTICE_ask_n_lrodsreturns the number of lrods in the given 'lattice'
PK_LATTICE_ask_partreturns the part which owns the given lattice, if there is one, otherwise PK_ENTITY_null
PK_LATTICE_clipcreates new lattices by clipping the supplied 'lattice'
PK_LATTICE_create_by_graphcreates a lattice from data obtained by sequentially calling the input function 'graph_reader' until it returns PK_LATTICE_cb_status_stop_c
PK_LATTICE_do_for_all_lballscalls the given callback function for every lball in the given 'lattice'
PK_LATTICE_do_for_all_lrodscalls the given callback function for every lrod in the given 'lattice'
PK_LATTICE_find_boxreturns the axis-aligned bounding box of a lattice
PK_LATTICE_find_naboxreturns the non-axis-aligned bounding box of a lattice
PK_LATTICE_make_bodiesmakes a solid facet body from the given 'lattice'
PK_LATTICE_make_patternedcreates a lattice made of patterned repetitions of the given lattice

[back to top]

PK_LBALL

PK_LBALL_ask_blend

returns information about the blend on the given 'lball', if any
PK_LBALL_ask_lballs_adjreturns the adjacent lballs of the given 'lball'
PK_LBALL_ask_lrodsreturns all lrods which have 'lball' as one of their lballs
PK_LBALL_ask_positionreturns the position of the given 'lball'
PK_LBALL_ask_radiusreturns the radius of the given 'lball'

[back to top]

PK_LINE

PK_LINE_ask

writes the standard form of a line at the given address
PK_LINE_createcreates a line from the given standard form

[back to top]

PK_LOOP

PK_LOOP_ask_body

returns the body containing the given loop
PK_LOOP_ask_edgesreturns a set of edges in the given loop
PK_LOOP_ask_facereturns the face containing the given loop
PK_LOOP_ask_finsreturns an ordered list of fins around the given loop
PK_LOOP_ask_first_finreturns the first fin in the given loop
PK_LOOP_ask_next_in_facereturns the next loop in the face containing the given loop
PK_LOOP_ask_typeclassifies the given loop
PK_LOOP_ask_verticesreturns an ordered list of vertices around the given loop
PK_LOOP_close_gapscloses gaps at tolerant vertices in the loop by modifying the edge/fin geometry
PK_LOOP_delete_from_sheet_bodydeletes interior loops from a sheet body
PK_LOOP_euler_create_edgeis obsolete
PK_LOOP_euler_delete_isolateddeletes an isolated vertex and loop from a face
PK_LOOP_euler_delete_make_edgemerges two loops in the same face into one by joining their vertices with an edge
PK_LOOP_euler_make_edgeadds a new edge to a loop
PK_LOOP_euler_make_edge_facejoins two vertices in the same loop, creating a new face
PK_LOOP_euler_make_edge_loopjoins two vertices in the same loop of a face, creating a new loop
PK_LOOP_euler_transfertransfers a loop from one face to another
PK_LOOP_is_isolatedreturns whether the given loop is isolated

[back to top]

PK_LROD

PK_LROD_ask_geometry

returns the geometry of 'lrod'
PK_LROD_ask_lballsreturns the lballs of 'lrod'

[back to top]

PK_LTOPOL

PK_LTOPOL_ask_box

returns the bounding box of 'ltopols'
PK_LTOPOL_ask_classreturns the class of an element of lattice topology
PK_LTOPOL_isindicates whether 'may_be_ltopol' is an ltopol
PK_LTOPOL_is_null_mmacro tests if an ltopol is null
PK_LTOPOL_null_mmacro populates an entity of type PK_LTOPOL_t with its null values

[back to top]

PK_MARK

PK_MARK_ask_following

returns the mark following the given one
PK_MARK_ask_forwardreturns PK_LOGICAL_true if roll-forward is enabled
PK_MARK_ask_frustrumreturns the registered frustrum of the non-partitioned PK rollback system
PK_MARK_ask_pmarksreturns the 'pmarks' which are used by the given 'mark'
PK_MARK_ask_precedingreturns the mark preceding the given one
PK_MARK_createsets a rollmark and returns a mark identifier
PK_MARK_deletedeletes the given mark
PK_MARK_gotoreturns the modeller to the state when the given mark was created
PK_MARK_goto_2returns the modeller to the state when the given mark was created
PK_MARK_isreturns whether the given argument is a mark
PK_MARK_is_onreturns whether the non-partitioned PK rollback system is active
PK_MARK_startstarts non-partitioned PK rollback
PK_MARK_stopshuts down the non-partitioned PK rollback system

[back to top]

PK_MEMORY

PK_MEMORY_alloc

allocates the specified amount of memory required in bytes
PK_MEMORY_ask_block_sizereturns the current smallest size of a block of memory that Parasolid will request from FMALLO (PK_FMALLO_f_t) for storing modelling data
PK_MEMORY_ask_callbacksreturns the functions which are currently registered for Parasolid to use when allocating and freeing variable length information returned from the PK interface
PK_MEMORY_freefrees previously allocated memory
PK_MEMORY_register_callbacksregisters memory allocation and free functions for Parasolid to use when returning variable length information
PK_MEMORY_set_block_sizesets the size of the smallest block of memory that Parasolid will request from FMALLO (PK_FMALLO_f_t) for modelling data

[back to top]

PK_MESH

PK_MESH_ask_n_mfacets

returns the number of mfacets in the given 'mesh'
PK_MESH_ask_n_mverticesreturns the number of mvertices in the given 'mesh'
PK_MESH_ask_normal_typereturns whether the given 'mesh' currently has stored vertex normals or whether vertex normals will be generated dynamically
PK_MESH_create_from_facets
PK_MESH_discard_normalsfor meshes with stored normals this function will discard the normals
PK_MESH_do_for_all_mfacetscalls the given callback function for every mfacet in the given 'mesh'
PK_MESH_do_for_all_mverticescalls the given callback function for every mvertex in the given 'mesh'
PK_MESH_eval_with_mtopolevaluates the 'mesh' at the given 'uv' position and returns the 'position', 'mfacet' and 'mtopol' at that position
PK_MESH_fill_holesreturns a mesh which is a copy of the given 'mesh' with those holes as specified by the options structure filled in
PK_MESH_find_defectsfinds defects on a mesh
PK_MESH_find_laminar_mfinsreturns the laminar mfins in the given 'mesh'
PK_MESH_find_sharp_mfinsreturns the sharp mfins in the given 'mesh'
PK_MESH_find_sharp_mvxsreturns the sharp mvertices in the given 'mesh'
PK_MESH_fix_defectsfixes defects on a mesh
PK_MESH_has_unique_normalsreturns whether the given 'mesh' has unique normals
PK_MESH_imprint_vectorsimprints an array of vectors onto a mesh
PK_MESH_is_loadedreturns whether the given 'mesh' is loaded
PK_MESH_make_bodiesmakes one or more bodies from the given 'mesh'
PK_MESH_make_surf_trimmedmakes a trimmed surface from the given 'mesh'
PK_MESH_store_normalsstores or modifies normals in the given 'mesh'

[back to top]

PK_MFACET

PK_MFACET_ask_mfacet_adjacent

returns the adjacent mfacet to the given 'mfacet' which abuts this 'mfacet' along the mfin with the given 'mfin_index'
PK_MFACET_ask_mfinreturns the 'mfin' of 'mfacet' with the given 'mfin_index'
PK_MFACET_ask_mverticesreturns the 'mvertices' of 'mfacet'
PK_MFACET_ask_mvx_normalsreturns the 'mvx_normals' stored at the mvertices of 'mfacet'
PK_MFACET_ask_normalreturns the normal vector of 'mfacet'
PK_MFACET_ask_positionsreturns the position vectors at the mvertices of 'mfacet'
PK_MFACET_find_perimetersreturns the perimeter mfins around a set of given mfacets
PK_MFACET_parameterise_vecfinds the mesh parameterisation of a position known to be on a particular mfacet

[back to top]

PK_MFIN

PK_MFIN_ask_mfacet

returns the 'mfacet' which contains the 'mfin'
PK_MFIN_ask_mfin_adjacentreturns the mfin from the adjacent facet to this 'mfin's facet which is coincident with this 'mfin'
PK_MFIN_ask_mfin_indexreturns the index of 'mfin' within its mfacet
PK_MFIN_ask_mvertexreturns the 'mvertex' towards which 'mfin' points
PK_MFIN_ask_mvx_curvaturecalculates the normal, principal directions and curvatures associated with the mvertex of the given 'mfin'
PK_MFIN_ask_mvx_normalreturns the 'mvx_normal' at the mvertex of the given 'mfin'
PK_MFIN_ask_next_in_mfacetreturns the mfin following 'mfin' in the same mfacet
PK_MFIN_ask_next_of_mvertexreturns the next mfin around the mvertex pointed at by 'mfin'
PK_MFIN_ask_previous_in_mfacetreturns the mfin preceding 'mfin' in the same mfacet
PK_MFIN_ask_previous_of_mvertexreturns the previous mfin around the mvertex pointed at by 'mfin'
PK_MFIN_is_laminarindicates whether or not 'mfin' is a laminar mfin
PK_MFIN_is_same_mfacetindicates whether or not 'mfin_1' and 'mfin_2' belong to the same mfacet
PK_MFIN_is_sharpindicates whether or not 'mfin' is a sharp mfin

[back to top]

PK_MTOPOL

PK_MTOPOL_ask_box

returns the bounding box of 'mtopol'
PK_MTOPOL_ask_classreturns the class of an element of mesh topology
PK_MTOPOL_isindicates whether 'may_be_mtopol' is a valid mtopol element
PK_MTOPOL_is_null_mmacro tests if an mtopol is null
PK_MTOPOL_make_meshescreates meshes from a collection of mtopols
PK_MTOPOL_null_mmacro populates an entity of type PK_MTOPOL_t with its null values

[back to top]

PK_MVERTEX

PK_MVERTEX_ask_mfacets

returns all 'mfacets' which have 'mvertex' as one of their mvertices
PK_MVERTEX_ask_mfinreturns an 'mfin' which points towards 'mvertex'
PK_MVERTEX_ask_mvertices_ringreturns the ring of mvertices around the given 'mvertex'
PK_MVERTEX_ask_normalsreturns all the unique normals of the given 'mvertex'
PK_MVERTEX_ask_positionreturns the 'position' at the given 'mvertex'
PK_MVERTEX_is_laminarreturns PK_LOGICAL_true if the given 'mvertex' lies on the laminar boundary of its mesh and PK_LOGICAL_false otherwise
PK_MVERTEX_set_positionssets the position of each given mvertex

[back to top]

PK_OFFSET

PK_OFFSET_ask

writes the standard form of an offset surface at the given address
PK_OFFSET_createthe function creates an offset surface from the given standard form

[back to top]

PK_PART

PK_PART_add_geoms

adds the given geometry to the part's construction geometry
PK_PART_ask_all_attdefsreturns the attribute definitions of all the attributes attached to entities within the given part
PK_PART_ask_all_attribsreturns all the attributes with the given attribute definition attached to any entity within the given part
PK_PART_ask_attribs_cbreturns selected attributes and their owners from entities within the given 'part', using the 'callback' function to select attributes from their definition and field values
PK_PART_ask_con_latticesreturns the set of construction lattices connected to the given part
PK_PART_ask_construction_curvesreturns the set of construction curves connected to the given part
PK_PART_ask_construction_pointsreturns the set of construction points connected to the given part
PK_PART_ask_construction_surfsreturns the set of construction surfaces connected to the given part
PK_PART_ask_geomsreturns the set of geometric entities (points, curves, surfaces, and lattices) in the given part which are not attached to the part's topology
PK_PART_ask_groupsreturns the set of groups contained within the given part
PK_PART_ask_groups_2returns the set of 'groups' contained within the given 'part' satisfying conditions defined in the options structure
PK_PART_ask_ref_instancesreturns the set of instances which instance the given part
PK_PART_delete_attribsdeletes attributes of given attribute definitions from entities within the given 'part'
PK_PART_find_entity_by_identsearches the given 'part' for an 'entity' of the given 'class' with the given 'identifier'
PK_PART_receivereceives one or more parts using the given key string
PK_PART_receive_breceives one or more parts directly from application memory
PK_PART_receive_meshesreceives or generates all mesh data which is not yet loaded for the array of parts specified
PK_PART_receive_ureceives one or more parts using the given Unicode key string
PK_PART_receive_versionreturns information about the version of Parasolid used to create a part transmit file
PK_PART_receive_version_breturns information about the version of Parasolid used to transmit a given part
PK_PART_receive_version_ureturns information about the version of Parasolid used to create a part transmit file
PK_PART_rectify_identifiersensures that a part has no duplicate or invalid identifiers
PK_PART_remove_geomsremoves from the part's construction geometry, any geometric entities which are also in the given array of geoms
PK_PART_transmittransmits the given parts using the given key string
PK_PART_transmit_btransmits the given parts into application memory
PK_PART_transmit_utransmits the given parts using the given Unicode key string

[back to top]

PK_PARTITION

PK_PARTITION_advance_pmark

advances the current partition mark in the given 'partition'
PK_PARTITION_askallows properties of the 'partition' to be queried
PK_PARTITION_ask_appitemsreturns the set of appitems in the given partition
PK_PARTITION_ask_assembliesreturns the set of assemblies in the given partition
PK_PARTITION_ask_bodiesreturns the set of bodies in the given partition
PK_PARTITION_ask_cloningreports the state of all clone spans in the given 'partition' Note: You are advised to consult with Parasolid Support before using cloning
PK_PARTITION_ask_facet_geomcategorises the parts and geometry of a partition and optionally returns any parts that contain facet geometry, as well as any facet orphan geometry
PK_PARTITION_ask_geomsreturns the set of geometric entities (points, curves, surfaces and lattices) in the given partition which are not contained within a part
PK_PARTITION_ask_initial_pmarkreturns the initial partition mark of the given partition
PK_PARTITION_ask_ki_listsreturns the set of ki lists in the given partition, which are not contained within a part
PK_PARTITION_ask_pmarkreturns the current pmark of the given partition
PK_PARTITION_ask_pmark_sizereturns the number of bytes of roll 'file' which would be passed to the Frustrum if a partition mark were to be set in the given partition
PK_PARTITION_ask_pmarks_2returns a set of pmarks in the partition
PK_PARTITION_ask_transfsreturns the set of transforms in the given partition, which are not contained within a part
PK_PARTITION_ask_typereturns the type of the given 'partition'
PK_PARTITION_clone_pmarkapplies to the 'partition' the changes between the original pmark corresponding to the current clone pmark of the partition and the given 'original_pmark'
PK_PARTITION_copyproduces a new 'partition_copy' which is a copy of the given 'partition'
PK_PARTITION_createcreates a partition
PK_PARTITION_deletedeletes the given 'partition' and all data within it
PK_PARTITION_find_pmark_by_idsearches the given 'partition' for a 'pmark' with the given 'identifier'
PK_PARTITION_isreturns PK_LOGICAL_true if its argument is a partition
PK_PARTITION_is_clonedetects whether entities in the 'partition', when at 'clone_pmark', are identical to their incarnations when at 'original_pmark'
PK_PARTITION_make_pmark_2creates a partition mark in the given partition
PK_PARTITION_mergemerges the given 'partitions' by combining their model data and interleaving their pmark deltas into a single partition using the given 'pmarks'
PK_PARTITION_receivereceives a partition from the given 'file' key
PK_PARTITION_receive_breceives a partition directly from application memory
PK_PARTITION_receive_deltas_2receives the deltas for the given 'partition' from a file
PK_PARTITION_receive_meshesreceives or generates all mesh data which is not yet loaded for the specified partition
PK_PARTITION_receive_ureceives a partition from the given Unicode 'file' key
PK_PARTITION_receive_versionreturns information about the version of Parasolid used to create a partition transmit file
PK_PARTITION_receive_version_breturns information about the version of Parasolid used to create partition transmit data
PK_PARTITION_receive_version_ureturns information about the version of Parasolid used to create a partition transmit file
PK_PARTITION_reset_attribsallows changes to the contents of selected attributes in the given partition
PK_PARTITION_set_currentmakes the given partition the current partition
PK_PARTITION_set_typesets the type of the given 'partition'
PK_PARTITION_start_cloningstarts cloning in the given 'partition'
PK_PARTITION_stop_cloningstops cloning in the given 'partition'
PK_PARTITION_transmittransmits the given 'partition' to the given 'file' 'key'
PK_PARTITION_transmit_btransmits the given 'partition' directly to application memory
PK_PARTITION_transmit_deltatransmits the deltas of the given 'partition'
PK_PARTITION_transmit_utransmits the given 'partition' to the given Unicode 'file' 'key'

[back to top]

PK_PLANE

PK_PLANE_ask

returns the standard form of the given plane
PK_PLANE_createcreates a plane from the given standard form

[back to top]

PK_PLINE

PK_PLINE_ask

returns the standard form for a polyline
PK_PLINE_createcreates a polyline from the standard form

[back to top]

PK_PMARK

PK_PMARK_ask_entities

returns the entities that would be created, modified and deleted if rolling to the destination 'pmark'
PK_PMARK_ask_followingreturns the pmarks following the given one
PK_PMARK_ask_identifierreturns the identifier of a pmark, which is a positive integer unique within its partition
PK_PMARK_ask_marksfunctions returns the 'marks' which 'use' the given 'pmark'
PK_PMARK_ask_partitionreturns the partition of the given partition mark
PK_PMARK_ask_precedingreturns the pmark preceding the given one, or PK_PMARK_null if there is none
PK_PMARK_deletedeletes the given partition marks
PK_PMARK_goto_2returns the partition to the state when the given pmark was created
PK_PMARK_isreturns PK_LOGICAL_true if its argument is a partition mark
PK_PMARK_is_used_by_markreturns PK_LOGICAL_true if the given 'pmark' is used in a session mark

[back to top]

PK_POINT

PK_POINT_ask

returns the standard form of the given point
PK_POINT_ask_partreturns the part which owns the given point, if there is one, otherwise PK_ENTITY_null
PK_POINT_ask_vertexreturns the vertex connected to the given point, if there is one, otherwise PK_ENTITY_null
PK_POINT_createcreates a point from the given standard form
PK_POINT_make_helical_curvecreates a helix, tapered helix or spiral by sweeping a point about an axis
PK_POINT_make_minimum_bodycreates a minimum body whose single vertex is located at the given 'point'

[back to top]

PK_REGION

PK_REGION_ask_body

returns the body containing the given region
PK_REGION_ask_regions_adjacentreturns all regions which are immediately adjacent to the given region
PK_REGION_ask_shellsreturns the set of shells bounding the given region
PK_REGION_combine_bodiescombines two bodies into a single disconnected body
PK_REGION_imprint_curveimprints a curve onto a region, thereby creating a new edge or edges
PK_REGION_imprint_pointimprints a point onto a region, thereby creating a new acorn vertex
PK_REGION_is_solidreturns PK_LOGICAL_true if the given region is solid and PK_LOGICAL_false if it is void
PK_REGION_make_solidsets the type of the given region to be solid
PK_REGION_make_voidsets the type of the given 'region' to be void

[back to top]

PK_REPORT

PK_REPORT_add_records

adds the given 'report_records' to the 'report'
PK_REPORT_askreturns the data of the requested 'report'
PK_REPORT_clearclears the requested 'report'
PK_REPORT_closecloses the given 'report'
PK_REPORT_createcreates a 'report' with the given 'name'
PK_REPORT_deletedeletes a 'report'
PK_REPORT_findreturns the 'report' which has the given 'name'
PK_REPORT_is_openreturns PK_LOGICAL_true if the given report is open and PK_LOGICAL_false if it is closed
PK_REPORT_set_functionsets the function name of a report

[back to top]

PK_SESSION

PK_SESSION_abort

makes a request to Parasolid to abort the interrupted current operation
PK_SESSION_ask_angle_precisionreturns the session angle precision
PK_SESSION_ask_applio_2returns the registered 'applio' functions for transmit file input and output
PK_SESSION_ask_attdefsreturns user-defined attribute definitions in the session
PK_SESSION_ask_behaviourreturns the currently set behaviour of the modeller
PK_SESSION_ask_bindingallows the application to identify the programming language binding in use
PK_SESSION_ask_check_argumentsreturns whether argument checking is enabled
PK_SESSION_ask_check_continuityreturns whether continuity checking is enabled
PK_SESSION_ask_check_self_intreturns whether self intersection checking is enabled
PK_SESSION_ask_close_knotsreturns whether bgeometry may have knots closer together than the session angular tolerance
PK_SESSION_ask_curr_partitionreturns the current partition
PK_SESSION_ask_err_reports
PK_SESSION_ask_facet_geometryreturns whether facet geometry is enabled
PK_SESSION_ask_fru_2returns values of registered frustrum functions as specified in 'options'
PK_SESSION_ask_frustrumreturn the installed frustrum
PK_SESSION_ask_functionreturns the name of the PK function currently being called
PK_SESSION_ask_general_topologyreturns whether generalised topology is enabled
PK_SESSION_ask_indexioreturn the installed Indexed Frustrum
PK_SESSION_ask_journallingreturns whether journalling is enabled
PK_SESSION_ask_kernel_versionreturns modeller version and datestamp
PK_SESSION_ask_latest_behaviourreturns the latest allowed behaviour of the modeller regardless of the current behaviour setting
PK_SESSION_ask_markreturns the current session mark, and whether the session is at that mark or has been modified since it was created or rolled to
PK_SESSION_ask_max_threadsreturns the maximum number of threads which Parasolid can currently use internally (i
PK_SESSION_ask_memory_usagereturns the amount of memory currently occupied by the model data structure
PK_SESSION_ask_mesh_anglereturns the session 'mesh_angle'
PK_SESSION_ask_partitionsreturns the partitions in the session
PK_SESSION_ask_partsreturns all parts in the session
PK_SESSION_ask_precisionreturns the session precision
PK_SESSION_ask_rebuild_historyreturns the currently set rebuild history
PK_SESSION_ask_schema_versionreturns the Parasolid schema version number
PK_SESSION_ask_smpretrieves the current session Symmetric Multi-Processing (SMP) parameters
PK_SESSION_ask_smp_stacksizereturns the size of the stack allocated to Parasolid SMP threads
PK_SESSION_ask_software_optionreturn the current setting of a variant software option
PK_SESSION_ask_swept_spun_surfsreturns whether topological sweep and spin functions are allowed to produce swept and spun surfaces
PK_SESSION_ask_tag_highestreturns the value of the highest tag allocated
PK_SESSION_ask_tag_limitreturns whether tag limitation is enabled
PK_SESSION_ask_tags_remainingreturns the current number of tags which are available for subsequent use
PK_SESSION_ask_unicodereturns whether Unicode keys are enabled for Frustrum and application i/o
PK_SESSION_ask_user_field_lenreturns the length of the user fields
PK_SESSION_commentwrite a comment to the journal file
PK_SESSION_is_in_kernel_2returns whether it has been called from within the kernel or from outside the kernel
PK_SESSION_is_roll_forward_onreturns PK_LOGICAL_true if the roll-forward interface parameter is set to true
PK_SESSION_is_rollback_onreturns PK_LOGICAL_true if partitioned rollback has been enabled (see PK_DELTA_register_callbacks), otherwise PK_LOGICAL_false
PK_SESSION_receivereceives a session from the given 'file' 'key'
PK_SESSION_receive_ureceives a session from the given Unicode 'file' 'key'
PK_SESSION_receive_versionreturns information about the version of Parasolid used to create a session transmit file
PK_SESSION_receive_version_ureturns information about the version of Parasolid used to create a session transmit file
PK_SESSION_registerallows mutual registration between Parasolid and companion UGS toolkit products at run-time
PK_SESSION_register_applio_2registers a new set of functions for use when the 'applio' format is selected for transmit files
PK_SESSION_register_fru_2registers frustrum functions to values as specified in 'options'
PK_SESSION_register_frustruminstalls a new frustrum
PK_SESSION_register_indexioinstalls a new Indexed Frustrum
PK_SESSION_set_behavioursets the behaviour of the modeller
PK_SESSION_set_check_argumentssets whether argument checking is to be enabled
PK_SESSION_set_check_continuitysets whether continuity checking is to be enabled
PK_SESSION_set_check_self_intsets whether self intersection checking is to be enabled
PK_SESSION_set_close_knotssets whether bgeometry may have knots closer together than the session angular tolerance
PK_SESSION_set_err_reports
PK_SESSION_set_facet_geometrysets whether facet geometry and lattice support are to be enabled
PK_SESSION_set_general_topologysets whether generalised topology is to be enabled
PK_SESSION_set_journallingsets whether journalling is to be enabled
PK_SESSION_set_mesh_anglesets the session mesh angle
PK_SESSION_set_rebuild_historysets the rebuild history of the modeller
PK_SESSION_set_roll_forwardsets the roll_forward interface parameter
PK_SESSION_set_smpsets the Symmetric Multi-Processing (SMP) parameters for the session
PK_SESSION_set_smp_stacksizeset the size of the stack allocated to Parasolid SMP threads
PK_SESSION_set_software_optionreplace the setting of a variant software option
PK_SESSION_set_swept_spun_surfssets whether topological sweep and spin functions are allowed to produce swept and spun surfaces
PK_SESSION_set_tag_limitsets whether tag limitation is to be enabled
PK_SESSION_set_unicodeenables/disables Unicode keys for Frustrum and application i/o
PK_SESSION_startstarts the Parasolid modeller
PK_SESSION_stopstops the modeller
PK_SESSION_tidyensures that PK is in a valid state whenever a longjump is made
PK_SESSION_transmittransmits the session to the given 'file' 'key'
PK_SESSION_transmit_utransmits the session to the given Unicode 'file' 'key'

[back to top]

PK_SHELL

PK_SHELL_ask_acorn_vertex

returns the single acorn vertex of the given shell if the shell is of type PK_SHELL_type_acorn_c, otherwise PK_ENTITY_null is returned
PK_SHELL_ask_bodyreturns the body of the given shell
PK_SHELL_ask_oriented_facesreturns the list of faces in the given shell, together with their orientations with respect to the shell
PK_SHELL_ask_regionreturns the region of the given shell
PK_SHELL_ask_typeclassifies the given shell according to the types of topological entities it contains
PK_SHELL_ask_wireframe_edgesreturns the set of wireframe edges in the given shell
PK_SHELL_find_signclassifies the given shell according to whether it closes off a volume and, if it does, whether the volume inside the shell is finite or infinite

[back to top]

PK_SPCURVE

PK_SPCURVE_ask

writes the standard form of an 'spcurve' at the given address
PK_SPCURVE_createcreates an spcurve from the given standard form

[back to top]

PK_SPHERE

PK_SPHERE_ask

writes the standard form of a sphere at the given address
PK_SPHERE_createcreates a sphere from the given standard form
PK_SPHERE_make_solid_bodycreates a solid body from a sphere

[back to top]

PK_SPUN

PK_SPUN_ask

writes the standard form of a spun surface at the given address
PK_SPUN_createcreates a spun surface from the given standard form

[back to top]

PK_SURF

PK_SURF_ask_faces

returns the set of faces to which the given surface is attached
PK_SURF_ask_paramsreturns information about the parameterisation of the given surface
PK_SURF_ask_partreturns the part which owns the given surface, if there is one, otherwise PK_ENTITY_null
PK_SURF_ask_uvboxreturns a uvbox indicating the parametric bounds of the given surface
PK_SURF_create_blendcreates a surface, representing a constant radius rolling ball blend upon the supplied geometry does not support facet geometry [NF]
PK_SURF_evalevaluates a point and derivatives at a parameter pair on the given surface
PK_SURF_eval_curvaturecalculates the normal, principal directions and principal curvatures of a surface at a given parametric position
PK_SURF_eval_curvature_handedbehaves like PK_SURF_eval_curvature but takes additional arguments ( 'u_hand_dir' and 'v_hand_dir' ) as the input
PK_SURF_eval_gridevaluates points on a rectangular grid of parameters on the given surface
PK_SURF_eval_handedbehaves like PK_SURF_eval, but takes additional arguments ( 'u_hand_dir' and 'v_hand_dir' ) as input
PK_SURF_eval_with_normalevaluates a point, derivatives and normal at a parameter pair on the given surface
PK_SURF_eval_with_normal_handedbehaves like PK_SURF_eval_with_normal, but takes additional arguments ( 'u_hand_dir' and 'v_hand_dir' ) as input
PK_SURF_extendextends a surface
PK_SURF_find_boxreturns a BOX which bounds the given surface
PK_SURF_find_curves_commonfinds curves which are common to two surfaces
PK_SURF_find_degensfinds degeneracies in the given surface
PK_SURF_find_discontinuityinterface function permits a user to query any standard surface type for either analytic or geometric discontinuities of levels 1 through 3
PK_SURF_find_min_radiifinds the minimum radius of curvature on each side of the given surface within the supplied 'uv_box', along with its position and u-v parameters
PK_SURF_find_non_aligned_boxcomputes a non axis-aligned box bounding a portion of the given surface
PK_SURF_find_self_intfinds self-intersections in the given surface
PK_SURF_find_vectorsthe function will return position vectors on the supplied 'surface' between the given 'uv_start' and 'uv_end', in accordance with the supplied 'options'
PK_SURF_fix_degensattempts to fix degeneracies in the given surface
PK_SURF_fix_self_intattempts to fix self-intersections in the given surface
PK_SURF_intersect_curvePK_SURF_intersect_curve finds the intersections between a surface and a curve
PK_SURF_intersect_surfPK_SURF_intersect_surf finds the intersections between two surfaces
PK_SURF_make_bsurf_2creates a 'bsurf' which is coincident with the given parametric 'uvbox' of the given 'surf'
PK_SURF_make_bsurf_arraygiven an array of surfaces and uvboxes this function will return created B-surfaces that satisfy the 'options' specified
PK_SURF_make_curve_isoparamconstructs a curve as the constant parameter line of 'surf' specified by 'param' and 'u_or_v'
PK_SURF_make_cus_isoclinecreates isocline curves on the given surface
PK_SURF_make_sheet_bodycreates a sheet body from a surface
PK_SURF_make_sheet_trimmedcreates a sheet body given surface and trimmed curve data
PK_SURF_offsetcreates a surface offset from the 'underlying_surf' by 'offset_distance'
PK_SURF_parameterise_vectorfind parameters of a point on a surface

[back to top]

PK_SWEPT

PK_SWEPT_ask

writes the standard form of a swept surface at the given address
PK_SWEPT_createcreates a swept surface from the given standard form

[back to top]

PK_THREAD

PK_THREAD_ask_err_reports

PK_THREAD_ask_error_cbsreturns the error handler for the calling thread (if one is registered), or NULL
PK_THREAD_ask_exclusionreturns whether the Parasolid interface is currently excluding other threads entering and whether the calling thread caused the exclusion
PK_THREAD_ask_functionreturns the name of the PK function being executed in the calling thread and the total recursion depth of its current call stack
PK_THREAD_ask_function_runasks whether the given PK functions will be run concurrently or exclusively in this thread
PK_THREAD_ask_idreturns the thread ID of the calling thread as set by PK_THREAD_set_id
PK_THREAD_ask_last_errorreturns the standard form of the most recent PK error in the calling thread
PK_THREAD_ask_local_levelreturns the localisation level of the calling thread-chain
PK_THREAD_ask_memory_cbsreturns the functions which are currently registered for the calling thread to use when allocating and freeing variable length information returned from the PK interface
PK_THREAD_ask_partitionsreturns the 'partitions' locked to the calling thread
PK_THREAD_chain_startstarts chaining Parasolid functions in the calling thread
PK_THREAD_chain_stopstops chaining Parasolid functions in the calling thread
PK_THREAD_clear_exclusiontries to clear an exclusion that may be preventing other threads from entering Parasolid
PK_THREAD_clear_last_errorclears the most recent PK error in the calling thread
PK_THREAD_is_in_chainreturns the type of chain running in the calling thread, along with its link length and the maximum number of remaining functions in the current chain link
PK_THREAD_is_in_kernelreturns whether the calling thread is executing inside the kernel
PK_THREAD_lock_partitionsattempts to lock partitions to the calling thread
PK_THREAD_register_error_cbsregisters the given error handler for the calling thread
PK_THREAD_register_memory_cbsregisters memory allocation and free functions for the calling thread to use in Parasolid when returning variable length information
PK_THREAD_set_err_reports
PK_THREAD_set_function_runsets whether the given PK functions will be run concurrently or exclusively in this thread
PK_THREAD_set_idstores the given thread ID in the calling thread
PK_THREAD_tidyensures that Parasolid is in a valid state for the calling thread whenever a longjump is made
PK_THREAD_unlock_partitionsunlocks and returns the 'partitions' that were locked to the calling thread

[back to top]

PK_TOPOL

PK_TOPOL_ask_entities_by_attdef

returns the set of 'entities' of the given 'class' which belong to 'topol' and either do or do not have an attribute of the given 'attdef', depending upon 'have_attrib'
PK_TOPOL_categorise_geomdetermines what category of geometry is attached to 'topology'
PK_TOPOL_clashclashes sets of topologies and returns the (list of) body, face or edge pairs which clash
PK_TOPOL_delete_redundant_2removes redundant topology or sub-topology from the given list of topologies
PK_TOPOL_detach_geomdetaches geometry from topology
PK_TOPOL_eval_mass_propsevaluates mass properties of a given set of topological entities
PK_TOPOL_facet_2generate a facetted representation of topological entities in tabular form offers partial support for topology that has facet geometry (meshes & plines) [PF]
PK_TOPOL_find_box_2returns an axis-aligned box which bounds the given topologies subject to supplied transformations
PK_TOPOL_find_naboxreturns a non-aligned box bounding the given topological entities
PK_TOPOL_identify_redundantidentifies redundant topology or subtopology from the given list of topologies
PK_TOPOL_make_facet_topolgenerates facet geometry for an array of faces and edges from the same body
PK_TOPOL_make_general_bodycreates a general body from a set of topologies
PK_TOPOL_make_newremoves groups and attributes attached to 'topol' and replaces 'topol' with 'new_topol'
PK_TOPOL_rangefinds the global minimum/maximum distance between two topological entities
PK_TOPOL_range_arrayfinds the global minimum/maximum separation between two arrays of topological entities
PK_TOPOL_range_array_vectorfinds the global minimum separation between an array of topological entities and a position
PK_TOPOL_range_geomfinds the global minimum/maximum distance between a topology and a geometry
PK_TOPOL_range_geom_arrayfinds the global minimum / maximum separation between an array of topological and an array of geometrical entities
PK_TOPOL_range_localfinds the local minimum separations between two topological entities
PK_TOPOL_range_local_vectorfinds the local minimum/maximum separations between a topological entity and a position
PK_TOPOL_range_vectorfinds the global minimum separation between a topological entity and a position
PK_TOPOL_remove_body_componentextracts a connected component of a body as a new body
PK_TOPOL_render_facetgenerate a facetted representation of topological entities through GO
PK_TOPOL_render_linerender an array of topological entities through GO as either a view-independent wire-frame drawing, a view-dependent wire-frame drawing or a hidden-line drawing according to values supplied in an options structure

[back to top]

PK_TORUS

PK_TORUS_ask

writes the standard form of a torus at the given address
PK_TORUS_createcreates a torus from the given standard form
PK_TORUS_make_solid_bodycreates a solid body from a torus

[back to top]

PK_TRANSF

PK_TRANSF_ask

returns the standard form of the given transf
PK_TRANSF_checkchecks the given transformation
PK_TRANSF_classifyclassifies a supplied transform and optionally returns diagnostic information in the form of numerical data
PK_TRANSF_createcreates a transf from the given standard form
PK_TRANSF_create_equal_scalecreates an equal scaling transformation
PK_TRANSF_create_reflectioncreates a reflection transformation
PK_TRANSF_create_rotationcreates a rotation transformation
PK_TRANSF_create_translationcreate a translation transformation
PK_TRANSF_create_viewreturns a valid viewing transform given a unit vector that designates the desired 'view_direction'
PK_TRANSF_is_equaldetermines whether two transformations are equal
PK_TRANSF_transform_2applies a transform to another transform

[back to top]

PK_TRCURVE

PK_TRCURVE_ask

writes the standard form of a trcurve at the given address

[back to top]

PK_VECTOR

PK_VECTOR_is_equal

tests whether the two vectors are equal within the current session precision
PK_VECTOR_is_paralleltests whether the two vectors are parallel within the current session angle precision
PK_VECTOR_is_zerotests whether the given vector 'vec' is zero within the current session precision
PK_VECTOR_make_lsq_planecreates a plane by least-squares fitting to a set of position vectors
PK_VECTOR_normalisethe argument vector is normalised, unless the magnitude of the vector is strictly equal to 0
PK_VECTOR_perpendicularaccepts a PK_VECTOR1_t and a PK_VECTOR_t and returns a pointer to a PK_VECTOR1_t
PK_VECTOR_transformapplies the given transform to the position vector and returns the result
PK_VECTOR_transform_directionapplies the given transformation to the direction vector and if necessary normalises the result

[back to top]

PK_VERTEX

PK_VERTEX_ask_body

returns the body of the given vertex
PK_VERTEX_ask_facesreturns the set of faces at the given vertex
PK_VERTEX_ask_isolated_loopsreturns the set of isolated loops at the given vertex
PK_VERTEX_ask_oriented_edgesreturns the list of edges at the given vertex, together with their orientations
PK_VERTEX_ask_pointreturns the point at the given vertex, if one exists, otherwise PK_ENTITY_null
PK_VERTEX_ask_precisionreturns the 'precision' of the given 'vertex'
PK_VERTEX_ask_shellsreturns the set of shells at the given vertex
PK_VERTEX_ask_typeclassifies the given vertex
PK_VERTEX_attach_pointsattaches points to vertices
PK_VERTEX_delete_acorndeletes the given acorn vertices
PK_VERTEX_euler_deletedeletes a vertex and its edge
PK_VERTEX_euler_merge_edgesdeletes a vertex from an edge
PK_VERTEX_euler_splitsplits a vertex, replacing it with an edge
PK_VERTEX_make_blendthe given 'vertex' of a sheet or wire body is replaced by a circular blend producing one new 'edge' and two new 'vertices'
PK_VERTEX_optimisegiven a tolerant vertex, this function attempts to modify the position of the vertex and the end points of any trimmed curves, such that the maximum deviation falls within the given target value
PK_VERTEX_remove_edgecuts a body at a given vertex
PK_VERTEX_set_precisionsets the 'precision' of the given 'vertex'
PK_VERTEX_spinspins an end vertex of a wire body or the sole vertex of a minimum body into an edge
PK_VERTEX_sweepsweeps an end vertex of a wire body or the sole vertex of a minimum body into an edge

[back to top]