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):
ProMdlCurrentGet()
ProMdlDelete()
ProMdlDisplay()
ProMdlErase()
ProMdlEraseAll()
ProMdlIdGet()
ProMdlInit()
ProMdlModificationVerify()
ProMdlNameGet()
ProMdlPostfixIdGet()
ProSolidPostfixIdGet()
ProMdlSessionIdGet()
ProMdlSave()
ProMdlSubtypeGet()
ProMdlToModelitem()
ProMdlTypeGet()
ProMdlWindowGet()
ProMessageClear()
ProMessageDisplay()
ProMessageDoubleRead()
ProMessageIntegerRead()
ProMessagePasswordRead()
ProMessageStringRead()
ProCmdActionAdd()
ProMenubarmenuPushbuttonAdd()
ProDimensionInit()
ProDimensionSymbolGet()
ProDimensionValueGet()
ProSolidDimensionVisit()
ProModelitemInit()
ProModelitemMdlGet()
ProParameterInit()
ProParameterNameGet()
ProParameterValueGet()
ProParameterVisit()
ProParamvalueValueGet()
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>
COPYRIGHT
The CAD::ProEngineer module is Copyright (c) 2003 Marc Mettes. All rights reserved.
You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.