CAD::ProEngineer - Perl extension for the Pro/Engineer API (Pro/Toolkit)
use CAD::ProEngineer; blah blah blah
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) ...
None by default, but a pseudo object oriented syntax can be used.
Marc Mettes, <marcs_perl@yahoo.com>
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.
perl, perlapi, perlxs, perlembed.
To install CAD::ProEngineer, copy and paste the appropriate command in to your terminal.
cpanm
cpanm CAD::ProEngineer
CPAN shell
perl -MCPAN -e shell install CAD::ProEngineer
For more information on module installation, please visit the detailed CPAN module installation guide.