Contents Book Index Books 

Contents



About This Guide

Purpose
Audience and Prerequisite Experience
Contents
Documentation
Conventions

Fundamentals

Introduction to Pro/TOOLKIT
The Relationship Between Pro/TOOLKIT and Pro/DEVELOP
Pro/TOOLKIT Documentation and the Online Browser
Description of the Browser Interface
Topic/Object Selection Frame
Navigating the Tree
Browsing the User's Guide
Browsing the Pro/TOOLKIT Objects
Browsing the Object Hierarchy
Searching for a Specified String
Available Actions Frame
Display Frame
User's Guide Documentation
Pro/TOOLKIT Object Description
Pro/TOOLKIT Action Documentation
Button Frame
Pro/TOOLKIT Style
Objects and Actions
Function Prototyping
Function Error Statuses
Installing Pro/TOOLKIT
Overview
Add or Update Pro/TOOLKIT Installation
Version Compatibility: Pro/ENGINEER and Pro/TOOLKIT
Testing the Pro/TOOLKIT Installation
Step 1--Compile and Link
Step 2--Register
Step 3--Run Pro/ENGINEER
Step 4--Repeat the Test in DLL Mode
Installing and Using Online Documentation
Developing a Pro/TOOLKIT Application
How Pro/TOOLKIT Works
Compiling and Linking a Pro/TOOLKIT Application
Makefiles
Registering a Pro/TOOLKIT Application
Versioning Requirements
Stopping and Restarting a Pro/TOOLKIT Application
Using a Source-Code Debugger on a Pro/TOOLKIT Application
Unlocking a Pro/TOOLKIT Application
Unlock Messages
Structure of a Pro/TOOLKIT Application
Essential Pro/TOOLKIT Include Files
The Core of a Pro/TOOLKIT Application
user_initialize() Arguments
Using Pro/TOOLKIT to Make a Batch Pro/ENGINEER Session
ProEngineerEnd()
Example 1: Batch Mode Operation
User-Supplied Main
ProToolkitMain()
Asynchronous Mode
Simple Asynchronous Mode
Starting and Stopping Pro/ENGINEER
ProEngineerStart()
ProEngineerEnd()
Connecting to a Pro/ENGINEER Process
ProEngineerConnect()
ProEngineerDisconnect()
Example 2: Connecting to Pro/ENGINEER
Example 3: Retrieve, Calculate, Delete
Status of a Pro/ENGINEER Process
ProEngineerStatusGet()
Full Asynchronous Mode
ProEventProcess()
ProTermFuncSet()
ProTerminationAction()
Setting Up a Non-Interactive Session
Example 4: Asynchronous Mode Application
Pro/TOOLKIT Techniques
Object Handles
OHandles
DHandles
Workspace Handles
The Selection Object
ProSelectionAlloc()
ProSelectionSet()
ProSelectionCopy()
ProSelectionFree()
ProSelectionAsmcomppathGet()
ProSelectionModelitemGet()
ProSelectionUvParamSet()
ProSelectionViewGet()
ProSelectionPoint3dGet()
ProSelectionDepthGet()
ProSelectionVerify()
ProSelectionWindowIdGet()
ProSelectionUvparamSet()
ProSelectionViewSet()
ProSelectionPoint3dSet()
ProSelectionDwgtblcellGet()
Unpacking a ProSelection Object
Building a ProSelection Object
ProSelection Function Examples
Interactive Selection
ProSelect()
Highlighting
ProSelectionHighlight()
ProSelectionDisplay()
ProSelectionUnhighlight()
Visit Functions
Example 5: Listing Holes in a Model
Expandable Arrays
ProArrayAlloc()
ProArrayFree()
ProArraySizeGet()
ProArraySizeSet()
ProArrayMaxCountGet()
ProArrayObjectAdd()
ProArrayObjectRemove()
Example 6: Expandable Arrays
Coordinate Systems and Transformations
Coordinate Systems
Solid Coordinate System
Screen Coordinate System
Window Coordinate System
Drawing Coordinate System
Coordinate Systems in Assemblies
Coordinate System Datums
Transformations
ProPntTrfEval()
ProVectorTrfEval()
Transforming to Screen Coordinates
ProViewMatrixGet()
Example 7: Solid Coordinates to Screen Coordinates
Transforming to Coordinate System Datum Coordinates
ProCsysDataGet()
ProMatrixInit()
Transforming Coordinates of an Assembly Member
ProAsmcomppathTrfGet()
Transforming from Solid to Screen Coordinates in a Drawing
ProDrawingViewTransformGet()
Transforming from Screen to Drawing Coordinates in a Drawing
prodb_drawing_sheet_info()
Wide Strings
Defining wchar_t
Setting the Hardware Type
Checking Your Declaration of wchar_t
ProWcharSizeVerify()
Wide String Functions
ProStringToWstring()
ProWstringToString()

Converting from Pro/DEVELOP

Using Pro/DEVELOP Applications with Pro/TOOLKIT
Techniques of Conversion and Mixing
Terminology
General Functionality
Registry Files
Menu and Message Files
Unlocking Your Application
Application Program Structure
Handles and Data Types

Messages

Writing a Message to the Message Window
ProMessageDisplay()
ProMessageClear()
Text Message File Format and Restrictions
Restrictions on the Text Message File
Contents of the Message File
Writing a Message to an Internal Buffer
ProMessageToBuffer()
Getting Keyboard Input
ProMessageIntegerRead()
ProMessageDoubleRead()
ProMessageStringRead()
ProMessagePasswordRead()
Example 1: Displaying Messages and Retrieving Keyboard Input

Menus

Introduction
Menu Bar Buttons and Menus
Using the Trail File to Determine UI Names
Adding a PushButton to a Menu Bar Menu
Adding an Action to Pro/ENGINEER
ProCmdActionAdd()
Adding a Menu Button
ProMenubarmenuPushbuttonAdd()
Adding a Check Button to a Menu Bar Menu
Adding an Option Command to Pro/ENGINEER--Check Button
ProCmdOptionAdd()
ProMenubarmenuChkbuttonValueGet()
ProMenubarmenuChkbuttonValueSet()
Adding a Check Button
ProMenubarmenuChkbuttonAdd()
Adding a RadioButton Group to a Menu Bar Menu
Adding an Option Command to Pro/ENGINEER--Radio Group
ProCmdOptionAdd()
ProMenubarmenuRadiogrpValueGet()
ProMenubarmenuRadiogrpValueSet()
Adding a Radio Button Group
ProMenubarmenuRadiogrpAdd()
Adding a Menu to a Menu Bar Menu
ProMenubarmenuMenuAdd()
Adding a Menu to the Menu Bar
ProMenubarMenuAdd()
Example 1: Adding to the Menu Bar
Manipulating Existing Commands
ProCmdCmdIdFind()
ProCmdAccessFuncAdd()
ProCmdAccessFuncRemove()
ProCmdBracketFuncAdd()
Mode-Specific Buttons and Menus
Menu Files
Names and Contents of Menu Files
Syntax and Semantics of Menu Files
Example 2: Sample Menu File
Example 3: Adding Alternate Names and Help Text to a Button
Adding a Menu Button
ProMenuFileRegister()
ProMenuAuxfileRegister()
ProMenubuttonActionSet()
ProMenubuttonGenactionSet()
Calling ProMenuFileRegister()
Calling ProMenuAuxfileRegister()
Calling ProMenubuttonActionSet()
Example 4: Adding a Menu Button to a Pro/ENGINEER Menu
New Menus
ProMenuProcess()
ProMenuDelete()
ProMenuCreate()
ProMenuHold()
ProMenuDeleteWithStatus()
Exit Actions
Defining a New Menu
Example 5: Defining a New Menu that Closes Itself
Example 6: Defining a New Menu the User Must Close
Using a New Menu
Example 7: Using a New Menu
Creating a Menu for Selecting a Single Value
ProMenuDeleteWithStatus()
ProMenubuttonActionSet()
ProMenuProcess()
Example 8: Creating a Menu that Selects a Value
Compound Menus
ProCompoundmenuCreate()
Preempting Pro/ENGINEER Commands
ProMenubuttonPreactionSet()
ProMenubuttonPostactionSet()
Calling ProMenubutton*actionSet()
Example 9: Asking for Confirmation on Quit Window
Submenus
ProMenuCreate()
Making a Menu a Submenu
Manipulating Menus
ProMenubuttonLocationSet()
Data Menus
ProMenuModeSet()
ProMenuDatamodeSet()
Calling ProMenuModeSet() and ProMenuDatamodeSet()
Setting Menu Buttons
ProMenubuttonHighlight()
ProMenubuttonUnhighlight()
Calling ProMenubuttonHighlight() and ProMenubuttonUnhighlight()
Controlling Accessibility of Menu Buttons
ProMenubuttonActivate()
ProMenubuttonDeactivate()
Pushing and Popping Menus
ProMenuVisibilityGet()
ProMenuPush()
ProMenuPop()
Run-time Menus
ProMenuStringsSelect()
ProMenuFromStringsRegister()
Entering Pro/ENGINEER Commands
ProMacroLoad()
ProMenuCommandPush()
Execution Rules
Specifying Keyboard Input

