#ifndef PROSMTBEND_H
#define PROSMTBEND_H
/*
Creo Parametric TOOLKIT declarations related to SheetMetal Bend feature
*/
#include <ProToolkit.h>
#include <ProSmtFlangeWall.h>
PRO_BEGIN_C_DECLS
/************************************************************************
Feature element tree :
PRO_E_FEATURE_TREE
|
|--PRO_E_FEATURE_TYPE
|
|--PRO_E_STD_FEATURE_NAME
|
|--PRO_E_SMT_BEND_FORM
|
|--PRO_E_SMT_BEND_LINE
| |
| |--PRO_E_SMT_BEND_LINE_TYPE
| |
| |--PRO_E_SMT_BEND_REF_SURFACE
| |
| |--PRO_E_STD_SECTION
| |
| |--PRO_E_SMT_BEND_CURVE
| | |
| | |--PRO_E_STD_CURVE_COLLECTION_APPL
| | |
| | |--PRO_E_SMT_BEND_CURVE_USE_OFFSET
| | |
| | |--PRO_E_SMT_BEND_CURVE_OFFSET_VALUE
| |
| |--PRO_E_SMT_BEND_LINE_INTERNAL
| | |
| | |--PRO_E_SMT_BEND_LINE_REF_END1
| | |
| | |--PRO_E_SMT_BEND_LINE_REF_END2
| | |
| | |--PRO_E_SMT_BEND_LINE_REF_OFFSET1
| | |
| | |--PRO_E_SMT_BEND_LINE_REF_OFFSET2
| | |
| | |--PRO_E_SMT_BEND_LINE_REF_OFFSET1_VALUE
| | |
| | |--PRO_E_SMT_BEND_LINE_REF_OFFSET2_VALUE
|
|--PRO_E_SMT_BEND_FIXED_SIDE
|
|--PRO_E_SMT_BEND_LOCATION
|
|--PRO_E_SMT_BEND_DIRECTION
|
|--PRO_E_SMT_BEND_ANGLE
| |
| |--PRO_E_SMT_BEND_ANGLE_TYPE
| |
| |--PRO_E_SMT_BEND_ANGLE_VALUE
|
|--PRO_E_SMT_BEND_TRANS_FLIP
|
|--PRO_E_SMT_BEND_TRANS_AREAS
| |
| |--PRO_E_SMT_BEND_TRANS_SET
| |
| |--PRO_E_STD_SECTION
|
|--PRO_E_SMT_FILLETS
| |
| |--PRO_E_SMT_FILLETS_SIDE
| |
| |--PRO_E_SMT_FILLETS_VALUE
|
|--PRO_E_SMT_BEND_RELIEF
| |
| |--PRO_E_SMT_BEND_RELIEF_SIDE1
| | |
| | |--PRO_E_BEND_RELIEF_TYPE
| | |
| | |--PRO_E_BEND_RELIEF_WIDTH
| | |
| | |--PRO_E_BEND_RELIEF_DEPTH_TYPE
| | |
| | |--PRO_E_BEND_RELIEF_DEPTH
| | |
| | |--PRO_E_BEND_RELIEF_ANGLE
| |
| |--PRO_E_SMT_BEND_RELIEF_SIDE2
| | |
| | |--PRO_E_BEND_RELIEF_TYPE
| | |
| | |--PRO_E_BEND_RELIEF_WIDTH
| | |
| | |--PRO_E_BEND_RELIEF_DEPTH_TYPE
| | |
| | |--PRO_E_BEND_RELIEF_DEPTH
| | |
| | |--PRO_E_BEND_RELIEF_ANGLE
|
|--PRO_E_SMT_DEV_LEN_CALCULATION
| |
| |--PRO_E_SMT_DEV_LEN_SOURCE
| |
| |--PRO_E_SMT_DEV_LEN_Y_FACTOR
| | |
| | |--PRO_E_SMT_DEV_LEN_Y_FACTOR_TYPE
| | |
| | |--PRO_E_SMT_DEV_LEN_Y_FACTOR_VALUE
| |
| |--PRO_E_SMT_DEV_LEN_BEND_TABLE
|
************************************************************************
================================================================================
Element Id Element Name Data Type
================================================================================
PRO_E_FEATURE_TYPE Feature Type PRO_VALUE_TYPE_INT
PRO_E_STD_FEATURE_NAME Feature Name PRO_VALUE_TYPE_WSTRING
PRO_E_SMT_BEND_FORM Bend Form PRO_VALUE_TYPE_INT
PRO_E_SMT_BEND_LINE Bend Line Compound
PRO_E_SMT_BEND_LINE_TYPE Bend Line Type PRO_VALUE_TYPE_INT
See Note 1.
PRO_E_SMT_BEND_REF_SURFACE Bend line ref surface PRO_VALUE_TYPE_SELECTION
See Note 1.
PRO_E_SMT_BEND_CURVE Bend Curve Compound
See Note 1.
PRO_E_STD_CURVE_COLLECTION_APPL Bend Line Chain PRO_VALUE_TYPE_POINTER
PRO_E_SMT_BEND_CURVE_USE_OFFSET Bend Curve offset PRO_VALUE_TYPE_INT
PRO_E_SMT_BEND_CURVE_OFFSET_VALUE Bend Curve offset val PRO_VALUE_TYPE_DOUBLE
PRO_E_SMT_BEND_LINE_INTERNAL Internal Bend Line Compound
See Note 1.
PRO_E_SMT_BEND_LINE_REF_END1 Bend line edge ref PRO_VALUE_TYPE_SELECTION
PRO_E_SMT_BEND_LINE_REF_END2 Bend line edge ref PRO_VALUE_TYPE_SELECTION
PRO_E_SMT_BEND_LINE_REF_OFFSET1 Bend line offset ref PRO_VALUE_TYPE_SELECTION
PRO_E_SMT_BEND_LINE_REF_OFFSET2 Bend line offset ref PRO_VALUE_TYPE_SELECTION
See Note 2.
PRO_E_SMT_BEND_LINE_REF_OFFSET1_VALUE offset value PRO_VALUE_TYPE_DOUBLE
PRO_E_SMT_BEND_LINE_REF_OFFSET2_VALUE offset value PRO_VALUE_TYPE_DOUBLE
See Note 2.
PRO_E_SMT_BEND_FIXED_SIDE Bend Fixed Side PRO_VALUE_TYPE_INT
PRO_E_SMT_BEND_LOCATION Bend Side PRO_VALUE_TYPE_INT
PRO_E_SMT_BEND_DIRECTION Bend Direction PRO_VALUE_TYPE_INT
PRO_E_SMT_BEND_ANGLE Bend Angle Compound
See Note 3.
PRO_E_SMT_BEND_ANGLE_TYPE Bend Angle Type PRO_VALUE_TYPE_INT
PRO_E_SMT_BEND_ANGLE_VALUE Bend Angle Value PRO_VALUE_TYPE_DOUBLE
PRO_E_SMT_BEND_TRANS_FLIP Bend Trans flip PRO_VALUE_TYPE_INT
See Note 4.
PRO_E_SMT_BEND_TRANS_AREAS Bend Trans. Areas Array (Optional)
PRO_E_SMT_BEND_TRANS_SET Bend Trans. Set Compound
PRO_E_SMT_FILLETS Fillets Compound
PRO_E_SMT_FILLETS_SIDE Radius Side PRO_VALUE_TYPE_INT
PRO_E_SMT_FILLETS_VALUE Radius Value PRO_VALUE_TYPE_DOUBLE
PRO_E_SMT_BEND_RELIEF Bend Relief Compound
PRO_E_SMT_BEND_RELIEF_SIDE1 Side 1 Relief Compound
PRO_E_SMT_BEND_RELIEF_SIDE2 Side 2 Relief Compound
PRO_E_BEND_RELIEF_TYPE Relief Type PRO_VALUE_TYPE_INT
PRO_E_BEND_RELIEF_WIDTH Relief Width PRO_VALUE_TYPE_DOUBLE
PRO_E_BEND_RELIEF_DEPTH_TYPE Relief Depth type PRO_VALUE_TYPE_INT
See Note 5.
PRO_E_BEND_RELIEF_DEPTH Relief Depth value PRO_VALUE_TYPE_DOUBLE
PRO_E_BEND_RELIEF_ANGLE Relief Angle PRO_VALUE_TYPE_DOUBLE
PRO_E_SMT_DEV_LEN_CALCULATION Developed Length Compound
PRO_E_SMT_DEV_LEN_SOURCE Dev Length Source PRO_VALUE_TYPE_INT
PRO_E_SMT_DEV_LEN_Y_FACTOR Dev Length Y Factor Compound
PRO_E_SMT_DEV_LEN_Y_FACTOR_TYPE Y Factor Type PRO_VALUE_TYPE_INT
PRO_E_SMT_DEV_LEN_Y_FACTOR_VALUE Y Factor Value PRO_VALUE_TYPE_DOUBLE
PRO_E_SMT_DEV_LEN_BEND_TABLE Dev Length Bend Table PRO_VALUE_TYPE_INT
-------------------------------------------------------------------------------
Note 1.
The Element PRO_E_SMT_BEND_LINE_TYPE controls how the bend line is constructed :
when the type is: then the element:
A. PRO_SMT_BEND_LINE_CURVE - PRO_E_SMT_BEND_CURVE is available
B. PRO_SMT_BEND_LINE_INTERNAL_LINE - PRO_E_SMT_BEND_LINE_INTERNAL is available
C. PRO_SMT_BEND_LINE_SKETCH - PRO_E_STD_SECTION is available
Also,
The Element PRO_E_SMT_BEND_REF_SURFACE is availble when PRO_E_SMT_BEND_LINE_TYPE
is PRO_SMT_BEND_LINE_INTERNAL_LINE OR PRO_SMT_BEND_LINE_SKETCH .
-------------------------------------------------------------------------------
Note 2.
Elements PRO_E_SMT_BEND_LINE_REF_OFFSET1, PRO_E_SMT_BEND_LINE_REF_OFFSET1_VALUE
are available when PRO_E_SMT_BEND_LINE_REF_END1 has an EDGE reference .
Elements PRO_E_SMT_BEND_LINE_REF_OFFSET2, PRO_E_SMT_BEND_LINE_REF_OFFSET2_VALUE
are available when PRO_E_SMT_BEND_LINE_REF_END2 has an EDGE reference .
-------------------------------------------------------------------------------
Note 3.
The Compound PRO_E_SMT_BEND_ANGLE is available when the Element
PRO_E_SMT_BEND_FORM is set to PRO_SMT_BEND_FORM_ANGLE
-------------------------------------------------------------------------------
Note 4.
The Element PRO_E_SMT_BEND_TRANS_FLIP is available only if there is one
transition set in the feature.
-------------------------------------------------------------------------------
Note 5.
The element PRO_E_BEND_RELIEF_DEPTH_TYPE has been added in Creo Parametric.
This element rules the visibility of the bend relief depth element
PRO_E_BEND_RELIEF_DEPTH. The old element PRO_E_BEND_RELIEF_DEPTH will be used
if PRO_E_BEND_RELIEF_DEPTH_TYPE is PRO_BEND_RLF_DEPTH_BLIND or
PRO_BEND_RLF_DEPTH_TYPE_PARAM and part parameter SMT_DFLT_BEND_REL_DEPTH_TYPE
is "Blind". It is recommended to define PRO_E_BEND_RELIEF_DEPTH_TYPE explicitly
for all Creo Parametric TOOLKIT applications. Otherwise the element will be automatically
filled by the default value. The default value in Creo Parametric depends on
the part parameter SMT_DFLT_BEND_REL_DEPTH_TYPE and the configuration option
smt_drive_tools_by_parameters Yes/No. If the value of the option is No,
then the default value will be the last bend relief type, as selected
by the user in the dashboard UI during creation of a new feature.
If the default value is not "Blind", Creo Parametric TOOLKIT applications prior to this
release will not use the element PRO_E_BEND_RELIEF_DEPTH.
To fix it, set PRO_E_BEND_RELIEF_DEPTH_TYPE to PRO_BEND_RLF_DEPTH_BLIND.
================================================================================
Element Id Valid Values
================================================================================
PRO_E_FEATURE_TYPE PRO_FEAT_BEND
PRO_E_SMT_BEND_FORM ProBendForm
PRO_E_SMT_BEND_LINE_TYPE ProBendLineType
PRO_E_SMT_BEND_CURVE_USE_OFFSET PRO_B_TRUE, PRO_B_FALSE
PRO_E_SMT_BEND_REF_SURFACE Surface
PRO_E_SMT_BEND_LINE_REF_END1 Edge
PRO_E_SMT_BEND_LINE_REF_END2 Edge
PRO_E_SMT_BEND_LINE_REF_OFFSET1 Edge
PRO_E_SMT_BEND_LINE_REF_OFFSET2 Edge
PRO_E_SMT_BEND_FIXED_SIDE PRO_SMT_BEND_SIDE_ONE, PRO_SMT_BEND_SIDE_TWO
PRO_E_SMT_BEND_LOCATION ProBendSide
PRO_E_SMT_BEND_DIRECTION PRO_SMT_BEND_SIDE_ONE, PRO_SMT_BEND_SIDE_TWO
PRO_E_SMT_BEND_ANGLE_TYPE ProBendAngleType
PRO_E_SMT_BEND_TRANS_FLIP PRO_SMT_BEND_SIDE_ONE, PRO_SMT_BEND_SIDE_TWO
PRO_E_SMT_FILLETS_SIDE ProSmdRadType (See ProSmtFlangeWall.h)
PRO_E_BEND_RELIEF_TYPE ProBendRlfType (See ProSmtFlangeWall.h)
PRO_E_BEND_RELIEF_DEPTH_TYPE ProBendRlfDepthType (See ProSmtFlangeWall.h)
PRO_E_SMT_DEV_LEN_SOURCE ProDvlLenSrcType (See ProSmtFlangeWall.h)
PRO_E_SMT_DEV_LEN_Y_FACTOR_TYPE ProDvlLenFactor (See ProSmtFlangeWall.h)
PRO_E_SMT_DEV_LEN_BEND_TABLE int (bend table ID)
================================================================================
************************************************************************/
typedef enum _ProBendForm
{
PRO_SMT_BEND_FORM_ANGLE = 1,
PRO_SMT_BEND_FORM_ROLL = 2
} ProBendForm;
typedef enum _ProBendSide
{
PRO_SMT_BEND_SIDE_ONE = 0,
PRO_SMT_BEND_SIDE_TWO = 1,
PRO_SMT_BEND_BOTH_SIDES = 2
} ProBendSide;
typedef enum _ProBendAngleType
{
PRO_SMT_BEND_ANGLE_INTERNAL = 0,
PRO_SMT_BEND_ANGLE_EXTERNAL = 1 /* Default */
} ProBendAngleType;
typedef enum _ProBendLineType
{
PRO_SMT_BEND_LINE_NOT_DEFINED = -1,
PRO_SMT_BEND_LINE_SKETCH = 0,
PRO_SMT_BEND_LINE_CURVE = 1,
PRO_SMT_BEND_LINE_INTERNAL_LINE = 2
} ProBendLineType;
PRO_END_C_DECLS
#endif