Contents


About This Guide

Fundamentals

Introduction to Creo Toolkit
Online Documentation in Creo Toolkit APIWizard
To Install the APIWizard
APIWizard Overview
Creo Toolkit Style
Objects and Actions
Function Prototyping
Function Error Statuses
Installing Creo Toolkit
Overview
Add or Update Creo Toolkit Installation
Testing the Creo Toolkit Installation
Building a Sample Application
Developing a Creo Toolkit Application
How Creo Toolkit Works
Compiling and Linking a Creo Toolkit Application
Registering a Creo Toolkit Application
Stopping and Restarting a Creo Toolkit Application
Structure of a Creo Toolkit Application
Creo Toolkit Support for Creo Applications
User-Supplied Main
Asynchronous Mode
Creo Toolkit Techniques
Object Handles
Expandable Arrays
Visit Functions
Example 3: Listing Holes in a Model
Support for Creo Model Names and Files Paths
Wide Strings
Defining wchar_t
Setting the Hardware Type
Checking Your Declaration of wchar_t
String and Widestring Functions
Example 4: String Conversion
Support for IPv6
Accessing LearningConnector

Core: Models and Model Items

Modes
Models
The ProMdl Object
Creating Models
Identifying Models
Surface Properties of Models
Models in Session
File Management Operations
Model Items
Example 2: Renaming a Selected Surface
Version Stamps
Layers
Example 3: Creating a Layer
Notebook
Visiting Displayed Entities

Core: Solids, Parts, and Materials

Solid Objects
Creating a Solid
Contents of a Solid
Displaying a Solid
Regenerating a Solid
Combined States of a Solid
Evaluating Mathematical Expressions for a Solid
Solid Outline
Calculated Text Height
Solid Accuracy
Solid Units
Mass Properties
Solid Postfix Identifiers
Part Objects
Density
Material Objects
Accessing Material Data
Material Types and Properties
Material Input and Output
Example 5: Working with Materials and Material Properties
Example 6: Creating a Non-linear Material

Core: Solid Body

Introduction to Solid Body
States of bodies
Creating a Body
Listing Features
Multibody Operations

Core: Features

Feature Objects
Visiting Features
Feature Inquiry
Feature Geometry
Manipulating Features
Manipulating Features based on Regeneration Flags
Feature References
Feature Dimensions
Manipulating Patterns
Patterns as Features
Table-Driven Patterns
Creating Local Groups
Read Access to Groups
Finding Groups
Group Information
Creating Groups
Deleting Groups
Updating or Replacing UDFs
Placing UDFs
The UDF Input Data Structure ProUdfdata
Variable Parameters and Annotations
Variable Dimensions and Pattern Parameters
UDF References
Assembly Intersections
External Symbol: Parameters
External Symbol: Dimensions
Copied Model Names
Reading UDF Properties
Variable Dimensions
Variable Parameters
UDF References
External Symbols
Instance Names
Notification on UDF Library Creation
Multibody Support in a UDF and a Copy feature
Automatic Filling of the Body Reference
API Behavior for All Combinations of UDF Type, Creation and Placement

Core: 3D Geometry

Geometry Objects
Visiting Geometry Objects
Visiting Feature Geometry
Visiting Solid Geometry
Tessellation
Curve and Edge Tessellation
Surface Tessellation
Part and Assembly Tessellation
Evaluating Geometry
Evaluating Surfaces, Edges, and Curves
Inverse Evaluation and Minimum Distances
Geometry at Points
Geometry Equations
Geometry of Solid Edges
Geometry of Surfaces
Geometry of Axes
Geometry of Coordinate System Datums
Geometry of Datum Planes
Geometry of Quilts
Geometry of Datum Surfaces
Geometry of Datum Points
Geometry of Datum Curves
Geometry of Composite Curves
Ray Tracing
Measurement
Geometry as NURBS
Interference
Faceted Geometry
Visiting Facets and Facet Sets
Accessing Facet Properties

Core: Relations

Relations
Code Example

Core: Parameters

Parameter Objects
Parameter Values
Accessing Parameters
Notification Functions
Designating Parameters Windchill Servers
Restricted Parameters
Table-Restricted Parameters
Driven Parameters

Core: Coordinate Systems and Transformations

Coordinate Systems
Solid Coordinate System
Screen Coordinate System
Window Coordinate System
Drawing Coordinate System
Drawing View Coordinate System
Assembly Coordinate System
Datum Coordinate System
Section Coordinate System
Coordinate System Transformations
Transforming Solid to Screen Coordinates
Transforming Screen to Window Coordinates
Transforming from Drawing View to Screen Coordinates in a Drawing
Transforming from Screen to Drawing Coordinates in a Drawing
Transforming Coordinates of an Assembly Member
Transforming to Coordinate System Datum Coordinates
Transforming Coordinates of Sketched Entities

Core: Family Tables

Family Table Objects
Family Table Utilities
Visiting Family Tables
Operations on Family Table Instances
Operations on Family Table Items

Core: External Data

Introduction to External Data
Storing External Data
Retrieving External Data

Core: Cross Sections

Listing Cross Sections
Extracting Cross-Sectional Geometry
Visiting Cross Sections
Creating and Modifying Cross Sections
Mass Properties of Cross Sections
Line Patterns of Cross Section Components

Core: Utilities

Configuration Options
Registry File Data
Trail Files
License Data
Current Directory
File Handling
Wide Strings
Freeing String Outputs
Freeing Integer Outputs
Running Creo ModelCHECK
Creating Custom Checks

Core: Asynchronous Mode

Overview
Setting up an Asynchronous Creo Toolkit Application
Simple Asynchronous Mode
Status of a Process
Full Asynchronous Mode
Setting Up a Non-Interactive Session

Composite Design

Materials for Composite Feature
Mass Properties of a Composite Feature
Ply Objects
Laminate Cross Section
Limitations of Composite Mode in Creo Toolkit

Element Tree: Remove Ply

Element Tree: Manual Ply

Element Tree: Core Ply

Element Tree: Transition Plies

Element Tree: Splice Plies

Element Trees: Composite Drape

Composite Drape

User Interface: Messages

