PK Interface Programming Reference   

Part 1 Part 2
  1. PK Interface Programming Concepts
  1. PK Interface Functions - see list below.
  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 Tokens (Numeric)
  2. PK Tokens (Alphabetic)
  3. PK Error Codes (Numeric)
  4. PK Error Codes (Alphabetic)


Hide description below with each function name

  1. PK Interface Functions (sorted by Class)

PK_ASSEMBLY

PK_ASSEMBLY_ask_instancesreturns 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_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_askwrites 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_register_callbacksregisters a set of callback functions to be called when entities with attributes with definition attdef undergo certain events
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

[back to top]

PK_ATTRIB

PK_ATTRIB_ask_attdefreturns 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_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_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_askreturns 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_knotmodifies 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_piecewisereturns the piecewise standard form for a b-curve
PK_BCURVE_ask_splinewisereturns the splinewise standard form of a b-curve
PK_BCURVE_combinecreates a new bcurve by joining together a sequence of bcurves
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_piecewisecreates a b-curve from its piecewise standard form
PK_BCURVE_create_splinewisecreates a b-curve from its splinewise standard form
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_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_spinspins a bcurve into a bsurf
PK_BCURVE_sweepsweeps a bcurve into a bsurf

[back to top]

PK_BLENDSF

PK_BLENDSF_askreturns the standard form of a rolling ball blend surface

[back to top]

PK_BODY

PK_BODY_apply_knit_patternassembles a composite sheet or solid body by merging paired edge in the knit pattern
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_regionsreturns the regions of the given body
PK_BODY_ask_shellsreturns the set of shells in the given body
PK_BODY_ask_typeclassifies the given body
PK_BODY_ask_verticesreturns the set of vertices in the given body
PK_BODY_booleanperforms a boolean operation between the target body and the list of tool bodies
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_create_minimum_topologycreates the topology of a minimum body
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_sheet_topologycreates the topology of a sheet body
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_topologycreates the topology of a solid body
PK_BODY_create_solid_toruscreates a solid torus
PK_BODY_create_wire_topologycreates the topology of a wire 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_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_facesets finds facesets bounded by given edges on the body
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_hollowhollows a solid body by offsetting all faces of the body by the given offset distance
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 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_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_curves_normalimprints the given curves on the body by projecting them locally down face normals
PK_BODY_imprint_curves_vectorimprints the given curves on the body by projecting them in the given direction
PK_BODY_imprint_cus_normalimprints the given curves on the body by projecting them locally down face normals
PK_BODY_imprint_cus_vectorimprints the given curves on the body by projecting them in the given direction
PK_BODY_imprint_facesimprints the given faces on the body
PK_BODY_imprint_planeimprints the given plane on the body
PK_BODY_intersect_bodiesperforms a boolean intersect operation between the target body and the list of tool 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_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_swept_bodycreates a sheet or solid body by sweeping a wire or sheet profile along a wire path
PK_BODY_offsetoffsets faces of a solid or sheet body
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_reverse_orientationreverses the orientation of a body
PK_BODY_section_with_sheetsections the target body with the tool sheet 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_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 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_thickenthickens a sheet body into a solid NOTE: This function is obsolete and has been superseded by PK_BODY_thicken_2
PK_BODY_thicken_2thickens a sheet body into a solid NOTE: This function supersedes PK_BODY_thicken, which is now obsolete
PK_BODY_thicken_3thickens a sheet body into a solid body
PK_BODY_transformtransforms the given body by the given transformation
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_sheetstrims 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_knotmodifies 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_piecewisereturns the piecewise standard form for a b-surface
PK_BSURF_ask_splinewisereturns the splinewise standard form of a b-surface
PK_BSURF_createcreates a b-surface from the standard form
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_make_bcurve_u_isoparamconstructs a b-curve along a constant 'u' parameter line using the 'v' parameter interval of the b-surface
PK_BSURF_make_bcurve_v_isoparamconstructs a b-curve along a constant 'v' parameter line using the 'u' parameter interval of the b-surface