User Interface Components

Introduction
Dialog Components
Resource Files
Syntax of Resource Files
Example 1: Resource File for Dialog with Four Components on 2x2 Grid
Example 2: Resource File for Subgrid Dialog
Example 3: Resource File for Subgrid Dialog with Resize
Common Attributes
Example 4: Resource File with Offsets, Attachments, and Help Text
The Dialog Viewer
Dialog Programming: Common Functions
ProUIDialogCreate()
ProUIDialogActivate()
ProUIDialogExit()
ProUIDialogDestroy()
ProUIDialogCloseActionSet()
ProUIDialogDefaultbuttonSet()
ProUIDialogTitleSet()
Dialog Attributes
Example 5: Resource File with Text Question, OK and Cancel Buttons
Example 6: Source for Dialog with Text Question, OK and Cancel Buttons
Programming Dialog Components
Programming with Check Buttons
CheckButton Attributes
Check Button Functions
ProUICheckbuttonActivateActionSet()
ProUICheckbuttonEnable()
ProUICheckbuttonDisable()
ProUICheckbuttonSet()
ProUICheckbuttonUnset()
ProUICheckbuttonGetState()
ProUICheckbuttonHelptextSet()
ProUICheckbuttonTextSet()
Programming with InputPanels
InputPanel Attributes
InputPanel Functions
ProUIInputpanelActivateActionSet()
ProUIInputpanelHelptextSet()
ProUIInputpanelColumnsSet()
ProUIInputpanelInputtypeSet()
ProUIInputpanelValueGet()
ProUIInputpanelValueSet()
ProUIInputpanelEditable()
ProUIInputpanelReadOnly()
Programming with Labels
Label Attributes
Label Functions
ProUILabelHelptextSet()
ProUILabelTextSet()
Programming with Layouts
Layout Attributes
Layout Functions
ProUILayoutHelptextSet()
ProUILayoutTextSet()
Programming with Lists
List Attributes
List Functions
ProUIListActivateActionSet()
ProUIListSelectActionSet()
ProUIListHelptextSet()
ProUIListColumnsSet()
ProUIListColumnlabelSet()
ProUIListItemhelptextSet()
ProUIListLabelsSet()
ProUIListListtypeSet()
ProUIListMinrowsSet()
ProUIListNamesSet()
ProUIListSelectionpolicySet()
ProUIListVisiblerowsSet()
ProUIListEnable()
ProUIListDisable()
ProUIListSelectednamesGet()
ProUIListSelectednamesSet()
Programming with OptionMenus
OptionMenu Attributes
OptionMenu Functions
ProUIOptionmenuActivateActionSet()
ProUIOptionmenuSelectActionSet()
ProUIOptionmenuHelptextSet()
ProUIOptionmenuColumnsSet()
ProUIOptionmenuItemhelptextSet()
ProUIOptionmenuLabelsSet()
ProUIOptionmenuNamesSet()
ProUIOptionmenuVisiblerowsSet()
ProUIOptionmenuEnable()
ProUIOptionmenuDisable()
ProUIOptionmenuValueGet()
ProUIOptionmenuValueSet()
Programming with PushButtons
PushButton Attributes
PushButton Functions
ProUIPushButtonActivateActionSet()
ProUIPushButtonHelptextSet()
Programming with RadioGroups
RadioGroup Attributes
RadioGroup Functions
ProUIRadiogroupSelectActionSet()
ProUIRadiogroupHelptextSet()
ProUIRadiogroupItemhelptextSet()
ProUIRadiogroupLabelsSet()
ProUIRadiogroupNamesSet()
ProUIRadiogroupSelectednamesGet()
ProUIRadiogroupSelectednamesSet()
Programming with Sliders
Slider Attributes
Slider Functions
ProUISliderUpdateActionSet()
ProUISliderHelptextSet()
ProUISliderLengthSet()
ProUISliderMinintegerSet()
ProUISliderMaxintegerSet()
ProUISliderDisableTracking()
ProUISliderEnableTracking()
ProUISliderIntegerGet()
ProUISliderIntegerSet()
Example 7: Resource File for Dialog with Slider and Linked InputPanel
Example 8: Source of Dialog with Slider and Linked InputPanel
Programming with TextAreas
Text Area Attributes
TextArea Functions
ProUITextareaInputActionSet()
ProUITextareaEditable()
ProUITextareaReadOnly()
ProUITextareaHelptextSet()
ProUITextareaColumnsSet()
ProUITextareaMaxlenSet()
ProUITextareaMinrowsSet()
ProUITextareaRowsSet()
ProUITextareaValueSet()
ProUITextareaValueGet()
Programming with Tabs
Tab Attributes
Tab Functions
ProUITabSelectActionSet()
ProUITabHelptextSet()
ProUITabItemhelptextSet()

Modes, Models, and Model Items

Modes
ProModeCurrentGet()
ProModeNameCurrentGet()
Models
The ProMdl Object
Identifying Models
ProMdlNameGet()
ProMdlTypeGet()
ProMdlInit()
ProMdlIdGet()
ProMdlDataGet()
ProMdlToModelitem()
Example 1: Finding the Handle to a Model
Models in Session
ProSessionMdlList()
ProMdlCurrentGet()
ProMdlDependenciesList()
ProMdlDeclaredList()
ProMdlModificationVerify()
File Management Operations
ProMdlRetrieve()
ProMdlMultipleRetrieve()
ProMdlSave()
ProMdlErase()
ProMdlCopy()
ProMdlFileCopy()
ProMdlRename()
ProMdlBackup()
ProMdlDelete()
Model Items
ProModelitemInit()
ProModelitemMdlGet()
ProModelitemNameGet()
ProModelitemNameSet()
Example 2: Renaming a Selected Surface
Version Stamps
ProMdlVerstampGet()
ProFeatureVerstampGet()
ProVerstampAlloc()
ProVerstampFree()
ProVerstampStringGet()
ProVerstampStringFree()
ProStringVerstampGet()
ProVerstampEqual()
Layers
ProMdlLayerGet()
ProLayerCreate()
ProLayerDelete()
ProLayerItemsGet()
ProLayerItemInit()
ProDwgLayerItemInit()
ProLayerItemAdd()
ProLayerItemRemove()
ProLayerDisplaystatusGet()
ProLayerDisplaystatusSet()
ProDwgLayerDisplaystatusGet()
ProDwgLayerDisplaystatusSet()
ProLayerDisplaystatusSave()
ProLayerDefLayerSet()
ProLayerDefLayerGet()
ProLayerViewDependencySet()
ProLayerViewDependencyGet()
ProMdlLayerVisit()
Example 3: Creating a Layer
Layouts
prodb_declare_layout()
prodb_undeclare_layout()
Visiting Displayed Entities
ProSolidDispCompVisit()
ProAsmcomppathDispPointVisit()
ProAsmcomppathDispCurveVisit()
ProAsmcomppathDispCsysVisit()
ProAsmcomppathDispQuiltVisit()
Example 4: Collecting Displayed Assembly Datum Points

Solids and Parts

Solid Objects
Creating a Solid
ProSolidCreate()
Contents of a Solid
ProSolidFeatVisit()
ProSolidSurfaceVisit()
ProSolidQuiltVisit()
ProSolidAxisVisit()
ProSolidCsysVisit()
ProSolidFeatstatusGet()
ProSolidFeatstatusSet()
Displaying a Solid
ProSolidDisplay()
Example 1: Loading and Displaying a Solid
Regenerating a Solid
ProSolidRegenerate()
Solid Outline
ProSolidOutlineGet()
ProSolidOutlineCompute()
Example 2: Computing the Outline of a Solid
Solid Accuracy
ProSolidAccuracyGet()
ProSolidAccuracySet()
Solid Units
prodb_get_model_units()
prodb_set_model_units()
Mass Properties
ProSolidMassPropertyGet()
Part Objects
Solid Postfix Identifiers
ProSolidToPostfixId()
ProPostfixIdToSolid()
Material Properties
Material Objects
Accessing Material Data
ProMaterialCreate()
ProMaterialDataGet()
ProMaterialDataSet()
ProPartMaterialsGet()
ProMaterialDelete()
ProMaterialCurrentGet()
ProMaterialCurrentSet()
Material Input and Output
ProMaterialfileWrite()
ProMaterialfileRead()
Example 3: Reading Material Properties from a File
Notes
Creating and Deleting Notes
ProNoteCreate()
ProNoteDelete()
Note Text
ProNoteLinelistGet()
ProNoteLinelistSet()
Visiting Notes
ProMdlNoteVisit()
Note Display
ProNoteDisplay()
Note Owner
ProNoteOwnerGet()
Note Placement
ProNoteAttachAlloc()
ProNoteAttachRelease()
ProNoteAttachFreeGet()
ProNoteAttachFreeSet()
ProNoteAttachAddend()
ProNotePlacementGet()
ProNotePlacementSet()
ProNoteURLGet()
ProNoteURLSet()
Note Text Styles
ProTextStyleAlloc()
ProTextStyleFree()
ProNoteTextStyleGet()
ProNoteTextStyleSet()
Text Style Properties
ProTextStyleHeightGet()
ProTextStyleHeightSet()
ProTextStyleWidthGet()
ProTextStyleWidthSet()
ProTextStyleAngleGet()
ProTextStyleAngleSet()
ProTextStyleSlantAngleGet()
ProTextStyleSlantAngleSet()
ProTextStyleThicknessGet()
ProTextStyleThicknessSet()
ProTextStyleUnderlineGet()
ProTextStyleUnderlineSet()
ProTextStyleMirrorGet()
ProTextStyleMirrorSet()
Example 4: Creating a Model Note