Writing a Message Using a Popup Dialog
Example 1: Displaying the UI Message Dialog
Writing a Message to the Message Window
Text Message File Format and Restrictions
Message Classification
Writing a Message to an Internal Buffer
Getting Keyboard Input
Using Default Values
Example 2: Displaying Messages and Retrieving Keyboard Input

User Interface: Ribbon Tabs, Groups, and Menu Items

Creating Ribbon Tabs, Groups, and Menu Items
Workflow to Add Menu Items to the Ribbon User Interface
About the Ribbon Definition File
To Specify the Path for the Ribbon Definition File
Loading Multiple Applications Using the Ribbon Definition File
Localizing the Ribbon User Interface Created by Creo Toolkit Applications
Tab Switching Events
Support for Legacy Pro/TOOLKIT Applications
Migration of Legacy Pro/TOOLKIT Applications

User Interface: Menus, Commands, and Popupmenus

Introduction
Menu Buttons and Menus
Using the Trail File to Determine UI Names
Adding a PushButton
Adding a Check Button to the Ribbon User Interface
Adding a Radio Button Group to the Ribbon
Manipulating Existing Commands
Designating Commands
Adding the Command
Providing the Icon
Designating the Command
Placing the Button
Example 1: Designating a Command
Popup Menus
Adding a Popup Menu to the Graphics Window
Using the Trail File to Determine Existing Popup Menu Names
Registering Notifications to Create and Destroy Popup Menus
Accessing the Popup Menus
Creating Commands for the New Popup Menu Buttons
Checking the Access State of a Popup Menu Item
Adding a Button to the Model Tree Popup Menu
Menu Manager Buttons and Menus
Menu Files
Adding a Menu Button
New Menus
Submenus
Manipulating Menus
Data Menus
Setting Menu Buttons
Controlling Accessibility of Menu Buttons
Pushing and Popping Menus
Run-time Menus
Adding Custom Web Pages
Adding Custom Dialog Box Components
Registering Notifications to Add and Destroy Content to a New Pane
Execution Rules
Specifying Keyboard Input

User Interface: Dialogs

Introduction
About Creo Toolkit Support for User Interface
UI Components
Naming Convention for UI Components
Menubars and Menubar Components
Dialog Attributes
Dialog Operations
Adding and Removing Components
Dialog Action Callbacks
Cascade Button
Cascade Button Attributes
Checkbutton
Checkbutton Attributes
Checkbutton Operations
Checkbutton Action Callbacks
Drawing Area
Drawing Area Attributes
Adding and Removing Components
Drawing Area Action Callbacks
Drawing Area Operations
Input Panel
Input Panel Attributes
Input Panel Action Callbacks
Input Panel Operations
Label
Label Attributes
Label Operations
Layout
Layout Attributes
Adding and Removing Components
Layout Operations
List
List Attributes
List Action Callbacks
List Operations
Example 2: To use UI List Functions
Menubar
Menubar Attributes
Menupane Attributes
Adding and Removing Components
Optionmenu
Optionmenu Attributes
Optionmenu Action Callbacks
Optionmenu Operations
Progressbar
Progressbar Attributes
Progressbar Operations
Pushbutton
Pushbutton Attributes
Pushbutton Operations
Pushbutton Action Callbacks
Radiogroup
Radiogroup Attributes
Radiogroup Operations
Radiogroup Action Callback
Separator
Separator Attributes
Slider
Slider Attributes
Slider Operations
Slider Action Callbacks
Spinbox
Spinbox Attributes
Spinbox Action Callbacks
Spinbox Operations
Tab
Tab Attributes
Tab Operations
Tab Action Callbacks
Table
Table Attributes
Adding and Removing Components
Table Cell Functions
Table Row Functions
Table Column Functions
Table Operations
Table Action Callbacks
Textarea
Textarea Attributes
Textarea Operations
Textarea Action Callbacks
Thumbwheel
Thumbwheel Attributes
Thumbwheel Operations
Thumbwheel Action Callbacks
Tree
Tree Attributes
Adding and Removing Components
Tree Column Functions
Tree Node Functions
Tree NodeType Functions
Tree Operations
Tree Action Callbacks
Master Table of Resource File Attributes
Using Resource Files
Location and Translation of Resource Files
Syntax of Resource Files
NakedWindow Operations
Adding and Removing Components

User Interface: Dashboards

Introduction to Dashboards
Dashboard
Showing a Dashboard
Accessing a Dashboard
Dashboard Page
Dashboard Page Options
Accessing a Dashboard Page
Accessing Components in the Dashboard Pages

User Interface: Basic Graphics

Manipulating Windows
Windows
Resizing Windows
Manipulating the Embedded Browser in Windows
Repainting Windows
Controlling Which Window is Current
Creating and Removing Windows
Retrieving the Owner of a Window
Visiting Windows
Activating Windows
Flushing the Display Commands to Window
Solid Orientation
Getting and Setting the View Matrix
Converting a Matrix to Orthonormal
Storing Named Views
Graphics Colors and Line Styles
Setting Colors to Desired Values
Setting Colors to Match Existing Entities
Setting Line Styles for Creo Toolkit Graphics
Displaying the Color Selection Dialog Box
Displaying Graphics
Example 5: Displaying Lines and Circles
Displaying Text
Controlling Text Attributes
Controlling Text Fonts
Validating Text Styles
Display Lists
Getting Mouse Input
Example 6: Drawing a Rubber-Band Line
Cosmetic Properties
Surface Properties
Setting Light Sources
Creating 3D Shaded Data for Rendering
Example 1: Creating a Display Object

User Interface: Selection

The Selection Object
Unpacking a ProSelection Object
Building a ProSelection Object
ProSelection Function Examples
Interactive Selection
Highlighting
Selection Buffer
Introduction to Selection Buffers
Reading the Contents of the Selection Buffer
Removing the Items from the Selection Buffer
Adding Items to the Selection Buffer

User Interface: Curve and Surface Collection