[back to top]

PK_CIRCLE

PK_CIRCLE_askwrites 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_superclassreturn 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_askreturns 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_edgesreturns 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_surfcreates one or more spcurves by embedding a given curve in 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 evalution
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_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_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_intersect_curvePK_CURVE_intersect_curve finds the intersections between specified regions of two curves
PK_CURVE_make_approxcreates a curve which is an arc length parametrised approximation to a supplied curve
PK_CURVE_make_bcurvecreates a bcurve which is coincident with the given parametric interval of the given curve
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_spcurvescreates an SPCURVE 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_bodycreates a wire body from a 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_spinspins a curve to form a surface
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_askreturns 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_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_watch_classes
PK_DEBUG_session_watch_items
PK_DEBUG_transmitsaves additional data to a transmit file

[back to top]

PK_DELTA

PK_DELTA_register_callbacksregisters the partitioned rollback frustrum, and switches on partitioned rollback

[back to top]

PK_EDGE

PK_EDGE_ask_blendreturns information about the blend on a given edge if any
PK_EDGE_ask_bodyreturns the body which contains 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_curvesattaches curves to edges
PK_EDGE_checkchecks the given edge
PK_EDGE_check_blendschecks the unfixed blends on the given edges
PK_EDGE_contains_vectordetermines whether the given position vector coincides with the given edge
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_blend_topolfinds the edges and faces affected by the blend on the given edge
PK_EDGE_find_deviationcomputes distances from edge1 to edge2
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_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_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_repairattempts to repair an array of edges
PK_EDGE_reset_precisionattempts to reset the precision of the given edge to the session precision: that is to make Parasolid regard the edge as exact
PK_EDGE_reversereverses the given edge and its associated geometry
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_blend_variablesets edges to have a variable radius blend
PK_EDGE_set_precisionsets the precision of the given edge
PK_EDGE_split_at_paramsplits an edge at the given parameter

[back to top]

PK_ELLIPSE

PK_ELLIPSE_askwrites 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_attribsreturns 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_partitionreturns the partition containing the given entity
PK_ENTITY_ask_user_fieldreturns the user field values for the given entity
PK_ENTITY_copyproduces 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_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_set_user_fieldsets the user field values for the given entity

[back to top]

PK_ERROR

