NAME
CAD::ProEngineer - Perl extension for the Pro/Engineer API (Pro/Toolkit)
SYNOPSIS
use CAD::ProEngineer;
blah blah blah
DESCRIPTION
This module implements a few Pro/Toolkit functions in perl. There are two main components: an embedded imterpreter and an extension module. The embedded interpreter can be found in the perl folder. This is an early build so don't expect a flawless install to work, but the module works very well on Solaris and Windows. It is not fully tested, so your mileage may vary.
Functions implemented (to be documented at a later time):
ProCmdActionAdd()
ProDimensionInit()
ProDimensionSymbolGet()
ProDimensionValueGet()
ProMdlCurrentGet()
ProMdlDelete()
ProMdlDisplay()
ProMdlErase()
ProMdlEraseAll()
ProMdlIdGet()
ProMdlInit()
ProMdlModificationVerify()
ProMdlNameGet()
ProMdlPostfixIdGet()
ProMdlSave()
ProMdlSessionIdGet()
ProMdlSubtypeGet()
ProMdlToModelitem()
ProMdlTypeGet()
ProMdlWindowGet()
ProMenubarmenuPushbuttonAdd()
ProMessageClear()
ProMessageDisplay()
ProMessageDoubleRead()
ProMessageIntegerRead()
ProMessagePasswordRead()
ProMessageStringRead()
ProModelitemInit()
ProModelitemMdlGet()
ProParameterInit()
ProParameterNameGet()
ProParameterValueGet()
ProParameterVisit()
ProParamvalueValueGet()
ProSolidDimensionVisit()
ProSolidPostfixIdGet()
ProTreetoolRefresh()
These can be used by three (or more) methods:
Method #1:
$retval = CAD::ProEngineer::ProMdlCurrentGet();
Method #2:
$o = new CAD::ProEngineer;
$retval = $o->ProMdlCurrentGet($mdl);
Method #2:
$o = new CAD::ProEngineer;
($mdl,$retval) = $o->ProMdlCurrentGet();
Enum's available as perl subroutines:
PRO_TK_NO_ERROR
PRO_TK_GENERAL_ERROR
PRO_TK_BAD_INPUTS
PRO_TK_USER_ABORT
PRO_TK_E_NOT_FOUND
PRO_TK_E_FOUND
PRO_TK_LINE_TOO_LONG
PRO_TK_CONTINUE
PRO_TK_BAD_CONTEXT
PRO_TK_NOT_IMPLEMENTED
PRO_TK_OUT_OF_MEMORY
PRO_TK_COMM_ERROR
PRO_TK_NO_CHANGE
PRO_TK_SUPP_PARENTS
PRO_TK_PICK_ABOVE
PRO_TK_INVALID_DIR
PRO_TK_INVALID_FILE
PRO_TK_CANT_WRITE
PRO_TK_INVALID_TYPE
PRO_TK_INVALID_PTR
PRO_TK_UNAV_SEC
PRO_TK_INVALID_MATRIX
PRO_TK_INVALID_NAME
PRO_TK_NOT_EXIST
PRO_TK_CANT_OPEN
PRO_TK_ABORT
PRO_TK_NOT_VALID
PRO_TK_INVALID_ITEM
PRO_TK_MSG_NOT_FOUND
PRO_TK_MSG_NO_TRANS
PRO_TK_MSG_FMT_ERROR
PRO_TK_MSG_USER_QUIT
PRO_TK_MSG_TOO_LONG
PRO_TK_CANT_ACCESS
PRO_TK_OBSOLETE_FUNC
PRO_TK_NO_COORD_SYSTEM
PRO_TK_E_AMBIGUOUS
PRO_TK_E_DEADLOCK
PRO_TK_E_BUSY
PRO_TK_E_IN_USE
PRO_TK_NO_LICENSE
PRO_TK_BSPL_UNSUITABLE_DEGREE
PRO_TK_BSPL_NON_STD_END_KNOTS
PRO_TK_BSPL_MULTI_INNER_KNOTS
PRO_TK_BAD_SRF_CRV
PRO_TK_EMPTY
PRO_TK_BAD_DIM_ATTACH
PRO_TK_NOT_DISPLAYED
PRO_TK_CANT_MODIFY
PRO_TK_CHECKOUT_CONFLICT
PRO_TK_CRE_VIEW_BAD_SHEET
PRO_TK_CRE_VIEW_BAD_MODEL
PRO_TK_CRE_VIEW_BAD_PARENT
PRO_TK_CRE_VIEW_BAD_TYPE
PRO_TK_CRE_VIEW_BAD_EXPLODE
PRO_TK_UNATTACHED_FEATS
PRO_TK_REGEN_AGAIN
PRO_TK_DWGCREATE_ERRORS
PRO_MDL_UNUSED
PRO_MDL_ASSEMBLY
PRO_MDL_PART
PRO_MDL_DRAWING
PRO_MDL_3DSECTION
PRO_MDL_2DSECTION
PRO_MDL_LAYOUT
PRO_MDL_DWGFORM
PRO_MDL_MFG
PRO_MDL_REPORT
PRO_MDL_MARKUP
PRO_MDL_DIAGRAM
PROMDLSTYPE_NONE
PROMDLSTYPE_BULK
PROMDLSTYPE_PART_SOLID
PROMDLSTYPE_PART_COMPOSITE
PROMDLSTYPE_PART_SHEETMETAL
PROMDLSTYPE_PART_CONCEPT_MODEL
PROMDLSTYPE_ASM_DESIGN
PROMDLSTYPE_ASM_INTERCHANGE
PROMDLSTYPE_ASM_INTCHG_SUBST
PROMDLSTYPE_ASM_INTCHG_FUNC
PROMDLSTYPE_ASM_CLASS_CAV
PROMDLSTYPE_ASM_VERIFY
PROMDLSTYPE_ASM_PROCPLAN
PROMDLSTYPE_ASM_NCMODEL
PROMDLSTYPE_MFG_NCASM
PROMDLSTYPE_MFG_NCPART
PROMDLSTYPE_MFG_EXPMACH
PROMDLSTYPE_MFG_CMM
PROMDLSTYPE_MFG_SHEETMETAL
PROMDLSTYPE_MFG_CAST
PROMDLSTYPE_MFG_MOLD
PROMDLSTYPE_MFG_DIEFACE
PROMDLSTYPE_MFG_HARNESS
PROMDLSTYPE_MFG_PROCPLAN
PROMDLSTYPE_REGEN_BACKUP
PROMDLSTYPE_OLD_REG_MFG
PROMDLSTYPE_ASM_CLASS_SCAN_SET
PRO_B_FALSE
PRO_B_TRUE
uiCmdPrioDefault
uiProeImmediate
uiProeAsynch
uiProe2ndImmediate
uiProe3rdImmediate
uiCmdNoPriority
These can be used by two methods:
Method #1:
if ($retval == CAD::ProEngineer::PRO_B_TRUE) ...
Method #2:
$o = new CAD::ProEngineer;
if ($retval == $o->PRO_B_TRUE) ...
EXPORT
None by default, but a pseudo object oriented syntax can be used.
AUTHOR
Marc Mettes, <marcs_perl@yahoo.com>
SEE ALSO
perl.