Introduction to Curve and Surface Collection
The ProCollection object
Interactive Collection
Accessing Collection object from Selection Buffer
Adding a Collection Object to the Selection Buffer
Programmatic Access to Collections
Contents of Curve Collection
Creation and Modification of Curve Collections
Contents of Surface Collection
Creation and Modification of Surface Collections
Access of Collection Object from Feature Element Trees
Programmatic Access to Legacy Collections
Example 1: Interactive Curve Collection using Creo TOOLKIT
Example 2: Interactive Surface Collection using Creo TOOLKIT

User Interface: Animation

Introduction
Animation Objects
Animation Frames
Playing Animations
Single Animation
Batch Animation

Annotations: Annotation Features and Annotations

Overview of Annotation Features
Creating Annotation Features
Redefining Annotation Features
Visiting Annotation Features
Creating Datum Targets
Visiting Annotation Elements
Accessing Annotation Elements
Modification of Annotation Elements
Example 1: Creating/ Adding Annotation Element Array Reference Set
Parameters Assigned to Annotation Elements
Automatic Propagation of Annotation Elements
Detail Tree
Access to Annotations
Converting Annotations to Latest Version
Annotation Text Styles
Annotation Orientation
Annotation Associativity
Annotation Security
Designate an Annotation
Interactive Selection
Display Modes
Designating Dimensions and Symbols
Dimensions
The ProDimension Object
Visiting Dimensions
Modifying Dimensions
Dimension References
Clean Up Dimensions
Dimension Tolerances
ISO/DIN Tolerance Table Use
Dimension Text
Dimension Text Style
Dimension Prefix and Suffix
Dimension Location
Dimension Orientation
Driving Dimension Annotation Elements
Accessing Reference and Driven Dimensions
45-degree Chamfer Dimensions
Accessing Ordinate and Baseline Dimensions
Notes
Creating and Deleting Notes
Note Properties
Visiting Notes
Note Text Styles
Text Style Properties
Accessing the Note Placement
Modifying 3D Note Attachments
Geometric Tolerances
Accessing Set Datum Tags
Accessing Set Datums for Datum Axes or Planes
Surface Finish Annotations
Symbol Annotations
Creating, Reading and Modifying 3D Symbols
Locating and Collecting 3D Symbols and Symbol Definitions

Annotations: Geometric Tolerances

Geometric Tolerance Objects
Overview
ProGtol
ProGtolAttach
Visiting Geometric Tolerances
Reading Geometric Tolerances
Creating a Geometric Tolerance
Attaching the Geometric Tolerances
Deleting a Geometric Tolerance
Validating a Geometric Tolerance
Geometric Tolerance Layout
Additional Text for Geometric Tolerances
Geometric Tolerance Text Style
Prefix and Suffix for Geometric Tolerances
Parameters for Geometric Tolerance Attributes

Annotations: Designated Area Feature

Introduction to Designated Area Feature
Feature Element Tree for the Designated Area
Element Details of PRO_E_DSGNTAREA_SET
Accessing Designated Area Properties

Data Management: Windchill Operations

Introduction
Accessing Information Before Registering a Server
Registering and Activating a Server
Accessing Information From a Registered Server
Accessing the Workspace
Workspace Data
Creating and Modifying the Workspace
Workflow to Register a Server
To Register a Server with an Existing Workspace
To Register a Server with a New Workspace
Aliased URL
Server Operations
Save
Upload
CheckIn
Retrieval
Checkout and Download
Undo Checkout
Import and Export
File Copy
Server Object Status
Delete Objects
Conflicts During Server Operations
Utility APIs
Sample Batch Workflow

Interface: Data Exchange

Exporting Information Files
Exporting 2D Models
Example 1 Publishing a Drawing
Automatic Printing of 3D Models
Exporting 3D Models
Example 2: To Export a Model File to IGES Format
Export Options in the JT Configuration File
Shrinkwrap Export
Setting Shrinkwrap Options
Example 3: To Export a Model to VRML Format
Example 4: To Create a Shrinkwrap Part Model as a Merged Solid
Exporting to PDF and U3D
Importing Parameter Files
Importing 2D Models
Importing 3D Models
Modifying the Imported Layers
Validation Score for Imports

Interface: Importing Features

Creating Import Features from Files
Creating Import Features from Arbitrary Geometric Data
Allocating ProInterfacedata
Adding Surfaces
Adding Edges
Adding Quilts
Adding Datums
Creating Features from the Interface Data
Import Feature Attributes
Redefining the Import Feature
Import Feature Properties
Associative Topology Bus Enabled Interfaces
Associative Topology Bus Enabled Models and Features

Interface: Customized Plot Driver

Using the Plot Driver Functionality
Example 1: Sample Plot Driver Program

Working with Multi-CAD Models Using Creo Unite

Overview
Support for File Names in Non-Creo Models
Character Support for File Names in Non-Creo Models
Working with Multi-CAD Models in Creo Toolkit
Working with Notifications
Working with Basic Graphics
Working with Simplified Representations
Working with Constraints
Working with User-Defined Features (UDF)
Functions that Support Multi-CAD Assemblies
Superseded Functions
Restrictions on Character Length for Multi-CAD Functions
Functional Areas in Creo that do not Support Multi-CAD Assemblies
Sample Applications for Multi-CAD Assemblies
Migrating Applications Using Tools

Element Trees: Principles of Feature Creation

Overview of Feature Creation
References to Feature Creation Data
Feature Creation
Feature Element Values
Feature Element Paths
Feature Elements
Access to ProElement Data
Feature Element Diagnostics
Calling ProFeatureCreate()
Example of Complete Feature Creation
Feature Inquiry
Feature Redefine
To Redefine a Feature
XML Representation of Feature Element Trees
Introduction to Feature Element Trees in XML
Validation Using XML Schema
XML Representations for Common Elements
Tips for Recycling XML Output of Element Trees

Element Trees: References

Overview of Reference Objects
Reading References
Modifying References

Element Trees: Datum Features

Datum Plane Features
Constraint Reference Types
Fit Reference Types
Example 1: Creating a Datum Plane
Datum Point Features
Sketched Datum Point
Field Datum Point
Offset Csys Datum Point
General Datum Point
Datum Axis Features
Example 6: Creating a Datum Axis
Datum Coordinate System Features
Feature Elements

Element Trees: Datum Curves