Graphics and Object Display

Manipulating Windows
Repainting Windows
ProWindowClear()
ProWindowRepaint()
ProWindowRefresh()
ProWindowRefit()
ProTreetoolRefresh()
Controlling Which Window is Current
ProWindowCurrentGet()
ProWindowCurrentSet()
Creating and Removing Windows
ProObjectwindowCreate()
ProWindowDelete()
ProWindowCurrentClose()
Retrieving the Owner of a Window
ProWindowMdlGet()
Visiting Windows
ProWindowsVisit()
Activating Windows
ProWindowActivate()
Solid Orientation
ProWindowCurrentMatrixGet()
ProViewMatrixGet()
ProViewMatrixSet()
ProViewReset()
ProViewRotate()
ProWindowPanZoomMatrixSet()
Getting and Setting the View Matrix
Storing Named Views
ProViewStore()
ProViewRetrieve()
ProViewNamesGet()
Example 1: Saving Three Views
Graphics Colors and Line Styles
ProTextColorSet()
ProGraphicsColorSet()
Modifying the Pro/ENGINEER Color Map
ProColormapGet()
ProColormapSet()
Example 2: Modifying the Color of the HALF_TONE Display
Setting Line Styles for Pro/TOOLKIT Graphics
ProLinestyleSet()
ProLinestyledefGet()
ProGraphicsModeSet()
Displaying Graphics
ProGraphicsPenPosition()
ProGraphicsLineDraw()
ProGraphicsPolylineDraw()
ProGraphicsMultipolylinesDraw()
ProGraphicsArcDraw()
ProGraphicsCircleDraw()
ProGraphicsPolygonDraw()
Example 3: Displaying Lines and Circles
Displaying Text
ProGraphicsTextDisplay()
Controlling Text Attributes
ProTextAttributesCurrentGet()
ProTextFontIdCurrentSet()
ProTextHeightCurrentSet()
ProTextRotationAngleCurrentSet()
ProTextSlantAngleCurrentSet()
ProTextWidthFactorCurrentSet()
Controlling Text Fonts
ProTextFontDefaultIdGet()
ProTextFontIdGet()
ProTextFontNameToId()
Display Lists
ProDisplist2dCreate()
ProDisplist2dDisplay()
ProDisplist2dDelete()
ProDisplist3dCreate()
ProDisplist3dDisplay()
ProDisplist3dDelete()
Getting Mouse Input
ProMousePickGet()
ProMouseTrack()
ProMouseBoxInput()
Example 4: Drawing a Rubber-Band Line
Cosmetic Properties
Surface Properties
prodb_get_surface_props()
prodb_set_surface_props()
prodb_unset_surface_props()
prodb_surface_tessellation()
ProPartTessellate()
ProPartTessellateFree()
Setting Light Sources
pro_get_light_sources()
pro_set_light_sources()

Geometry

Geometry Objects
Visiting Geometry Objects
Visiting Feature Geometry
ProSolidFeatVisit()
ProFeatureStatusGet()
ProFeatureTypeGet()
ProFeatureVisibilityGet()
ProFeatureGeomitemVisit()
ProGeomitemIsInactive()
ProGeomitemdataGet()
Visiting Solid Geometry
ProSolidSurfaceVisit()
ProSurfaceContourVisit()
ProContourEdgeVisit()
ProContourTraversalGet()
ProEdgeDirGet()
ProEdgeNeighborsGet()
ProEdgeVertexdataGet()
Example 1: Finding the Surfaces Penetrated by a Hole
Visiting Axis Datums
ProSolidAxisVisit()
ProAxisIdGet()
ProAxisInit()
ProGeomitemFeatureGet()
ProAxisSurfaceGet()
Visiting Coordinate System Datums
ProSolidCsysVisit()
ProCsysIdGet()
ProCsysInit()
Visiting Datum Planes
ProSurfaceInit()
ProSurfaceIdGet()
Visiting Quilts and Datum Surfaces
ProSolidQuiltVisit()
ProQuiltSurfaceVisit()
ProQuiltIdGet()
ProQuiltInit()
Visiting Datum Curves
ProCurveIdGet()
ProCurveInit()
ProCurveColorGet()
ProCurveColorSet()
ProCurveLinestyleGet()
ProCurveLinestyleSet()
Visiting Composite Datum Curves
ProCurveCompVisit()
Visiting Datum Points
ProPointIdGet()
ProPointInit()
Tessellation
ProEdgeTessellationGet()
ProCurveTessellationGet()
prodb_surface_tessellation()
ProPartTessellate()
ProPartTessellateFree()
Evaluating Geometry
Evaluating Faces, Edges, and Curves
ProSurfaceXyzdataEval()
ProEdgeXyzdataEval()
ProCurveXyzdataEval()
ProEdgeUvdataEval()
ProSurfaceUvpntVerify()
ProContourUvpntVerify()
Inverse Evaluation and Minimum Distances
ProSurfaceParamEval()
ProEdgeParamEval()
ProCurveParamEval()
Geometry Equations
ProGeomitemdataGet()
ProGeomitemdataFree()
Geometry of Solid Edges
ProEdgeTypeGet()
ProEdgeDataGet()
ProEdgedataMemoryFree
ProEdgedataFree
Example 2: Extracting the Diameter of an Arc Edge
Geometry of Surfaces
ProSurfaceTypeGet()
ProSurfaceDataGet()
Example 3: Getting the Angle of a Conical Surface
Geometry of Axes
ProAxisDataGet()
Geometry of Coordinate System Datums
ProCsysDataGet()
Geometry of Datum Planes
Geometry of Quilts
Geometry of Datum Surfaces
Geometry of Datum Points
ProPointCoordGet()
ProPoint3dOnsurfaceFind()
ProPoint3dIntoleranceFind()
ProSolidProjectPoint()
Geometry of Datum Curves
ProCurveTypeGet()
ProCurveDataGet()
ProCurvedataMemoryFree
ProCurvedataFree
Geometry of Composite Curves
Ray Tracing
ProSolidRayIntersectionCompute()
ProSelectionDepthGet()
Editing Datum Points
pro_dtmpntarr_add_pnt()
pro_dtmpntarr_insert_pnt()
pro_dtmpntarr_delete_pnt()
Measurement
ProSurfaceAreaEval()
ProContourAreaEval()
ProSurfaceExtremesEval()
ProSurfacePrincipalCrvtEval()
ProEdgeLengthEval()
ProCurveLengthEval()
ProEdgeLengthT1T2Eval()
ProCurveLengthT1T2Eval()
ProEdgeParamByLengthEval()
ProCurveParamByLengthEval()
ProGeomitemDistanceEval()
ProGeomitemAngleEval()
ProSurfaceDiameterEval()
ProGeomitemDiameterEval()
ProContourBoundbox3dCompute()
ProContourBoundbox2dCompute()
Geometry as NURBS
ProSurfaceToNURBS()
ProEdgeToNURBS()
ProCurveToNURBS()
Interference
pro_dist_manifolds()
pro_compute_clearance()
pro_compute_interference()
pro_compute_global_interference()
pro_compute_volume()
pro_display_interf_volume()
pro_interference_volume_release()
Example 4: Interference Checking for Assemblies and Parts
Sheet Metal
prodb_eval_bend_srf()
ProSmtSurfaceTypeGet()

Dimensions and Relations