PK_ERROR_ask_callbacksreturns the current application error handler (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
PK_ERROR_reraiserepeats the most recent PK error

[back to top]

PK_FACE

PK_FACE_ask_bodyreturns the body which contains the given face
PK_FACE_ask_edgesreturns the set of edges in the given face
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_booleanperforms a boolean operation between the list of faces of a target body and the list of faces of a tool body
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_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_deletedeletes the given faces from a solid or sheet body and repairs any resulting holes
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_sheet_bodyremoves a face from sheet
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_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_uvboxfinds a uvbox which bounds the given face in the parameter space of the face's surface
PK_FACE_hollowhollows a solid body by offsetting the given faces by the given offsets
PK_FACE_hollow_2hollows a solid body by offsetting the given faces by the given offsets
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 belonging to 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_curveimprints a curve onto a face, thereby creating a new edge or edges
PK_FACE_imprint_curves_isoclinecreates and imprints isocline curves on a given set of faces
PK_FACE_imprint_cus_isoclincreates and imprints isocline curves on a given set of faces
PK_FACE_imprint_cus_normalimprints the given array of curves on the given array of faces ( of the same body) by projecting them locally down the respective face normals
PK_FACE_imprint_cus_vectorimprints the given array of curves on the given array of faces ( of the same body ) by projecting them locally along the given vector direction
PK_FACE_imprint_facesimprints edges on the given target and tool faces
PK_FACE_imprint_pointimprints a point onto a face, thereby creating a new vertex
PK_FACE_install_surfs_isoclinereplaces the surfaces of given faces with isocline surfaces
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 are coincident per tolerance
PK_FACE_is_uvboxdetects whether a face is parametrically rectangular
PK_FACE_make_blendmakes a blend of the given faces
PK_FACE_make_neutral_sheetcreates the neutral surface defined by the surfaces on the faces and returns it as a sheet body
PK_FACE_make_sheet_bodycreates a sheet body from a collection of faces
PK_FACE_make_solid_bodiescreates solid bodies from a collection of faces
PK_FACE_offsetoffsets faces of a solid or sheet body
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 an face
PK_FACE_replace_surfsreplaces the geometry of the given faces with the supplied surfaces
PK_FACE_replace_surfs_2replaces the geometry of the given faces with the supplied surfaces
PK_FACE_replace_surfs_3replaces the geometry of the given faces with the supplied surfaces
PK_FACE_section_with_sheetsections selected regions of the target body with selected regions of the tool sheet body
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 geometries of the supplied faces, where possible
PK_FACE_spinspins one or more faces of a solid body
PK_FACE_split_at_paramsplits a face along constant parameter line
PK_FACE_sweepsweeps one or more faces of a solid body
PK_FACE_taperapplies tapering to the given faces by replacing their geometry with taper surfaces
PK_FACE_transformtransforms the given faces by the given transformations
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_askreturns 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_bodyreturns 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_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_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_askreturns the standard form of a foreign surface
PK_FSURF_createcreates a foreign surface from its standard form

[back to top]

PK_GEOM

PK_GEOM_ask_dependentsreturns the set of geometric dependents of the given 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_delete_singledeletes a single geometric entity
PK_GEOM_is_coincidentwill compare two points, two curves, or two surfaces to detect whether they occupy the same position(s) in space
PK_GEOM_rangefinds the global minimum separation between two geometrical entities
PK_GEOM_range_arrayfinds the global minimum 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_render_linerender a geometric entity throgh GO as a view independant wire frame drawing
PK_GEOM_transformtransforms the given geometric entity by the given transformation

[back to top]

PK_GROUP

PK_GROUP_add_entitiesadds the given set of entities to 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_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_entitiescreates a group within the given part containing the given set of entities
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

[back to top]

PK_INSTANCE

PK_INSTANCE_askreturns the standard form of the given instance
PK_INSTANCE_change_partmodifies the given instance so that it instances a different part
PK_INSTANCE_createcreates a 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_LINE

PK_LINE_askwrites 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_bodyreturns the body containing 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_MARK

PK_MARK_ask_followingreturns 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_ask_statereturns the current state of the non-partitioned PK rollback system
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_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_allocallocates 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_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_OFFSET

PK_OFFSET_askwrites 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_geomsadds 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_attrib_ownersreturns all the entities within the given part that have attached attributes which are have the given attribute definition and the contents of whose integer fields match those specified either by the array of values passed in, or by the supplied filter function, or both
PK_PART_ask_attribs_filterall the attributes attached to any entities within the given part which have the given attribute definition and the contents of whose integer fields match those specified either by the array of values passed in, or by the supplied filter function, or both
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 and surfaces) 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_ref_instancesreturns the set of instances which instance 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_versionreturns 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

[back to top]

PK_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_geomsreturns the set of geometric entities (points, curves and surfaces) 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_pmarksreturns the pmarks which exist in the partition
PK_PARTITION_ask_transfsreturns the set of transforms in the given partition, which are not contained within a part
PK_PARTITION_create_emptycreates a partition
PK_PARTITION_isreturns PK_LOGICAL_true if its argument is a partition
PK_PARTITION_make_pmarkcreates a partition mark in the given partition
PK_PARTITION_receivereceives a partition from the given 'file' key
PK_PARTITION_receive_deltasreceives the deltas for a partition from a file
PK_PARTITION_receive_versionreturns information about the version of Parasolid used to create a partition transmit file
PK_PARTITION_set_currentmakes the given partition the current partition
PK_PARTITION_transmittransmits the given partition to the give 'file' key