Datum Curve Features
Common Elements
Datum Curve Types
Sketched Datum Curves
Trim Datum Curves
Intersect Datum Curves
Wrap Datum Curves
Offset Datum Curves
Tangent Offset Datum Curves
Datum Curves from Cross Section
Datum Curves from Equation
Datum Curves from Point and Direction
Closed Loop Curve
Other Datum Curve Types

Element Trees: Edit Menu Features

Mirror Feature
Creating a Mirror Feature
Redefining a Mirror Feature
Accessing a Mirror Feature
Move Feature
The Feature Element Tree for Move feature in
Creating a Move Feature
Redefining a Move Feature
Accessing a Move Feature
Fill Feature
Creating a Fill Feature
Redefining a Fill Feature
Accessing a Fill Feature
Intersect Feature
Merge Feature
Creating a Merge Feature
Redefining a Merge Feature
Accessing a Merge Feature
Pattern Feature
Wrap Feature
Trim Feature
The Feature Element Tree for Trim feature in
Creating a Trim Feature
Redefining a Trim Feature
Accessing a Trim Feature
Offset Feature
Thicken Feature
Creating a Thicken Feature
Redefining a Thicken Feature
Accessing a Thicken Feature
Solidify Feature
Creating a Solidify Feature
Redefining a Solidify Feature
Accessing a Solidify Feature
Remove Feature
Feature Element Tree for the Remove Feature
Creating the Remove Feature
Redefining the Remove Feature
Accessing the Remove Feature
Example 1: Creating a Remove Surface Feature
Attach Feature
Feature Element Tree for Attach Feature
Creating the Attach Feature
Redefining the Attach Feature
Accessing the Attach Feature
Unify Surfaces Feature

Element Trees: Replace

Introduction
The Feature Element Tree

Element Trees: Draft Features

Draft Feature
Feature Element Tree for the Draft Feature
Creating a Draft
Redefining a Draft
Accessing a Draft
Example 1: Creation of a Draft Feature
Example 2: Creation of a Draft Feature using interactive collection
Example 3: Creation of a Draft Feature based on the Object-Action paradigm
Variable Pull Direction Draft Feature
Feature Element Tree for the Variable Pull Direction Draft Feature
Element Details of the Subtree PRO_E_VPDD_SET_CMP
Creating a VPDD
Redefining a VPDD
Accessing a VPDD

Element Trees: Round and Chamfer

Round Feature
Feature Element Tree for Round Feature
Creating a Round
Redefining a Round
Accessing a Round
Example 1: Sample code for creation of a Round Feature
Modify Round Radius Feature
Feature Element Tree for Modify Round Radius Feature
Auto Round Feature
Chamfer Feature
Feature Element Tree for Chamfer Feature
Creating a Chamfer
Redefining a Chamfer
Accessing a Chamfer
Example 2: Sample code for creation of a Chamfer Feature
Example 3: Sample code for creation of a Edge Chamfer Feature
Edit Chamfer Feature
Corner Chamfer Feature
Feature Element Tree for Corner Chamfer
Creating a Corner Chamfer
Redefining a Corner Chamfer
Accessing a Corner Chamfer

Element Trees: Hole

Overview
Feature Element Tree for Hole Features
Feature Element Data Types
Common Element Values
PRO_E_HLE_COM Values
Straight Hole
Sketched Hole
Standard Threaded Hole
Standard Clearance Hole
Custom Hole
Standard Tapered Hole
Valid PRO_E_HLE_COM Sub-Elements
Hole Placement Types
Hole Placement
Linear Hole on a Plane
Radial Hole on Plane with Radial Dimensioning
Radial Hole on Plane with Diameter Dimensioning
Radial Hole on Plane with Linear Dimensioning
Radial Hole on Cone or Cylinder
Coaxial Hole with Axis as Primary Reference
Coaxial Hole with Primary Reference not Axis
Onpoint Hole with Primary Reference as a Point on Surface
Onpoint Hole with Primary Reference as Datum Point
Hole with Primary Reference as Sketch
Onpoint Hole with Primary Reference as Datum Point with Orientation References
Miscellaneous Information
Hole Parameter Files
Hole Diameter
Order of Element Specification
Hole-specific Functions

Element Trees: Shell

Introduction to Shell Feature
Feature Element Tree for the Shell Feature
Creating a Shell Feature
Redefining a Shell Feature
Accessing a Shell Feature

Element Trees: Patterns

Introduction
The Element Tree for Pattern Creation
Reference Patterns
Dimension Patterns
Table Patterns
Fill Patterns
Direction Patterns
Axis Patterns
Curve Patterns
Point Patterns
Selecting References for Pattern
Attachment Options for Pattern
Pattern Features
NC Sequence Pattern
Geometry Pattern Recognition
Obtaining the Element Tree for a Pattern
Visiting and Creating a Pattern

Element Trees: Sections

Overview
Creating Section Models
To Create and Save a Section Model
Allocating a Two-Dimensional Section
Setting the Mode of a Section
Copying the Current Section
Section Constraints
Solving and Regenerating a Section
Automatic Section Dimensioning
Adding Section Entities
Accessing Selection Reference of the Entity
Construction Entities
Modifying Entities
Adding Section Dimensions
Example 1: Creating Spline Point Dimensions in Sections
Error Reporting
Retrieving and Saving a Section
Example 1: Creating a Section Model

Element Trees: Sketched Features

Overview
Element Tree for Sketched Features
Creating Features Containing Sections
To Create Sketched Features Element Trees
Creating Features with 2D Sections
Verifying Section Shapes
Creating Features with 3D Sections
3D Section Location in the Owning Model
Reference Entities and Use Edge
Creating Geometry by Offsetting
Reusing Existing Sketches
Example 1: Creating an Extruded Protrusion Base Feature
Example 2: Creating a Sketched Datum Curve

Element Trees: Extrude and Revolve

The Element Tree for Extruded Features
Examples: Creating Extruded Features
Conventional Approach
Direct Creation Approach
The Element Tree for Revolved Features
Examples: Creating Revolved Features
The Element Tree for First Features
Example 9: Creating the First Extruded Protrusion Feature by Conventional Approach
Example 10: Creating the First Thin Revolve Protrusion Feature by Conventional Approach

Element Trees: Ribs

