CAD::ProEngineer - Perl extension for the Pro/Engineer API (Pro/Toolkit)


CAD-ProEngineer documentation  | view source Contained in the CAD-ProEngineer distribution.

Index


NAME

Top

CAD::ProEngineer - Perl extension for the Pro/Engineer API (Pro/Toolkit)

SYNOPSIS

Top

  use CAD::ProEngineer;
  blah blah blah

DESCRIPTION

Top

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

Top

Marc Mettes, <marcs_perl@yahoo.com>

COPYRIGHT

Top

SEE ALSO

Top

perl, perlapi, perlxs, perlembed.


CAD-ProEngineer documentation  | view source Contained in the CAD-ProEngineer distribution.