[back to top]

PK_PLANE

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

[back to top]

PK_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_gotoreturns 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_askreturns 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_bodyreturns 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_SESSION

PK_SESSION_abortmakes a request to Parasolid to abort the interrupted current operation
PK_SESSION_ask_angle_precisionreturns the session angle precision
PK_SESSION_ask_applioreturns the registered 'applio' functions for transmit file input and output
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_curr_partitionreturns the current partition
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_journallingreturns whether journalling is enabled
PK_SESSION_ask_kernel_versionreturns modeller version and datestamp
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_memory_usagereturns the amount of memory currently occupied by the model data structure
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_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_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_kernelreturns 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 give 'file' key
PK_SESSION_receive_versionreturns information about the version of Parasolid used to create a session transmit file
PK_SESSION_register_applioregisters a new set of functions for use when the 'applio' format is selected for transmit files
PK_SESSION_register_frustruminstalls a new frustrum
PK_SESSION_set_angle_precisionreturns the session angle precision
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_general_topologysets whether generalised topology is to be enabled
PK_SESSION_set_journallingsets whether journalling is to be enabled
PK_SESSION_set_precisionsets the session precision
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 give 'file' key
PK_SESSION_watch_tagsregisters an array of tagged entities which are to be watched via two application callback functions

[back to top]

PK_SHELL

PK_SHELL_ask_acorn_vertexreturns 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_askwrites 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_askwrites 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_askwrites 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_facesreturns 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
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_curves_commonfinds curves which are common to two surfaces
PK_SURF_find_min_radiifinds the minimum radius of curvature on each side of the given surface, and 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_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_bsurfcreates a bsurf which is coincident with the given parametric uvbox of the given surf
PK_SURF_make_curve_u_isoparamconstructs a curve which is coincident with a constant 'u' parameter line defined along the whole of the 'v' parameter interval of the surface
PK_SURF_make_curve_v_isoparamconstructs a curve which is coincident with a constant 'v' parameter line defined along the whole of the 'u' parameter interval of the surface
PK_SURF_make_curves_isoclinecreates isocline curves on the given surface
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 SP-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_askwrites 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_TOPOL

PK_TOPOL_ask_entities_by_attdefreturns 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_clashclashes sets of topologies and returns the (list of) body, face or edge pairs which clash
PK_TOPOL_delete_redundantremoves redundant topology from the given topol
PK_TOPOL_detach_geomdetaches geometry from topology
PK_TOPOL_eval_mass_propsevaluates mass properties of a given set of topological entities
PK_TOPOL_facetgenerate a facetted representation of topological entities in tabular form
PK_TOPOL_find_boxreturns a BOX which bounds the given topological entity
PK_TOPOL_make_general_bodycreates a general body from a set of topologies
PK_TOPOL_rangefinds the global minimum separation between two topological entities
PK_TOPOL_range_arrayfinds the global minimum 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_localfinds the local minimum separations between two topological entities
PK_TOPOL_range_local_vectorfinds the local minimum 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 a) a view independant wire frame drawing b) a view dependant wire frame drawing or c) a hidden line drawing, according to values supplied in an options structure

[back to top]

PK_TORUS

PK_TORUS_askwrites 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_askreturns the standard form of the given transf
PK_TRANSF_checkchecks the given transformation
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_transformevaluates the product of two transformations

[back to top]

PK_TRCURVE

PK_TRCURVE_askwrites the standard form of a trcurve at the given address

[back to top]

PK_VECTOR

PK_VECTOR_is_equaltests whether the two vectors are equal within the current session precision
PK_VECTOR_make_view_transfaccepts a PK_VECTOR1_t view direction and returns a viewing transform entity which incorporates this direction
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

[back to top]

PK_VERTEX

PK_VERTEX_ask_bodyreturns 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_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]