The Element Tree for Rib Features

Element Trees: Sweep

Sweeps in Creo Toolkit
Sweep Feature
Element Tree for PRO_E_SWEEP_FRAME_COMP
Creating a Sweep Feature
To Create a Sweep Feature
Example 1: Creating a Sweep Feature
Simple Sweep Feature
Creating a Simple Sweep Feature

Element Tree: Boundary Blend

Overview about Boundary Blend
The Element Tree for Boundary Blend Feature

Element Trees: Solid Body

Introduction
The Element Tree for Body Options
The Element Tree for Body Copy Feature
The Element Tree for Body Split Feature
The Element Tree for Body Remove Feature
The Element Tree for Boolean Body Operations

Element Trees: Creo Flexible Modeling Features

Move and Move-Copy Features
Introduction
The Element Tree for Move and Move-Copy
Moved Geometry
Dimension Elements
3D Transformation Set Feature
Introduction
The Element Tree for 3D Transformation Sets
Functions for the PRO_E_D3ELEM_MOVE_VALUE element
Attachment Geometry Feature
Introduction
The Element Tree for Attachment Geometry Options
Offset Geometry Feature
Introduction
The Element Tree for Offset Geometry
Modify Analytic Surface Feature
Introduction
The Element Tree for Modify Analytic Surface
Tangency Propagation
Introduction
The Element Tree for Tangency Propagation
Mirror Feature
Introduction
The Element Tree for Mirror
Substitute Feature
Introduction
The Element Tree for Substitute
Planar Symmetry Recognition Feature
Introduction
The Element Tree for Planar Symmetry Recognition Feature
Attach Feature
Introduction
The Element Tree for Attach Feature
Example 1: Creating a Flexible Model Feature

Element Trees: Bushing Load

Introduction
The Feature Element Tree for Bushing Loads

Element Trees: Cosmetic Thread

Introduction
The Element Tree for Cosmetic Thread

Element Trees: ECAD Area Feature

Introduction to ECAD Area Feature
Feature Element Tree for the ECAD Area

Assembly: Basic Assembly Access

Structure of Assemblies and Assembly Objects
Visiting Assembly Components
Properties Related to Component Purpose
Component Placement
Simplified Representations
Modifying Component Properties
Locations of Assembly Components
Example 2: Finding the Position of a Component
Assembling Components
Redefining and Rerouting Components
Deleting Components
Flexible Components
Embedded Components and Inseparable Assemblies
Exploded Assemblies
Exploded State Objects
Visiting Exploded States
Accessing Exploded States
Manipulating Exploded States
Merge and Cutout
Automatic Interchange

Assembly: Top-down Design

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
Assembly Component Functions
External Reference Control Functions
Feature and CopyGeom Feature Functions
External Reference Data Gathering

Assembly: Assembling Components

Assembling Components by Functions
Assembling a Component Parametrically
Example 1: Component Constraints
Example 2: Assembling Components
Redefining Components Interactively
Assembling Components by Element Tree
The Element Tree for an Assembly Component
Model
Attributes
Initial Position
Constraint Sets and Mechanism Connections
Placement Constraints
Component Movement in Assembly
Placement via Interface
Assembling Components Using Intent Datums
Example 3: Assembling Components Using Intent Datums

Assembly: Kinematic Dragging and Creating Snapshots

Connecting to a Kinematic Drag Session
Performing Kinematic Drag
Creating and Modifying Snapshots
Snapshot Constraints
Snapshot Transforms
Snapshots in Drawing Views
Manikin Edit

Assembly: Simplified Representations

Overview
Simplified Representations in Session
Retrieving Simplified Representations
Retrieving and Expanding LightWeight Graphics Simplified Representations
Retrieving User-Defined Simplified Representations
Creating and Deleting Simplified Representations
Example 1: Creating a Simplified Representation
Extracting Information About Simplified Representations
Example 2: Visiting the Items in a Simplified Representation
Modifying Simplified Representations
Adding Items to and Deleting Items from a Simplified Representation
Gathering Components by Rule
Gathering by Model Name
Gathering by Parameters
Gathering by Zone
Gathering by Distance from a Point
Gathering by Size
Gathering by Simplified Representation

Assembly: Data Sharing Features

Copy Geometry, Publish Geometry, and Shrinkwrap Features
Feature Element Tree for the Copy Geometry, Publish Geometry, and Shrinkwrap Features
Element Details of the Subtree PRO_E_CG_LOCATION
Element Details of PRO_E_DSF_PROPAGATE_ANNOTS
Shrinkwrap Features Created from Copy Geometry References
Saved Queries for Copy Geometry and Publish Geometry Features
General Merge (Merge, Cutout and Inheritance Feature)
Feature Element Tree
Inheritance Feature and Flexible Component Variant Items
Variant Feature Model
Accessing Properties of Variant Features
Variant Model Items
Variant Parameters
Variant References

Appearance States

Drawings

Creating Drawings from Templates
Example 1: Drawing Creation from a Template
Diagnosing Drawing Creation Errors
Drawing Setup
Context in Drawing Mode
Access Drawing Location in Grid
Drawing Tree
Example 2: Performing Operations on a Drawing Tree
Merge Drawings
Drawing Sheets
Example 3: Listing Drawing Sheets
Example 4: Creating a Copy of the Current Drawing Sheet
Drawing Format Files
Drawing Views and Models
Listing Drawing Views
Modifying Views
Creating Views
Background Views
Detailed Views
Auxiliary Views
Revolved Views
Draft Views
View Orientation
Visible Areas of Views
Sections of a View
View States
Example 7: Creating Drawing Views and Accessing their Properties
Drawing Models
Detail Items
Listing Detail Items
Displaying Detail Items
Creating, Modifying and Reading Detail Items
Draft Entity Data
Accessing OLE Objects
Detail Note Text Data
Detail Note Line Data
Detail Attachments and Leaders
Detail Note Data
Read-Only Notes
Parameterized Note Text
Cross-referencing Gtols and Drawing Annotations
Cross-referencing 3D Notes and Drawing Annotations
Symbol Definition Attachments
Symbol Definition Data
Creating a Symbol Definition
Retrieving a Symbol Definition from Disk
Symbol Instance Variable Text
Symbol Instance Data
Cross-referencing Weld Symbols and Drawing Annotations
Detail Group Data
Drawing Symbol Groups
Identifying Symbol Groups in an Instance
Identifying Symbol Groups in a Definition
Manipulating Symbol Groups
Drawing Edges
Creating BOM Balloons
Drawing Dimensions
Drawing Dimension Attachments and Dimension Creation
Ordinate Dimensions
Other Drawing Dimension Properties