The ProDimension Object
Reading Dimensions
ProSolidDimensionVisit()
ProDrawingDimensionVisit()
ProDimensionSymbolGet()
ProDimensionValueGet()
ProDimensionTypeGet()
ProDimensionToleranceGet()
ProDimensionIsFractional()
ProDimensionDecimalsGet()
ProDimensionDenominatorGet()
ProDimensionIsReldriven()
ProDimensionIsRegenednegative()
Modifying Dimensions
ProDimensionSymbolSet()
ProDimensionValueSet()
ProDimensionToleranceSet()
ProDimensionDecimalsSet()
ProDimensionDenominatorSet()
ProDimensionDimensionReset()
Dimension Text
ProDimensionTextGet()
ProDimensionTextSet()
Displaying Dimensions
ProDimensionDisplayUpdate()
ProDimensionShow()
ProDimensionErase()
Dimension Display Modes
ProDisplaymodeGet()
Designating Dimensions
prodb_designate_param()
Pattern Parameters
Dimension Tolerances
ProToleranceDefaultGet()
ProSolidToleranceGet()
ProSolidToleranceSet()
ProDimensionIsToleranceDisplayed()

Basic Access to Features

Feature Objects
ProFeatureInit()
Visiting Features
ProSolidFeatVisit()
Feature Inquiry
ProFeatureTypeGet()
ProFeatureStatusGet()
ProSolidFeatstatusGet()
ProFeatureIsNcseq()
ProFeatureSolidGet()
ProFeatureIsIncomplete()
ProFeatureChildrenGet()
ProFeatureParentsGet()
ProFeatureSelectionGet()
ProFeatureHasGeomChecks()
ProFeatureIsReadonly()
ProInsertModeIsActive()
Feature Geometry
ProFeatureGeomitemVisit()
ProGeomitemFeatureGet()
Manipulating Features
ProFeatureDelete()
ProFeatureSuppress()
ProFeatureRedefine()
ProFeatureInsertModeActivate()
ProInsertModeCancel()
ProFeatureReadonlySet()
ProFeatureReadonlyUnset()
ProFeatureReorder()
ProFeatureNumberGet()
Example 1: Inserting a Feature
Example 2: Changing the Regeneration Sequence of a Solid
Feature Dimensions
prodb_get_feat_dim_ids()
Manipulating Patterns
ProFeaturePatternStatusGet()
ProFeatureGrppatternStatusGet()
ProFeaturePatternGet()
ProPatternDelete()
ProPatternLeaderGet()
ProPatmembLeaderGet()
proptn_get_pattern()
proptn_get_leader()
Pro_Pattern Structure
Pro_pattern_dir Structure
Pro_pattern_dim Structure
Table-Driven Patterns
proptntbl_get_lead_pat_dims()
proptntbl_get_all_tbl_names()
proptntbl_get_active_table()
proptntbl_get_inst_indices()
proptntbl_get_inst_dim_value()
proptntbl_add_inst_to_table()
proptntbl_remove_instance()
proptntbl_set_inst_dim_value()
proptntbl_set_dimval_driven()
proptntbl_set_active_table()
proptntbl_rename_table()
proptntbl_delete_table()
Creating Local Groups
ProLocalGroupCreate()
Read Access to Groups and UDFs
ProFeatureGroupStatusGet()
prodb_first_udf()
prodb_next_udf()
prodb_get_udf_name()
prodb_get_group()
prodb_first_dim_udf()
prodb_next_dim_udf()
prodb_get_udf_dim_name()
prodb_get_udf_instance_name()
Changes to Feature Groups in Pro/ENGINEER
Group and UDF Read Access Functions
Creating Features from UDFs
prodb_create_group()
The UDF Input Data Structure--Pro_udf_data
Variable Dimensions and Pattern Parameters--Pro_udf_var_dim
UDF References--Pro_udf_reference
Assembly Intersections--Pro_udf_asm_intersection
External ReferencesÒPro_udf_ext_ref_asm
Creating Import Features
prodb_create_import_feat()

Assemblies

Structure of Assemblies and Assembly Objects
Visiting Assembly Components
ProAsmcompVisibilityGet()
ProAsmcomppathInit()
ProAsmcompMdlNameGet()
ProAsmcompMdlGet()
ProAsmcomppathMdlGet()
ProAsmcompTypeGet()
ProAsmcompTypeSet()
ProAsmcompIsBulkitem()
ProSolidFeatVisit()
ProFeatureTypeGet()
Example 1: Listing the Members of an Assembly
Regenerating an Assembly Component
ProAsmcompRegenerate()
Locations of Assembly Components
ProAsmcomppathTrfGet()
ProAsmcomppathTrfSet()
ProAssemblyDynPosGet()
ProAssemblyDynPosSet()
Example 2: Finding the Position of a Component
Assembling Components
Redefining and Rerouting Components
ProAsmcompConstrRedefUI()
ProAsmcompConstrRemove()
ProAsmcompPackageMove()
Deleting Components
prodb_disassemble_member()
Exploded Assemblies
ProAssemblyExplode()
ProAssemblyUnexplode()
ProAssemblyIsExploded()
Explode State Objects
Visiting Explode States
ProSolidExpldstateVisit()
Explode State Access
ProExpldstateActivate()
ProExpldstateSelect()
ProExpldstateActiveGet()
Merge and Cutout
prodb_merge_members()
Automatic Interchange
prodb_auto_interchange()
prodb_interchange_domain()

Parameters

Parameter Objects
Parameter Values
ProParamvalueSet()
ProParamvalueValueGet()
ProParamvalueTypeGet()
Accessing Parameters
ProParameterInit()
ProParameterValueGet()
ProParameterValueSet()
ProParameterIsModified()
ProParameterValueReset()
ProParameterCreate()
ProParameterDelete()
ProParameterSelect()
ProParameterVisit()
Example 1: Labeling a Feature with a String Parameter
Designating Parameters for Pro/INTRALINK
ProParameterDesignationAdd()
ProParameterDesignationVerify()
ProParameterDesignationRemove()
Geometric Tolerances
progtol_number()
progtol_get_gtol()
progtol_set_gtol()
progtol_delete_gtol()

Geometric Tolerancing

Geometric Tolerance Objects
ProGtol
ProGtoldata
Geometric Tolerance Datum References
ProGeomitemGtolrefSet()
ProGeomitemGtolrefClear()
ProGeomitemIsGtolref()
Visiting Geometric Tolerances
ProMdlGtolVisit()
Reading Geometric Tolerances
ProGtolDataGet()
ProGtoldataTypeGet()
ProGtoldataModelGet()
ProGtoldataOwnerGet()
ProGtoldataReferenceGet()
ProGtoldataPlacementGet()
ProGtolleaderGet()
ProGtolleadersFree()
ProGtoldataGtoldatumrefGet()
ProGtoldatumrefGet()
ProGtoldataCompositeGet()
ProGtoldataValueGet()
ProGtoldataPerUnitGet()
ProGtoldataMatCondGet()
ProGtoldataStatTolGet()
ProGtoldataDiameterGet()
ProGtoldataFreeStateGet()
ProGtoldataAllAroundGet()
ProGtoldataTangentPlaneGet()
ProGtoldataProjZoneGet()
ProGtoldataProfBoundaryGet()
Creating a Geometric Tolerance
ProGtoldataAlloc()
ProGtoldataTypeSet()
ProGtoldataModelSet()
ProGtoldataReferenceSet()
ProGtolleaderAlloc()
ProGtoldataPlacementSet()
ProGtolleaderFree()
ProGtoldatumrefAlloc()
ProGtoldataGtoldatumrefSet()
ProGtoldatumrefFree()
ProGtoldataCompositeSet()
ProGtoldataValueSet()
ProGtoldataPerUnitSet()
ProGtoldataMatCondSet()
ProGtoldataStatTolSet()
ProGtoldataDiameterSet()
ProGtoldataFreeStateSet()
ProGtoldataAllAroundSet()
ProGtoldataTangentPlaneSet()
ProGtoldataProjZoneSet()
ProGtoldataProfBoundarySet()
ProGeomitemGtolrefSet()
ProGtolCreate()
Example 1: Attaching a Position GTOL to Solid Planes Parallel to a Datum Plane
Editing a Geometric Tolerance
ProGtolEditInit()
ProGtolEditCommit()
ProGtolEditCancel()
ProGtoldataFree()
Deleting a Geometric Tolerance
ProGtolDelete()

Principles of Feature Creation

Overview of Feature Creation
Feature Element Values
ProValueAlloc()
ProValueDataGet()
ProValueDataSet()
ProValueFree()
ProWstringArrayToValueArray()
ProValueArrayToWstringArray()
Feature Element Paths
ProElempathAlloc()
ProElempathFree()
ProElempathDataSet()
ProElempathDataGet()
ProElempathCopy()
ProElempathCompare()
ProElempathSizeGet()
Feature Elements
ProElementAlloc()
ProElementFree()
ProElementIdGet()
ProElementIdSet()
ProElementValueGet()
ProElementValuesGet()
ProElementValueSet()
ProElementValuesSet()
ProElemtreeElementGet()
ProElemtreeElementAdd()
ProElemtreeElementRemove()
ProElementIsMultival()
ProElementIsCompound()
ProElementIsArray()
ProElementChildrenGet()
ProElementChildrenSet()
ProElementArraySet()
ProElementArrayGet()
ProElementArrayCount()
ProElemtreeElementVisit()
Calling ProFeatureCreate()
ProFeatureCreate()
Example of Complete Feature Creation
Feature Inquire
ProFeatureElemtreeCreate()
ProFeatureElemValueGet()
ProFeatureElemValuesGet()
ProFeatureElemDimensionIdGet()
ProFeatureElemIsVisible()
ProFeatureIsIncomplete()
ProFeatureElemIsIncomplete()
Feature Redefine
ProFeatureRedefine()

