Element Trees: Datum Curves
This section describes how to create, redefine, and access data for datum curve features using Creo TOOLKIT. The section Element Trees: Datum Features provides necessary background for creating features; we recommend you read that material first.
Datum Curve Features
The element trees for datum curve features supported in Creo TOOLKIT are documented in the header file ProDtmCrv.h. Each datum feature type has a unique element tree containing the parameters and references necessary to create that type of feature.
Not all datum curve types are currently supported in Creo TOOLKIT. Some curve feature types are yet to be converted into element tree form. Other curve types have element trees with data that is not yet accessible through Creo TOOLKIT.
Common Elements
All datum curve features support the following common elements.
Element ID
Value
PRO_E_FEATURE_TYPE
PRO_FEAT_CURVE
PRO_E_CURVE_TYPE
As listed in ProCurveType. This element identifies the subtree to be used.
PRO_E_STD_FEATURE_NAME
Wstring (feature name)
Datum Curve Types
Creo TOOLKIT considers the following curve types for providing element tree access:
Sketched Datum Curves
Creo TOOLKIT provides complete element tree access to the sketched datum curves. The sketched datum curves are sketched features, and therefore must be created using the techniques described in the section Element Trees: Sketched Features.
Element ID
Value
PRO_E_CURVE_TYPE
PRO_CURVE_TYPE_SKETCHED
PRO_E_STD_SECTION
Section element tree
PRO_E_DTMCRV_DISPLAY_HATCH
Integer (PRO_B_TRUE, PRO_B_FALSE)
PRO_E_DTMCRV_HATCH_DENSITY
Double (if DISPLAY_HATCH = PRO_B_TRUE)
Trim Datum Curves
Creo TOOLKIT provides complete element tree access to trim datum curves (previously called Split datum curve).
Element ID
Value
PRO_E_CURVE_TYPE
PRO_CURVE_TYPE_SPLIT
PRO_E_STD_CRV_SPLIT_CURVE
The PRO_CURVE geometric item selected for splitting.
PRO_E_STD_CRV_DIVIDER
The geometric item used to divide the curve.
PRO_E_STD_CRV_SPLIT_SIDE
One of the ProSplit Sides enumerations
Intersect Datum Curves
Creo TOOLKIT provides complete element tree access to intersect datum curves. In the user interface, the intersect curve type results in one of the following curve types depending upon the references selected:
•  A curve based on the intersection of two surfaces
•  A curve based on the projections of two sections
The feature element tree for Intersect curve type contains two independent sets of elements to support both these feature types. The curve type determines which elements are required. As the two projections curve type contains two independent PRO_E_STD_SECTION elements, it must be created using the techniques described in the section Element Trees: Sketched Features.
Element ID
Value
PRO_E_CURVE_TYPE
PRO_CURVE_TYPE_INTSRF
PRO_E_CRV_IP_REF_TYPE
PRO_CURVE_TYPE_INTSRF
PRO_E_CRV_IP_COMP_REF1
Compound
PRO_E_CRV_IP_REF_SEL1_TYPE
PRO_CURVE_TYPE_WHOLE for the whole surface selection; PRO_CURVE_TYPE_MULTIPLE_SEL for multiple independent surface selections.
PRO_E_CRV_IP_REF1
Based on the value of PRO_E_CRV_IP_SEL1_TYPE.
If the value is whole, specifies a single selection of a datum plane, quilt, or solid geometry entity.
If the value is multiple, specifies a multi-valued element containing any number of surface items.
PRO_E_CRV_IP_COMP_REF2
Compound
PRO_E_CRV_IP_REF_SEL2_TYPE
PRO_CURVE_TYPE_WHOLE for the whole surface selection; PRO_CURVE_TYPE_MULTIPLE_SEL for multiple independent surface selections.
PRO_E_CRV_IP_REF2
Based on the value of PRO_E_CRV_IP_SEL1_TYPE.
If the value is whole, specifies a single selection of a datum plane, quilt, or solid geometry entity.
If the value is multiple, specifies a multi valued element containing any number of surface items.
PRO_E_CURVE_TYPE
PRO_CURVE_TYPE_TWO_PROJ
PRO_E_CRV_IP_REF_TYPE
PRO_CURVE_TYPE_TWO_PROJ
PRO_E_CRV_IP_COMP_SEC1
Compound
PRO_E_STD_SECTION
Section element tree
PRO_E_CRV_IP_COMP_SEC2
Compound
PRO_E_STD_SECTION
Section element tree
Wrap Datum Curves
Creo TOOLKIT provides complete element tree access to wrap datum curves (also called Formed datum curves). Because the curve type contains a PRO_E_STD_SECTION element, you must create it using the techniques described in the section Element Trees: Sketched Features.
Element ID
Value
PRO_E_CURVE_TYPE
PRO_CURVE_TYPE_WRAP
PRO_E_CRV_WRAP_SRF_TYPE
One of ProWrapSrfType
PRO_E_CRV_WRAP_SRF
Selection containing the wrap surface (surface, quilt or solid geometry)
PRO_E_STD_SECTION
Section
PRO_E_CRV_WRAP_FLIP
One of ProWrapFlip
PRO_E_CRV_WRAP_COORD_SYS
ID of the section coordinate system
Offset Datum Curves
Creo TOOLKIT provides partial element tree access to offset datum curves. In the user interface, the Offset curve type results in one of the following curve types depending upon the selected references:
•  A curve offset normal to a surface
•  A curve offset along a quilt
The feature element tree for Offset curve type contains elements that support both these feature types. The curve type determines which elements are required:
•  PRO_CURVE_TYPE_OFFSET is offset normal to a surface
•  PRO_CURVE_TYPE_OFFSET_IN_QUILT is offset along a quilt. Offset along a quilt is not supported in Creo TOOLKIT.
Creation, redefinition or inspection of the curve type PRO_CURVE_TYPE_OFFSET_IN_QUILT is not supported. This is because the curve type contains elements that require data at run-time, which is not currently accessible to Creo TOOLKIT.
The following table lists all the elements that are used to create the curve type PRO_CURVE_TYPE_OFFSET.
Element ID
Value
PRO_E_CURVE_TYPE
PRO_CURVE_TYPE_OFFSET
PRO_E_CRV_OFFS_FEAT_TYPE
PRO_OFFSET_FROM_SURFACE
PRO_E_CRV_OFFS_SRF_REF
Selection of surface or quilt
PRO_E_CRV_OFFS_DIR_FLIP
One of ProOffsetDirFlip
PRO_E_DATUM_CURVE_OFFSET_VAL
The offset value or scale if a graph is used for offset
PRO_E_CRV_OFFS_CRV_REF
Selection of datum curve to be offset
PRO_E_CRV_OFFS_GRAPH_REF
Selection of graph used for offset calculation (optional)
PRO_E_CRV_OFFS_ST_END
One of ProOffsetStEnd
Tangent Offset Datum Curves
The curve type Tangent Offset is obsolete in Creo Parametric. As the existing models created in earlier releases may contain this curve type, Creo TOOLKIT provides read and redefine access only for these curves.
Element ID
Value
PRO_E_CURVE_TYPE
PRO_CURVE_TYPE_TANGENT_OFFSET
PRO_E_CRV_TANG_OFFSET_CURVE
Selection of curve to be offset
PRO_E_CRV_TANG_OFFSET_SURF
Selection of surface in which to create the offset
PRO_E_CRV_TANG_OFFSET_DIR
One of ProOffsetDirection
PRO_E_CRV_TANG_OFFSET_DIST
Offset value
Datum Curves from Cross Section
Creo TOOLKIT provides complete element tree access to datum curves created using existing planar cross sections in the model. The elements for this feature type are described below:
Element ID
Value
PRO_E_CURVE_TYPE
PRO_CURVE_TYPE_FROM_XSEC
PRO_E_CRV_FROM_XSEC_REF_XSEC
Mandatory element. Specifies the selection of a cross section to be used to create the datum curve.
Datum Curves from Equation
Creo TOOLKIT provides complete element tree access to datum curves created using an equation. Some of the elements for this feature type are described below:
Element ID
Value
PRO_E_CURVE_TYPE
PRO_CURVE_TYPE_FROM_EQUATION
PRO_E_CRV_FR_EQ_REF_CSYS
Selection of coordinate system used as a reference. The coordinate system represents the location of the ‘zero point’ of the equation.
PRO_E_CRV_FR_EQ_CSYS_TYPE
One of ProCrvFrEquatCsysTypes
PRO_E_CRV_FR_EQ_PARAM_MIN
Value of the lower limit for the domain of the curve
PRO_E_CRV_FR_EQ_PARAM_MAX
Value of the upper limit for the domain of the curve
PRO_E_CRV_ENTER_EQUATION
Parametric equation in terms the variables of the selected coordinate system type
Datum Curves from Point and Direction
Creo TOOLKIT provides complete element tree access to geodesic curve created on a surface using a start point and direction. Some of the elements for this feature type are described below:
Element ID
Value
PRO_E_CURVE_TYPE
PRO_CURVE_TYPE_FROM_PNT
PRO_E_CFP_REF_POINT
Selection of the start point of the curve which can be a datum point, vertex, or coordinate system.
PRO_E_STD_SURF_COLLECTION_APPL
Collection of surfaces of a body or a quilt on which to place the curve.
PRO_E_DIRECTION_COMPOUND
Compound.
Collection of surface, plane, curve, edge axis, coordinate system axis, or vertex that defines the initial direction of the curve.
PRO_E_CFP_ANGLE
Angle between the initial direction and the tangent to the curve at the start point.
PRO_E_CFP_TERMINATION1
Compound
Extent of the curve from the start point in the selected direction.
PRO_E_CFP_TERM1_TYPE
Curve extension from start point. One of ProCrvFrPntExtentType. The values are:
•  PRO_CRV_FR_PNT_EXTENT_LENGTH—Extends the curve to a specified length
•  PRO_CRV_FR_PNT_EXTENT_REF—Extends the curve to the selected reference.
•  PRO_CRV_FR_PNT_EXTENT_DOMAIN—Extends the curve along all the selected surfaces until the curve reaches the domain boundary.
PRO_E_CFP_LENGTH1
Curve extension to the specified length.
PRO_E_STD_CURVE_COLLECTION_APPL
Bounding chain curve collection.
PRO_E_CFP_TERMINATION2
Compound.
Extent of the curve from the start point in the opposite direction.
PRO_E_CFP_TERM2_TYPE
Curve extension in the opposite direction. One of ProCrvFrPntExtentType.
PRO_E_CFP_LENGTH2
Curve extension to the specified length in the opposite direction.
PRO_E_STD_CURVE_COLLECTION_APPL
Bounding chain curve collection.
Closed Loop Curve
Creo TOOLKIT provides complete element tree access to create a composite curve that forms a closed loop by selecting chains that exist in a domain.
The Closed Loop Curve tool automatically identifies a loop that can be created from the curves and edges you select. The tool will automatically trim any excess segments of the chains that are not part of the loop.
Some of the elements for this feature type are described below:
Element ID
Value
PRO_E_CURVE_TYPE
Curve type defined by the enumerated data type ProCurveType with the valid value PRO_CURVE_TYPE_CLOSED_LOOP.
PRO_E_STD_FEATURE_NAME
Name of the feature
PRO_E_LOOP_CRV_DOMAIN
Mandatory element. Placement of the curve in the domain. The valid values are PRO_QUILT, PRO_SURFACE, or PRO_BODY.
PRO_E_STD_LOOP_COLLECTION_APPL
Mandatory element. Specify the boundary chains to form the closed loop on the placement.
Other Datum Curve Types
The following curve types contain run-time data in their element trees that is not currently accessible by Creo TOOLKIT. Currently, Creo TOOLKIT does not provide element tree access to the following curve types:
•  Copy
•  Project
•  Boundary Offset
Some other curve types, including Thru Points, From File, and Use Xsec do not currently use element trees in Creo Parametric, and are therefore not accessible via Creo TOOLKIT.