Model-Based Definition and Drawing Tables

MBD and Drawing Tables
Selecting Drawing Tables and Cells
Creating MBD and Drawing Tables
Modifying MBD or Drawing Tables
Reading MBD or DrawingTables
MBD Table References
Notification Functions
Example 15: Creation of Table Listing Datum Points
Drawing Table Segments
Repeat Regions

Production Applications: Sheetmetal

Geometry Analysis
Bend Tables and Dimensions
Bend Allowance Parameters
Bend Allowance Type
Bend Allowance Factor Value
Bend Allowance Table Name
Unattached Planar Wall Feature
Unattached Planar Wall based on the Fill Tool
Feature Element Tree for the Attached Flat Wall Feature
Creating a Flat Wall Feature
Redefining a Flat Wall Feature
Accessing a Flat Wall Feature
Example 1: Creation of a Rectangular Flat Wall using a preselected edge
Flange Wall Feature
Feature Element Tree for the Flange Wall Feature
Creating a Flange Wall Feature
Redefining a Flange Wall Feature
Accessing a Flange Wall Feature
Example 2: Creation of Flange Wall feature using Creo TOOLKIT
Sheet metal Wall Features
Sheet metal Cut Features
Extend Wall Feature
Feature Element Tree for the Extend Wall Feature
Creating a Extend Wall Feature
Redefining a Extend Wall Feature
Accessing a Extend Wall Feature
Split Area Feature
Feature Element Tree for the Split Area Feature
Creating a Split Area Feature
Redefining a Split Area Feature
Accessing a Split Area Feature
Punch and Die Form Features
Feature Element Tree for the Punch and Die Form Features
Creating a Punch or Die Form Feature
Redefining a Punch or Die Form Feature
Accessing a Punch or Die Form Feature
Quilt Form Feature
Feature Element Tree for the Quilt Form Feature
Creating a Quilt Form Feature
Redefining a Quilt Form Feature
Accessing a Quilt Form Feature
Flatten Form Feature
Feature Element Tree for Flatten Form Feature
Creating a Flatten Form Feature
Redefining a Flatten Form Feature
Accessing a Flatten Form Feature
Convert Features
Shell Feature
Driving Surface Feature
Rip Features
Sketched Rip Feature
Surface Rip Feature
Edge Rip Feature
Rip Connect Feature
Creating a Rip Feature
Redefining a Rip Feature
Accessing a Rip Feature
Corner Relief Feature
Corner Relief Options
Editing Corner Relief Feature
Editing Corner Seams
Bend Feature
Bend Line Elements
Bend Relief Elements
Editing Bend Reliefs
Edge Bend Feature
Unbend Feature
Flat Pattern Feature
Bend Back Feature
Sketch Form Feature
Sub Elements of PRO_E_SMT_FILLET_INTERSECT and PRO_E_SMT_FILLET_QUILT
Join Feature
Twist Wall Feature
Merge Wall Feature
Recognizing Sheetmetal Design Objects
Values for PRO_E_SMT_RECOGNITION_SEL_TYPE
Multibodies in Sheetmetal Design

Production Applications: Manufacturing

Manufacturing Models
Creating a Manufacturing Model
Analyzing a Manufacturing Model
Traversing Manufacturing Components
Identifying the Storage Solid
Visiting Manufacturing Tools
Creating Manufacturing Objects
Creating Tools
Manufacturing Parameters
Using External Functions to Define Parameters in the Manufacturing Step Table
Creating Manufacturing Features
Creating Fixtures
Creating Workcells
Creating Operations
Creating NC Sequences
Analyzing Manufacturing Features

Production Applications: Customized Tool Database

Overview
Setting up the Database and Custom Search Parameters
Registering the External Database
Querying the External Database
Returning the Search Results

Production Applications: Creo NC Sequences, Operations and Work Centers

Overview
Element Trees: Roughing Step
The Roughing Feature Element Tree:
Element Trees: Reroughing Step
The Reroughing Feature Element Tree:
Element Trees: Finishing Step
The Finishing Feature Element Tree:
Element Trees: Corner Finishing Step
The Corner Finishing Element Tree:
Element Trees: 3–Axis Trajectory Milling Step
Manufacturing 2–Axis Curve Trajectory Milling Step
Element Trees: Manual Cycle Step
The Manual Cycle Step Feature Element Tree:
Element Trees: Thread Milling
The Thread Milling Feature Element Tree:
Element Trees: Turning Step
The Turning Element Tree:
Element Trees: Thread Turning Step
The Thread Turning Element Tree:
Element Trees: Creo NC Operation Definition
The Creo NC Operation Definition Element Tree:
Element Trees: Workcell Definition
The Manufacturing WEDM Workcell Element Tree
Element Trees: Manufacturing Mill Workcell
The Mill Workcell Feature Element Tree:
Example 1: Creating or Redefining a Tool from a File
Element Trees: Manufacturing Mill/Turn Workcell
The Mill/Turn Workcell Element Tree:
Element Trees: Manufacturing Lathe Workcell
The Lathe Workcell Element Tree:
Element Trees: Manufacturing CMM Workcell
The CMM Workcell Element Tree:
Element Trees: Profile Milling Step
The Profile Milling Element Tree:
Element Trees: Face Milling Step
The Face Milling Element Tree:
Element Trees: Machining Surfaces
Element Trees: Fixture Definition
The Manufacturing Fixture Setup Element Tree:
Manufacturing Holemaking Step
Manufacturing Holemaking Holeset
Shut off Surface Feature Element Tree
Element Trees: Manufacturing Round and Chamfer
Manufacturing Round And Chamfer Element Tree
Element Trees: Engraving Step
The Engraving Step Element Tree
Element Trees: Manufacturing Cutline Milling Sequence
The Cutline Milling Element Tree
Element Tree for PRO_E_CUTLINE_CUT_DEFINITION
Element Tree for PRO_E_MFG_AXIS_DEF_COMP
Element Trees: Manufacturing Drill Group Feature
The Drill Group Feature Element Tree
Manufacturing Volume Milling Feature
The Volume Milling Feature Element Tree
Element Trees: Skirt Feature
Skirt Surface Extension Feature Element Tree
Skirt Fill Feature
Sub-Element Trees: Creo NC Steps
Retract Elements
Tool Reference
Manufacturing Parameters
Surface Collection with Mill Window
Sequence Prerequisites
Element Trees: Tool Setup
Element Trees: CMM Probe Setup
Checking Surfaces
Approach and Exit
Spindle Types
Tool Motions