Creating Datum Features

The Element Tree for Datum Plane Features
Example 1: Creating a Datum Plane
The Element Tree for Datum Point Features
Feature Elements
Element Values
Datum Axis Features
Example 2: Creating a Datum Axis
Datum Coordinate System Features

Creating Chamfer Features

The Feature Element Tree for Edge Chamfers
Example 1: Creating an Edge Chamfer Feature

Creating Patterns

Introduction
The Element Tree for Pattern Creation
Reference-Driven Patterns
Dimension-Driven Patterns
Table-Driven Patterns
Creating a Pattern
ProPatternCreate()
Example 1: Creating a Pattern
Obtaining the Element Tree for a Pattern
ProPatternElemtreeCreate()

Assembling Components

Assembling Components by Feature Creation
The Element Tree for a Component Assembly
Example 1: Assembling a Part into an Assembly

Sections

Overview
Creating Section Models
Allocating a Two-Dimensional Section
ProSection2DAlloc()
ProSectionFree()
ProSectionNameSet()
ProSectionNameGet()
Adding Section Entities
ProSectionEntityAdd()
ProSectionEntityDelete()
ProSectionEntityReplace()
Adding Section Dimensions
ProSecdimCreate()
ProSecdimDelete()
ProSecdimDiameterSet()
ProSecdimDiameterClear()
ProSecdimDiameterInquire()
Solving and Regenerating a Section
ProSectionEpsilonGet()
ProSectionEpsilonSet()
ProSectionSolve()
ProSectionSolveRigid()
ProSecdimValueGet()
ProSecdimValueSet()
ProSectionRegenerate()
Automatic Section Dimensioning
ProSectionAutodim()
Section Constraints
ProSectionConstraintsIdsGet()
ProSectionConstraintsGet()
ProSectionConstraintDeny()
Error Reporting
ProSecerrorAlloc()
ProSecerrorCount()
ProSecerrorMsgGet()
ProSecerrorItemGet()
ProSecerrorAdd()
ProSecerrorFree()
Retrieving and Saving a Section
ProFeatureNumSectionsGet()
ProFeatureSectionCopy()
Example 1: Creating a Section Model
Creating Sections for Features
Creating Projection Entities
ProSectionEntityFromProjection()
Positioning Section Entities
ProSectionLocationGet()
ProSectionEntityTranslate()
Adding Section Location Dimensions
Section Inquiry
ProSectionEntityIdsGet()
ProSectionEntityIsProjection()
ProSectionEntityGet()
ProSectionEntityEval()
ProSecdimIdsGet()
ProSecdimTypeGet()
ProSecdimValueGet()
ProSecdimReferences()
ProSectionDimensionIdsGet()

Creating Sketched Features

Overview
Creating Features with 2-D Sections
Example 1: Creating an Extruded Protrusion Base Feature
Creating Features with 3-D Sections
Example 2: Creating an Extruded Protrusion with a 3-D Section
UseEdge Operations on 3-D Sections
ProSectionEntityUseEdge()
ProSectionEntityUseEdgeChain()
ProSectionEntityUseEdgeLoop()
ProSectionEntityUseCurveChain()
ProSectionEntityUseCurveLoop()

Creating Swept Features

The Element Tree for Sweeps
Creating a Swept Feature
Example 1: Creating a Swept Base Protrusion

Foreign Datum Surfaces and Curves

Foreign Datum Surfaces
prosrf_bind_srf_class()
user_init_srf()
user_eval_srf()
user_rmov_srf()
Importing a Foreign Datum Surface
Foreign Datum Curves
Providing an Evaluation Function
ProForeignCurveEvalFunction()
Curve Continuity
Binding the Evaluation Function to a Class
ProForeignCurveClassEvalSet()
Example 1: Creating a Sinusoidal Foreign Datum Curve

Tweak Surface Replacement

The Feature Element Tree

External Analyses and Analysis Features

Overview
Interactive Creation of External Analysis
Interactive Creation of External Analysis Feature
Storage of External Analysis Feature in Pro/ENGINEER
Registering an External Analysis with Pro/ENGINEER
ProAnalysisTypeRegister()
Analysis Callbacks
Pro/TOOLKIT Analysis Information
ProAnalysisInfoGet()
ProAnalysisInfoSet()
ProAnalysisTypeGet()
Results Data
Example 1: Offset Coordinate System Datum
Analysis Attributes
ProAnalysisAttrSet()
ProAnalysisAttrIsSet()
Visiting Saved External Analyses
ProSolidAnalysisVisit()
ProAnalysisNameGet()
Visiting External Analyses Features
ProFeatureAnalysisGet()
Using the Model without Pro/TOOLKIT

Manufacturing

Manufacturing Models
ProMfgAssemGet()
ProMfgTypeGet()
ProMfgCreate()
Analyzing a Manufacturing Model
Traversing Manufacturing Components
ProAsmcompTypeGet()
Identifying the Storage Solid
ProMfgSolidGet()
ProMfgFeatureOwnerGet()
Example 1: Identifying Workcell Features of a Pro/NC Model
Visiting Manufacturing Tools
ProMfgToolVisit()
ProToolTypeGet()
ProToolModelGet()
ProToolParamGet()
ProToolAttributesGet()
ProToolVerify()
Creating Manufacturing Objects
Creating Tools
ProToolinputAlloc()
ProToolinputTypeSet()
ProToolElemParamAdd()
ProToolElemModelSet()
ProToolinputElemAdd()
ProToolInit()
ProToolCreate()
ProToolinputFree()
Example 2: Creating a Tool from a Solid Model
Example 3: Creating a Parameter-Driven Tool
Manufacturing Parameters
Example 4: Creating a Parameter Tree
Creating Manufacturing Features
Creating Fixtures
Creating Workcells
Example 5: Creating a 2-Axis Lathe Workcell
Creating Operations
Example 6: Creating an Operation
Creating NC Sequences
Milling-Specific Functions
ProNcseqElemSurfaceAdd()
ProNcseqElemMillsurfSet()
ProNcseqElemSurfaceflipSet()
Example 7: Adding Surfaces
Holemaking-Specific Functions
Creating Material Removal Volumes
Example 8: Creating a Conventional Milling Sequence
Analyzing Manufacturing Features
ProMfgoperToolpathDisplay()
ProNcseqToolpathDisplay()
ProNcseqNumGet()
ProNcseqCutTimeGet()
ProNcseqRemovedVolGet()

Auxiliary and Custom NC Sequences, and CL Commands

Auxiliary and Custom NC Sequences
CL Commands
ProClcmdElemCreate()
ProClcmdElemSet()
ProClcmdElemAdd()
ProClcmdElemGetNumber()
ProClcmdElemGetByIndex()
ProClcmdElemRemoveByIndex()
ProClcmdElemGet()
ProClcmdElemRemove()
ProNotificationSet()
ProClcmdExpandAction()
ProClcmdGetLocAction()
Customizing CL Commands
Example 1: Creating a Custom NC Sequence with CL Commands

Process Planning

Process Step Objects
ProProcstepInit()
Visiting Process Steps
ProProcstepVisit()
Process Step Access
ProProcstepActiveGet()
ProProcstepActiveSet()
ProProcstepNumberGet()
Creating Process Steps
Feature Elements
Types of Process Step
Optional Elements
General Process Steps
Reposition Process Steps

Family Tables

Family Table Objects
Family Table Utilities
ProFamtableInit()
ProFamtableCheck()
ProFamtableEdit()
ProFamtableShow()
ProFamtableErase()
Visiting Family Tables
ProFamtableInstanceVisit()
ProFamtableItemVisit()
Operations on Family Table Instances
ProFaminstanceValueGet()
ProFaminstanceValueSet()
ProFaminstanceAdd()
ProFaminstanceCheck()
ProFaminstanceInit()
ProFaminstanceRemove()
ProFaminstanceCreate()
ProFaminstanceSelect()
ProFaminstanceMdlGet()
ProFaminstanceErase()
ProFaminstanceLock()
ProFaminstanceRetrieve()
ProFaminstanceGenericGet()
Operations on Family Table Items
ProFamtableItemAdd()
ProFamtableItemRemove()
ProFamtableItemToModelitem()
ProModelitemToFamtableItem()
ProFamtableItemToParameter()
ProParameterToFamtableItem()
Example 1: Writing a Family Table to a File

External Data

Introduction to External Data
Storing External Data
ProExtdataInit()
ProExtdataClassRegister()
ProExtdataClassUnregister()
ProExtdataSlotCreate()
ProExtdataSlotWrite()
ProExtdataSlotDelete()
ProExtdataTerm()
Retrieving External Data
ProExtdataLoadAll()
ProExtdataClassNamesList()
ProExtdataSlotIdsList()
ProExtdataSlotNamesList()
ProExtdataSlotRead()
ProExtdataFree()

Notify

Notify Classes
Model Modification Events
Using Notify
ProNotificationSet()
Interface Changes for Release 20 Forward
Notification Events
Cancelling a Notification
ProNotificationUnset()

Welds

Read Access to Weld Features
ProWeldTypeGet()
ProWeldInfoGet()
ProWeldIntermittenceGet()
ProWeldSequenceIdGet()
ProWeldRodGet()
ProWeldRodNameGet()
ProWeldCompoundGet()
ProWeldFilletdataGet()
ProWeldGroovedataGet()
ProWeldPlugdataGet()
ProWeldSlotdataGet()
ProWeldSpotdataGet()
Customizing Weld Drawing Symbols
ProDrawingWeldSympathGetAction()
ProDrawingWeldGroupidsGetAction()
ProDrawingWeldSymtextGetAction()
Example 1: Weld Callback Notification

Simplified Representations

Overview
Retrieving Simplified Representations
ProAssemblySimprepRetrieve()
ProGeomSimprepRetrieve()
ProGraphicsSimprepRetrieve()
Creating and Deleting Simplified Representations
ProSimprepdataAlloc()
ProSimprepCreate()
ProSimprepDelete()
Example 1: Creating a Simplified Representation
Extracting Information About Simplified Representations
ProSimprepTypeGet()
ProSimprepdataGet()
ProSimprepdataFree()
ProSimprepdataDefltGet()
ProSimprepdataNameGet()
ProSimprepdataTmpvalGet()
ProSimprepdataitemsVisit()
Example 2: Visiting the Items in a Simplified Representation
Modifying Simplified Representations
ProSimprepActionInit()
ProSimprepdataSet()
ProSimprepdataDefltSet()
ProSimprepdataNameSet()
ProSimprepdataTmpvalSet()
Adding Items to and Deleting Items from a Simplified Representation
ProSimprepdataitemAdd()
ProSimprepdataitemDelete()
ProSimprepdataitemInit()
Simplified Representation Utilities
ProSolidSimprepVisit()
ProSimprepInit()
ProSimprepSelect()
ProSimprepActivate()
ProSimprepActiveGet()
Gathering Components by Rule
ProRuleEval()
Gathering by Model Name
ProRuleInitName()
Gathering by Parameters
ProRuleInitExpr()
Gathering by Zone
ProRuleInitZone()
Gathering by Distance from a Point
ProRuleInitDist()
Gathering by Size
ProRuleInitSize()
Gathering by Simplified Representation
ProRuleInitRep()

Drawings

Drawing Setup
ProInputFileRead()
ProOutputFileWrite()
Drawing Sheets
ProDrawingSheetsCount()
ProDrawingSheetTrfGet()
ProDrawingSheetInfoGet()
ProDrawingCurrentSheetGet()
ProDrawingCurrentSheetSet()
ProDrawingSheetCreate()
ProDrawingSheetDelete()
ProDrawingSheetsReorder()
ProDrawingFormatGet()
ProDrawingFormatAdd()
ProDwgSheetRegenerate()
Example 1: Listing Drawing Sheets
Drawing Views and Models
Listing Drawing Views
ProDrawingViewsCollect()
ProDrawingViewVisit()
ProDrawingViewSheetGet()
ProDrawingViewOutlineGet()
ProDrawingViewScaleGet()
ProDrawingScaleGet()
ProDrawingViewDisplayGet()
ProDrawingViewSolidGet()
ProDrawingViewTransformGet()
ProDrawingViewNameGet
Example 2: Listing the Views in a Drawing
Modifying Views
ProDrawingViewMove()
ProDrawingViewDelete()
ProDrawingViewScaleSet()
ProDrawingScaleSet()
ProDwgViewRegenerate()
Drawing Models
ProDrawingSolidsCollect()
ProDrawingSolidsVisit()
ProDrawingSolidAdd()
ProDrawingSolidDelete()
ProDrawingSimprepsCollect()
ProDrawingAsmsimprepAdd()
ProDrawingAsmsimprepDelete()
Creating Views
ProDrawingGeneralviewCreate()
ProDrawingProjectedviewCreate()
Example 3: Creating Drawing Views
Overlay Views
ProDrawingViewIsOverlay()
ProDrawingOverlayviewGet()
Detail Items
Listing Detail Items
ProDrawingDtlentitiesCollect()
ProDrawingDtlentityVisit()
ProDrawingDtlnotesCollect()
ProDrawingDtlnoteVisit()
ProDrawingDtlsymdefsCollect()
ProDrawingDtlsymdefVisit()
ProDrawingDtlsyminstsCollect()
ProDrawingDtlsyminstVisit()
ProDrawingDtlgroupsCollect()
ProDrawingDtlgroupVisit()
Displaying Detail Items
ProDtlentityDraw()
ProDtlentityErase()
ProDtlentityShow()
ProDtlentityRemove()
ProDtlnoteDraw()
ProDtlnoteErase()
ProDtlnoteShow()
ProDtlnoteRemove()
ProDtlsyminstDraw()
ProDtlsyminstErase()
ProDtlsyminstShow()
ProDtlsyminstRemove()
Creating, Modifying and Reading Detail Items
ProDtlentityCreate()
ProDtlentityDataGet()
ProDtlentityDelete()
ProDtlentityModify()
ProDtlnoteCreate()
ProDtlnoteDataGet()
ProDtlnoteDelete()
ProDtlnoteModify()
ProDtlsymdefCreate()
ProDtlsymdefDataGet()
ProDtlsymdefDelete()
ProDtlsymdefModify()
ProDtlsyminstCreate()
ProDtlsyminstDataGet()
ProDtlsyminstDelete()
ProDtlsyminstModify()
ProDtlgroupCreate()
ProDtlgroupDataGet()
ProDtlgroupDelete()
ProDtlgroupModify()
Draft Entity Data
ProDtlentitydataAlloc()
ProDtlentitydataFree()
ProDtlentitydataIdGet()
ProDtlentitydataCurveGet()
ProDtlentitydataCurveSet()
ProDtlentitydataColorGet()
ProDtlentitydataColorSet()
ProDtlentitydataFontGet()
ProDtlentitydataFontSet()
ProDtlentitydataWidthGet()
ProDtlentitydataWidthSet()
ProDtlentitydataViewGet()
ProDtlentitydataViewSet()
Example 4: Create a Draft Line with Predefined Color
Detail Note Text Data
ProDtlnotetextAlloc()
ProDtlnotetextFree()
ProDtlnotetextHeightGet()
ProDtlnotetextHeightSet()
ProDtlnotetextWidthGet()
ProDtlnotetextWidthSet()
ProDtlnotetextSlantGet()
ProDtlnotetextSlantSet()
ProDtlnotetextThicknessGet()
ProDtlnotetextThicknessSet()
ProDtlnotetextFontGet()
ProDtlnotetextFontSet()
ProDtlnotetextUlineGet()
ProDtlnotetextUlineSet()
ProDtlnotetextStringGet()
ProDtlnotetextStringSet()
Detail Note Line Data
ProDtlnotelineAlloc()
ProDtlnotelineFree()
ProDtlnotelineTextAdd()
ProDtlnotelineTextsSet()
ProDtlnotelineTextsCollect()
Detail Attachments and Leaders
ProGtoldataAlloc()
ProGtoldataFree()
ProGtolDataGet()
Detail Note Data
ProDtlnotedataAlloc()
ProDtlnotedataFree()
ProDtlnotedataIdGet()
ProDtlnotedataLineAdd()
ProDtlnotedataLinesSet()
ProDtlnotedataLinesCollect()
ProDtlnotedataMirrorSet()
ProDtlnotedataIsMirrored()
ProDtlnotedataColorGet()
ProDtlnotedataColorSet()
ProDtlnotedataAttachmentGet()
ProDtlnotedataAttachmentSet()
ProDtlnotedataLeadersCollect()
ProDtlnotedataLeadersSet()
ProDtlnotedataLeaderAdd()
ProDtlnotedataElbowlengthGet()
ProDtlnotedataElbowlengthSet()
ProDtlnotedataAngleGet()
ProDtlnotedataAngleSet()
ProDtlnotedataJustifGet()
ProDtlnotedataJustifSet()
Example 5: Create Drawing Note at Specified Location with Leader to Surface and Surface Name
Read-Only Notes
ProDtlnotedataReadonlySet()
ProDtlnotedataReadonlyGet()
ProDrawingReadonlyselectionAllow()
Parameterized Note Text
ProDtlnoteModelrefGet()
Symbol Definition Attachments
ProDtlsymdefattachAlloc()
ProDtlsymdefattachGet()
ProDtlsymdefattachFree()
ProDtlsymdefdataAttachAdd()
ProDtlsymdefdataAttachSet()
ProDtlsymdefdataAttachGet()
Symbol Definition Data
ProDtlsymdefdataAlloc()
ProDtlsymdefdataFree()
ProDtlsymdefdataIdGet()
ProDtlsymdefdataHeighttypeGet()
ProDtlsymdefdataHeighttypeSet()
ProDtlsymdefdataTextrefSet()
ProDtlsymdefdataTextrefGet()
ProDtlsymdefdataElbowGet()
ProDtlsymdefdataElbowSet()
ProDtlsymdefdataTextangfixedGet()
ProDtlsymdefdataTextangfixedSet()
ProDtlsymdefdataHeightGet()
ProDtlsymdefdataPathSet()
ProDtlsymdefdataPathGet()
Creating a Symbol Definition
Example 6: Create Symbol Definition
Retrieving a Symbol Definition from Disk
ProDrawingDtlsymdefRetrieve()
Symbol Instance Variable Text
ProDtlvartextAlloc()
ProDtlvartextFree()
ProDtlvartextDataGet()
Symbol Instance Data
ProDtlsyminstdataAlloc()
ProDtlsyminstdataFree()
ProDtlsyminstdataColorSet()
ProDtlsyminstdataColorGet()
ProDtlsyminstdataDefSet()
ProDtlsyminstdataDefGet()
ProDtlsyminstdataAttachtypeSet()
ProDtlsyminstdataAttachtypeGet()
ProDtlsyminstdataDefattachSet()
ProDtlsyminstdataDefattachGet()
ProDtlsyminstdataAttachmentGet()
ProDtlsyminstdataAttachmentSet()
ProDtlsyminstdataLeadersCollect()
ProDtlsyminstdataLeadersSet()
ProDtlsyminstdataLeaderAdd()
ProDtlsyminstdataElbowlengthGet()
ProDtlsyminstdataElbowlengthSet()
ProDtlsyminstdataAngleSet()
ProDtlsyminstdataAngleGet()
ProDtlsyminstdataHeightSet()
ProDtlsyminstdataHeightGet()
ProDtlsyminstdataVartextAdd()
ProDtlsyminstdataVartextsSet()
ProDtlsyminstdataVartextsCollect()
ProDtlsyminstdataTransformGet()
Example 7: Create Free Instance of Symbol Definition
Detail Group Data
ProDtlgroupdataAlloc()
ProDtlgroupdataFree()
ProDtlgroupdataIdGet()
ProDtlgroupdataNameGet()
ProDtlgroupdataItemAdd()
ProDtlgroupdataItemsSet()
ProDtlgroupdataItemsCollect()
Example 8: Create New Group of Items
Drawing Tables
Selecting Drawing Tables and Cells
ProSelectionDwgtblcellGet()
Reading Drawing Tables
ProDrawingTableVisit()
ProDrawingTablesCollect()
ProDwgtableInfoGet()
ProDwgtableColumnsCount()
ProDwgtableRowsCount()
ProDwgtableColumnSizeGet()
ProDwgtableRowSizeGet()
ProDwgtableCellNoteGet()
ProDwgtableIsFromFormat()
Creating a Table
ProDwgtabledataAlloc()
ProDwgtabledataOriginSet()
ProDwgtabledataSizetypeSet()
ProDwgtabledataColumnsSet()
ProDwgtabledataRowsSet()
ProDrawingTableCreate()
ProDwgtableTextEnter()
ProDwgtableDisplay()
Table Modification
ProDwgtableRowAdd()
ProDwgtableColumnAdd()
ProDwgtableRowDelete()
ProDwgtableColumnDelete()
ProDwgtableCellsMerge()
ProDwgtableCellsRemesh()
ProDwgtableRotate()
Example 10: Command Creation of Table Listing Datum Points
Repeat Regions
ProDwgtableCellIsComment()
ProDwgtableCellComponentGet()
ProDrawingTablesUpdate()
Drawing Dimensions
Drawing Dimension Attachments and Dimension Creation
ProDrawingDimAttachsGet()
ProDrawingDimCreate()
Ordinate Dimensions
ProDrawingDimIsOrdinate()
ProDrawingOrdbaselineCreate()
ProDrawingDimToOrdinate()
ProDrawingDimToLinear()
Example 11: Command Creation of Datum point Table
Other Drawing Dimension Properties
ProDrawingDimIsAssociative()
ProDrawingDimensionViewGet()
ProDrawingDimSwitchView()
ProDrawingDimensionPosGet()
ProDrawingDimensionMove()