Production Applications: Process Planning

Process Step Objects
Visiting Process Steps
Process Step Access
Creating Process Steps
Feature Elements
Types of Process Step
Optional Elements
General Process Steps
Reposition Process Steps

Production Applications: NC Process Manager

Overview
Accessing the Process Manager
Accessing the Process Manager when the Dialog Box is not Active
Accessing the Process Manager User Interface
Manufacturing Process Items
Steps, Operations and Workcells
Step Models
Determining the Subtype of a Process Item
Accessing Details of Process Items
Visiting Steps, Operations and Workcells
Creating Steps, Operations, and Workcells
Accessing the Properties of Manufacturing Process Items
Modifying Process Items
Parameters
Manufacturing Parameters
Annotation Element Parameters
Step Parameters and Relations
Template Parameters
Special Parameters
Global Parameters and Relations
Manufacturing Features
Import and Export of Process Table Contents
Notification
Example 1: To Add Menu Button to The Manufacturing Process Table
Example 2: To Highlight the Pre-requisites for the Selected Step in The Manufacturing Process Table
Example 3: To Update Feed and Spindle Speed
Example 4: To Add a Submenu to the Manufacturing Process Table

Production Applications: Cabling

Cabling
Creating a Harness
Finding a Harness
Finding the Cables in a Harness
Harness Parameters
Importing Neutral Wire List Files
Managing Spools
Spool Parameters
Finding Harness Connectors
Connectors Parameters
Managing Cables and Bundles
Cable Parameters
Cable Identifiers and Types
Cable Cosmetic Features
Cable Connectivity
Cable Routing Locations
Cable Geometry
Measuring Harness Clearance
Cable Routing

Production Applications: Piping

Piping Terminology
Linestock Management Functions
Linestocks
Linestock Parameters
Pipeline Features
Pipeline Connectivity Analysis
Networks
Extensions
Members
Terminators
Junctions
Series
Objects
Segments
Connecting Pipeline Segments

Production Applications: Welding

Read Access to Weld Features
Customizing Weld Drawing Symbols

Creo Simulate: Items

Entering the Creo Simulate Environment
Entering the Creo Simulate Environment with Failed Features
Selection of Creo Simulate Items
Example 1: Interactively Selecting and Deleting a Creo Simulate Item
Accessing Creo Simulate Items
Creo Simulate Object References
Geometric References
Y-directions
Functions
Creo Simulate Expressions
Accessing the Properties used for Loads and Constraints
Creo Simulate Loads
Accessing Creo Simulate Loads
Modifying the Creo Simulate Loads
Force and Moment Loads
Pressure, Gravity, and Bearing Loads
Centrifugal Loads
Temperature Loads
Heat Loads
Creo Simulate Load Sets
Creo Simulate Constraints
Accessing the Creo Simulate Constraints
Modifying the Creo Simulate Constraints
Convection Constraints
Radiation Constraints
Displacement Constraints
Symmetry Constraints
Creo Simulate Constraint Sets
Creo Simulate Matrix Functions
Creo Simulate Vector Functions
Creo Simulate Beams
Creo Simulate Beams: Sections, Sketched Sections, and General Sections
Creo Simulate Beam Sections
Sketched Beam Section
General Beam Section
Beam Orientations
Beam Releases
Creo Simulate Spring Items
Creo Simulate Spring Property Items
Creo Simulate Mass Items
Creo Simulate Mass Properties
Creo Simulate Material Assignment
Accessing ProMechmatlassign
Material Assignment Data
Material Orientations
Example 4: Creating Material Orientations Referencing a Selected Coordinate System
Creo Simulate Shells
Shell Properties
Shell Pairs
Interfaces
Bonded Interface
Contact Interface
Thermal Resistance Interface
Free Interface
Gaps
Mesh Control
Accessing AutoGEM Edge Distribution and Minimum Edge Mesh Control Data
Accessing the AutoGEM Edge Length by Curvature Mesh Control Data
Accessing the AutoGEM Maximum Element Size Mesh Control Data
Accessing Edge Distribution Mesh Control Data
Accessing AutoGEM Isolation Data
Accessing the Displacement Coordinate System Data
Accessing the Mesh Control Element Size Data
Accessing the Mesh Control Shell Coordinate System Data
Accessing the Mesh Control Hard Point Data
Accessing the Mesh Control ID Offset Data
Accessing the Mesh Control Numbering Data
Accessing the Suppressed Mesh Control Data
Welds
Creo Simulate Features
Validating New and Modified Simulation Objects

Creo Simulate: Geometry

Introduction
Obtaining Creo Simulate Geometry from Creo TOOLKIT
Accessing the ProMechModel
Accessing the ProMechSolid
Accessing Creo Simulate ProMechSurface
Geometry Evaluation of ProMechSurface
Accessing ProMechContour
Accessing ProMechEdge
Geometry Evaluation of ProMechEdge
Accessing ProMechVertex
Accessing ProMechPoint
Accessing ProMechCompositeCurve
Accessing ProMechCurve
Geometry Evaluation of ProMechCurves
To Create a Surface Region Feature

Creo Simulate: Finite Element Modeling (FEM)

Overview
Exporting an FEA Mesh

Mechanism Design: Mechanism Features