Cross Sections

Listing Cross Sections
prodb_first_xsec()
prodb_next_xsec()
prodb_xsec_name()
ProXsecRename()
ProXsecTypeGet()
Extracting Cross-Sectional Geometry
ProXsecGeometryRetrieve()
ProXsecDisplay()
ProXsecRegenerate()
prodb_xsec_component()
prodb_regen_xsec()
prodb_display_xsec()
Example 1: Listing Cross Sections
Visiting Cross Sections
ProSolidXsecVisit()
ProSolidXsecVisitAction()
Creating and Modifying Cross Sections
prodb_create_parallel_xsec()
ProXsecPlanarCreate()
ProXsecDelete()
prodb_delete_xsec()
Mass Properties of Cross Sections
ProXsecMassPropertyCompute()
prodb_mass_prop_xsec()
Example 2: Calculating the Mass Properties of a Cross Section

Customized Plot Driver

Using the Plot Driver Functionality
prointerface_create()
prointerface_object_set()
prointerface_load_function()
prointerface_2d()
user_intf_text()
user_intf_circle()
user_intf_arc()
user_intf_line()
user_intf_polyline()
user_intf_filled_poly()
Example 1: Sample Plot Driver Program

Diagrams and Cabling

Diagrams
Listing the Contents of a Diagram
prodgm_get_ids()
prodgm_get_nodes()
prodgm_get_component_outl()
Diagram Item Color and Line Style
prodgm_get_color()
prodgm_set_color()
prodgm_get_linestyle()
prodgm_set_linestyle()
prodgm_get_rgbcolor()
prodgm_set_rgbcolor()
Diagram Parameters
prodgm_get_parameters()
prodgm_set_parameters()
prodgm_delete_parameters()
Diagram Wire Spools
prodgm_get_wire_spool()
prodgm_set_wire_spool()
prodgm_get_run_spool()
prodgm_set_run_spool()
prodgm_get_conds()
Diagram Connectivity
prodgm_get_wire_nodes()
prodgm_get_node_connections()
Cabling
Creating a New Harness in a Cabling Assembly
procbl_create_harness()
Finding the Harnesses in a Cabling Assembly
procbl_get_assy_harnesses()
Finding the Wires in a Harness
procbl_get_harness_cables()
procbl_get_wire_harnesses()
ProInputFileRead()
Managing Spools in a Cabling Assembly
procbl_get_assy_spools()
procbl_create_spool()
ProInputFileRead()
ProOutputFileWrite()
Spools and Their Parameters
procbl_get_spool_param()
procbl_get_spool_params()
procbl_delete_spool_param()
procbl_set_spool_params()
procbl_get_spools_from_logical()
procbl_create_spools_from_logical()
Finding the Connectors in a Harness
procbl_get_assy_connectors()
pro_release_memb_id_tab()
procbl_get_connectors_from_logical()
Connectors and Their Parameters
procbl_get_connector_entry_ports()
procbl_get_connector_params()
procbl_designate_connector()
procbl_undesignate_connector()
procbl_get_connector_param()
procbl_delete_connector_param()
procbl_get_connector_params()
procbl_set_connector_params()
ProOutputFileWrite()
ProInputFileRead()
Managing Cables and Bundles in a Cabling Assembly
procbl_create_cable()
procbl_create_cables_from_logical()
procbl_get_cables_from_logical()
procbl_create_bundle()
procbl_get_bundle_cables()
Cables and Their Parameters
procbl_get_cable_param()
procbl_delete_cable_param()
procbl_get_cable_params()
procbl_set_cable_params()
procbl_get_cable_logical_ends()
Cable Identifiers and Types
procbl_get_cable_id()
procbl_get_cable_name()
procbl_get_cable_subtype()
procbl_get_bundle_names()
Cable Connectivity
procbl_get_cable_logical_ends()
Cable Parameters
ProOutputFileWrite()
ProInputFileRead()
Cable Routing Locations
procbl_get_cable_locations()
procbl_get_harness_locations()
procbl_get_location_type()
procbl_get_location_pnt()
procbl_get_location_cables()
Cable Geometry
procbl_get_wire_length()
procbl_get_cable_geom()
Routing Cables
procbl_routing_start()
procbl_route_thru_location()
procbl_routing_end()
Measuring Clearances in a Harness
procbl_cable_clearance()