Mechanism Spring Feature
Feature Element Tree for the Mechanism Spring Feature
Mechanism Damper Feature
Feature Element Tree for the Mechanism Damper Feature
Mechanism Belt Feature
Feature Element Tree for the Mechanism Belt Feature
Mechanism 3D Contact Feature
Feature Element Tree for the Mechanism 3D Contact Feature
Mechanism Motor Features
Feature Element Tree for the Mechanism Motor Feature

Event-driven Programming: Notifications

Using Notify
Notification Types
File Management Events
File Management Failure Events
Model and Feature Modification Events
Context Change Events
Graphics Events
NC Output Events
CL Command Events
Mold Layout Events
Selection Events
Weld Events

Event-driven Programming: External Objects

Summary of External Objects
External Objects and Object Classes
Creating External Object Classes
Creating External Objects
External Object Owners
Recycling External Object Identifiers
External Object Parameters
External Types and Identifiers for External Objects
Visiting External Objects
External Object Data
Display Data for External Objects
Selection Data for External Objects
Selecting the Node from the External Application Tree
Manipulating External Object Data
External Object References
Creating External Object References
Visiting External Object References
Callbacks for External Objects
Warning Mechanism for External Objects
Example 1: Creating an External Object

Event-driven Programming: Toolkit-Based Analysis

Overview
Interactive Creation of Toolkit-Based Analysis
Interactive Creation of Toolkit-Based Analysis Feature
Analysis Callbacks
Creo Toolkit Analysis Information
Results Data
ProAnalysisSrfData Structure
Analysis Attributes
Visiting Saved Toolkit-Based Analyses
Visiting Toolkit-Based Analyses Features
Using the Model without Creo Toolkit

Event-driven Programming: Foreign Datum Curves

Foreign Datum Curves
Providing an Evaluation Function
Binding the Evaluation Function to a Class

Task Based Application Libraries

ProArgument and Argument Management
Creating Creo TOOLKIT DLL Task Libraries
Memory Management in Task Library Functions
Launching Creo TOOLKIT DLL Functions
Custom Creo TOOLKIT DLL Tasks for Creo Distributed Batch
Launching Synchronous J-Link Applications

Technical Summary of Changes for Creo 11.0.0.0

Critical Technical Changes
Support for Visual Studio
Updates to Error Types
New Functions
Annotation Features
Appearance States
Composite Design
Data Management: Windchill Operations
Drawings
Cabling
Messages
Model-based Definition Tables
Element Trees: Feature Creation
Geometric Tolerance
Models
Parameters
User Interface: Table Cell Functions
User Interface: Tree Operations
Multibodies in Sheetmetal Design
Superseded Functions
Functions superseded from Creo 1.0 to Creo 11.0
Notification Functions
Miscellaneous Technical Changes
Support for Model-based Definition(MBD) Tables
Support for Seed and Boundary References
Support for Boundary Blend Feature
Non-Compatible APIs for read-only or locked models
Support for Zone Based Ply and Zone Based Core
Support for Reference Laminate in General Merge Feature
Model Type for a Composite Part
Support for Draping Simulation of the Plies using Uncured Thickness
Support for Individual Bodies in Shrinkwrap
Updates in ProCmpstRemovePly.h header file
Updates in ProMfgOptions.h header file
Update to Column Name Size field in Family Tables
Updates in Element Tree: Remove Ply
Updates in ProMdlUnits.h header file
Full Version of CreoŽ Parametric TOOLKIT Release Notes

Technical Summary of Changes for Creo 11.0.1.0

Critical Technical Changes
New Functions
Annotation Features
Model-based Definition Tables
Full Version of CreoŽ Parametric TOOLKIT Release Notes

Technical Summary of Changes for Creo 11.0.2.0

New Functions
Drawings
Model Based Definition
Miscellaneous Technical Changes
Support for the New Dimension Type
Full Version of CreoŽ Parametric TOOLKIT Release Notes

Unicode Encoding

Introduction to Unicode Encoding
Unicode Encoding and Creo Toolkit
Necessity of Unicode Compliance
External Interface Handling
Special External Interface: printf() and scanf() Functions
Special External Interface: Windows-runtime Functions
Special External Interface: Hardcoded Strings

Updating Older Applications

Overview
Tools Available for Updating Applications

Migrating to Creo Object TOOLKIT C++

Overview
Migrating Applications Using Tools

Migrating to the Multibody Environment

Overview
Impact on Existing APIs
User-Defined Features
Update in API Implementation to Support Multibody
Update in Existing Element Trees
New Element Trees for Supporting Multibody Features
Update to Values of Enumerated Data Types
Impact on Existing Structures

Creo Toolkit Registry File

Registry File Fields
Sample Registry Files

Creo Toolkit Library Types

Overview
Linking the Applications
Standard Libraries
Alternate Libraries

Creo Toolkit Sample Applications

Installing Sample Applications
Details on Sample Applications
pt_inst_test
pt_inst_cxx
pt_inst_test_md
pt_autoaxis
pt_userguide
pt_examples
pt_geardesign
pt_async
pt_async_md
pt_simple_async
pt_basic
pt_af_examples
pt_udf_examples
pt_mech_examples

Advanced Licensing Options

Advance Licensing Options for Creo Toolkit

Pro/DEVELOP to Creo Toolkit Function Mapping

The Relationship Between Creo Toolkit and Pro/DEVELOP
Creo Toolkit OHandles:
Converting from Pro/DEVELOP
Using Pro/DEVELOP Applications with Creo Toolkit
Techniques of Conversion and Mixing
Equivalent Pro/DEVELOP Functions

Geometry Traversal

Overview
To Walk Through the Geometry of a Block
Geometry Terms

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
Second Derivative Spline Surface
NURBS Surface
Cylindrical Spline Surface
Foreign Surface
Edge and Curve Data Structures
Arc
Line
NURBS
Spline
Ellipse

Debugging Creo TOOLKIT Applications

Building a Creo TOOLKIT Application for Debugging
Debugging Techniques
Debugging an Interactive DLL
Debugging a Batch Mode DLL
Debugging Creo TOOLKIT DLLs on Windows
Debugging a Multiprocess Application
Debugging a Synchronous Spawn Mode Application
Debugging an Asynchronous Spawn Mode Application

Glossary

Glossary


Copyright © 2024