Finite Element Modeling (FEM)

Exporting an FEA Mesh
pro_export_fea_mesh()
Getting Constraint Case Names
profem_get_con_case_names()
Getting Mesh Controls
profem_get_mesh_controls()
Pro_fem_region Data Structure
Getting Constraints
profem_get_constraints()
Pro_fem_con_value Data Structure
Getting Bar Elements, Contacts, and Runners
profem_get_bar_elements()
profem_get_contacts()
profem_get_runners()
Getting Mass Elements
profem_get_mass_elements()
Pro_fem_mass_props Data Structure
Getting Shell Pairs
profem_get_shell_pairs()
Example 1: Using the FEM Functions

External Objects

Summary of External Objects
External Objects and Object Classes
Creating External Object Classes
ProExtobjClassCreate()
ProExtobjClassDelete()
Creating External Objects
ProExtobjCreate()
ProExtobjDelete()
ProExtobjClassGet()
External Object Owners
ProExtobjOwnerobjGet()
ProExtobjOwnerobjSet()
Recycling External Object Identifiers
ProExtobjReusableSet()
ProExtobjReusableGet()
ProExtobjReusableClear()
External Object Parameters
External Types and Identifiers for External Objects
ProExtobjExttypeSet()
ProExtobjExttypeGet()
ProExtobjExtidSet()
ProExtobjExtidGet()
Visiting External Objects
ProExtobjVisit()
External Object Data
Display Data for External Objects
Allocating Display Data
ProDispdatAlloc()
Creating the External Object Entity
ProDispdatEntsSet()
ProDispdatEntsGet()
Transformation of the External Object
ProDispdatTrfSet()
ProDispdatTrfGet()
ProExtobjScreentrfGet()
External Object Display Properties
ProDispdatPropsSet()
ProDispdatPropsGet()
External Object Color
ProDispdatColorGet()
ProDispdatColorSet()
Line Styles for External Objects
ProDispdatLinestyleSet()
ProDispdatLinestyleGet()
External Object Scale
ProDispdatScaleSet()
ProDispdatScaleGet()
Selection Data for External Objects
ProSeldatAlloc()
ProSeldatSelboxesSet()
ProSeldatSelboxesGet()
Manipulating External Object Data
ProExtobjdataAdd()
ProExtobjdataSet()
ProExtobjdataGet()
ProExtobjdataRemove()
ProExtobjdataFree()
External Object References
Creating External Object References
ProExtobjRefAlloc()
ProExtobjRefFree()
ProExtobjRefselectionSet()
ProExtobjRefselectionGet()
ProExtobjReftypeSet()
ProExtobjReftypeGet()
ProExtobjRefAdd()
ProExtobjRefRemove()
Visiting External Object References
ProExtobjRefVisit()
Callbacks for External Objects
ProExtobjCBAct()
ProExtobjCBEnable()
ProExtobjCallbacksSet()
Warning Mechanism for External Objects
ProExtobjClassWarningEnable()
ProExtobjClassWarningDisable()
ProExtobjWarningEnable()
ProExtobjWarningDisable()
Example 1: Creating an External Object

Design Manager

Overview
Defining Design Intent
Defining Preliminary Product Structure
Introducing Skeleton Models
Communicating Design Intent Throughout the Assembly Structure
Continued Population of the Assembly
Managing Part Interdependencies
Skeleton Model Functions
ProAsmSkeletonCreate()
ProAsmSkeletonAdd()
ProAsmSkeletonGet()
ProAsmSkeletonDelete()
ProMdlIsSkeleton()
Assembly Component Functions
ProAsmCompCreateCopy()
ProAsmCompIsUnplaced()
ProAsmCompFillFromMdl()
External Reference Control Functions
ProRefCtrlSolidSet()
ProRefCtrlSolidGet()
ProRefCtrlEnvirSet()
ProRefCtrlEnvirGet()
ProRefCtrlCheckScope()
Feature and CopyGeom Feature Functions
ProFeatureCopiedRefStateGet()
ProFeatureHasBackup()
ProFeatureCopyGeomDependSet()
ProFeatureCopyGeomInDependSet()
External Reference Data Gathering
ProFeatureExternChildrenGet()
ProFeatureExternParentsGet()
ProSolidExternChildrenGet()
ProSolidExternChildrenGet()
ProExtRefInfoFree()
ProExtRefStateGet()
ProExtRefTypeGet()
ProExtRefAsmCompsGet()
ProExtRefOwnMdlGet()
ProExtRefMdlGet()
ProExtRefOwnFeatGet()
ProExtRefFeatGet()
ProExtRefModelitemGet()

Animation

Introduction
Animation Objects
ProAnimobjectCreate()
ProAnimobjectDelete()
Animation Frames
ProAnimframeCreate()
ProAnimframeObjAdd()
ProAnimframeObjRemove()
ProAnimframeDelete()
ProAnimframeObjVisit()
Playing Animations
Single Animation
ProSingleAnimationInit()
ProSingleAnimationPlay()
ProSingleAnimationClear()
Batch Animation
Animation Movies
ProAnimmovieCreate()
ProAnimmovieFrameAdd()
ProAnimmovieFrameRemove()
ProAnimmovieDelete()
ProAnimmovieFrameVisit()
Playing a Batch Animation
ProBatchAnimationStart()
Example 1: Creating a Batch Animation

Access to Pro/INTRALINK

Registering a Workspace with a Pro/ENGINEER Session
ProWorkspaceRegister()
ProCurrentWorkspaceGet()
Checking Out Files from a Commonspace
ProObjModelsCheckout()
Example 1: Copying an Assembly from the Commonspace

Utilities

Interface
ProOutputFileWrite()
ProPlotfileWrite()
ProInputFileRead()
ProIntfSliceFileExport()
ProExportVRML()
ProRasterFileWrite()
Configuration Options
ProConfigoptSet()
ProConfigoptGet()
ProDisplistInvalidate()
Registry File Data
ProToolkitApplExecPathGet()
ProToolkitApplTextPathGet()
Trail Files
ProTrailfileCommentWrite
Pro/ENGINEER License Data
ProOptionOrderedVerify()
Current Directory
ProDirectoryCurrentGet()
ProDirectoryChange()
File Handling
ProFilesList()
ProFileOpen()
ProFilenameParse()
ProPathCreate()
ProInfoWindowDisplay()
ProFileEdit()
Wide Strings
ProStringToWstring()
ProWstringToString()
ProWcharSizeVerify()
Arrays of Wide Strings
ProWstringArrayFree()
ProWstringArraySizeSet()
ProWstringArrayObjectAdd()
ProWstringArrayObjectRemove()

Help

How Help Files Work
Creating Help Files

Summary of Technical Changes

New Functions
Superseded Functions
Miscellaneous Technical Changes
ProObjModelsCheckOut objNames Input Argument
Pro/TOOLKIT Applications Running Under Older xtop Versions--Sun and SGI Platforms Only
Correcting Application Startup Failure--Alpha Platform Only
Double clicks in Pro/TOOLKIT 2000i2

Pro/TOOLKIT Registry File

Registry File Fields
Sample Registry Files
Example 1
Example 2
Example 3
Example 4
Example 5

Debugging Pro/TOOLKIT Applications

Debugging in Existing Process
Example 1: Debugging a Program that is Already Running
Debugging in a Separate Window
Example 2: Invoking the Debugger as a Separate Process
Example 3: Debugging Applications on NT/Windows 95 Systems
Example 4: Debugging Pro/TOOLKIT DLL Applications

Pro/DEVELOP to Pro/TOOLKIT Function Mapping

Converting Pro/DEVELOP Functions
Data Structures for Pro/DEVELOP-Style Functions
Prodtl_item Structure Definition
Data Structure Constants
Ptc_surf Structure Definition
Data Structure Constants
Select3d Structure Definition
Data Structure Constants

Pro/TOOLKIT Objects

List of Pro/TOOLKIT Objects

Geometry Traversal

Overview
Geometry Terms
Example 1
Example 2
Example 3
Example 4
Example 5

Geometry Representations

Domain of Evaluation
Surface Data Structures
Plane
Cylinder
Cone
Torus
General Surface of Revolution
Ruled Surface
Tabulated Cylinder
Coons Patch
Fillet Surface
Spline Surface
NURBS Surface
Cylindrical Spline Surface
Edge and Curve Data Structures
Line
Arc
Spline
NURBS

Glossary 1

Index



Copyright © 1998 Parametric Technology Corporation
128 Technology Drive, Waltham, MA 02154 USA
All rights reserved