Contents


About This Guide

Overview of Creo Object TOOLKIT C++

Setting Up Creo Object TOOLKIT C++
Installing Creo Object TOOLKIT C++
Building a Sample Application
Licensing Options for Creo Object TOOLKIT C++
Unlocking the Creo Object TOOLKIT C++ Application
Digitally Signing the Application
Unlock Messages
How Creo Object TOOLKIT C++ Works
Domains of Creo Object TOOLKIT C++
Casting of Creo Object TOOLKIT C++ pfc Classes to wfc Classes
Categories of Creo Object TOOLKIT C++ Classes
List of Classes and Methods
Creo-Related Interfaces
Compact Data Classes
Union Classes
Sequence Classes
Array Classes
Enumeration Classes
Action Listener Classes
Utilities
Creo Object TOOLKIT C++ Support for Creo
Support for Multi-CAD Models Using Creo Unite
Using Creo Object TOOLKIT C++ with Creo TOOLKIT
Migrating Creo TOOLKIT Applications to Creo Object TOOLKIT C++ Using Tools
Creating Applications
Application Hierarchy
Exception Handling
Retrieving Creo Version
Compatibility of Deprecated Methods
Visit Methods

The Creo Object TOOLKIT C++ Online Browser

Online Documentation for Creo Object TOOLKIT C++ APIWizard
Installing the APIWizard
APIWizard Overview

Session Objects

Overview of Session Objects
Getting the Session Object
Getting Session Information
Creo License Data
Directories
File Handling
Configuration Options
Registry File Data
Macros
Colors and Line Styles
Initializing Objects
Accessing the Creo User Interface
The Text Message File
Writing a Message Using a Message Pop-up Dialog Box
Accessing the Message Window
Message Classification
Displaying Feature Parameters
File Dialogs
Customizing the Creo Navigation Area

Selection

Interactive Selection
Accessing Selection Data
Controlling Selection Display
Programmatic Selection
Selection Buffer
Introduction to Selection Buffers
Reading the Contents of the Selection Buffer
Removing the Items of the Selection Buffer
Adding Items to the Selection Buffer

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 the Creo Object TOOLKIT C++ Applications

Menus, Commands, and Pop-up Menus

Introduction
Menu Bar Definitions
Menu Buttons and Menus
Access Listeners for Commands
Bracket Listeners for Commands
Designating Commands
Command Icons
Designating the Command
Placing the Button
Pop-up Menus
Adding a Pop-up Menu to the Graphics Window
Using the Trail File to Determine Existing Pop-up Menu Names
Listening for Pop-up Menu Initialization
Accessing the Pop-up Menus
Adding Content to the Pop-up Menus

User Interface Foundation Classes for Dialogs

Introduction

Models

Overview of Model Objects
Getting a Model Object
Model Descriptors
Retrieving Models
Model Information
Model Operations
Running Creo Modelcheck
Custom Checks

Drawings

Overview of Drawings in Creo Object TOOLKIT C++
Creating Drawings from Templates
Drawing Creation Errors
Obtaining Drawing Models
Drawing Information
Access Drawing Location in Grid
Drawing Tree
Drawing Operations
Merge Drawings
Drawing Sheets
Drawing Sheet Information
Drawing Sheet Operations
Drawing Format Files
Drawing Views
Creating Drawing Views
Obtaining Drawing Views
Drawing View Information
Drawing View Display Information
Drawing Views Operations
Drawing Dimensions
Obtaining Drawing Dimensions
Creating Drawing Dimensions
Drawing Dimensions Information
Drawing Dimensions Operations
Ordinate Dimensions
Drawing Tables
Creating Drawing Cells
Selecting Drawing Tables and Cells
Creating Drawing Tables
Retrieving Drawing Tables
Drawing Tables Information
Drawing Tables Operations
Drawing Table Segments
Repeat Regions
Drawing Views And Models
Listing Drawing Views
Modifying Views
Detailed Views
Auxiliary Views
Revolved Views
View Orientation
Sections of a View
Visible Areas of Views
View States
Drawing Models
Drawing Edges
Detail Items
Listing Detail Items
Creating, Modifying and Reading Detail Items
Detail Note Data
Cross-referencing 3D Notes and Drawing Annotations
Symbol Definition Attachments
Symbol Instance Data
Cross-referencing Weld Symbols and Drawing Annotations
Detail Group Data
Drawing Symbol Groups
Manipulating Symbol Groups
Detail Entities
Instructions
Detail Entities Information
Detail Entities Operations
OLE Objects
Detail Notes
Instructions
Detail Notes Information
Details Notes Operations
Detail Groups
Instructions
Detail Groups Information
Detail Groups Operations
Detail Symbols
Detail Symbol Definitions
Detail Symbol Instances
Detail Symbol Groups
Detail Attachments
Free Attachment
Parametric Attachment
Offset Attachment
Unsupported Attachment

Solid

Getting a Solid Object
Solid Information
Displaying a Solid
Solid Operations
Regenerating a Solid
Combined States of a Solid
Solid Units
Types of Unit Systems
Accessing Individual Units
Modifying Individual Units
Creating a New Unit
Accessing Systems of Units
Modifying Systems of Units
Creating a New System of Units
Conversion to a New Unit System
Mass Properties
Part Properties
Annotations
Materials
Accessing Material Types
Accessing Material Properties
Accessing User-defined Material Properties

Solid Bodies

Solid Body Information
Creating a Solid Body
External Copy Geometry Feature
To create a multibody part from an assembly
To create an assembly from a multibody part
To set the appearance of bodies

Annotations: Annotation Features and Annotations

Overview of Annotation Features
Creating Annotation Features
Redefining Annotation Features
Accessing Annotations
Accessing and Modifying Annotation Elements
Accessing Reference and Driven Dimensions
Automatic Propagation of Annotation Elements
Detail Tree
Converting Annotations to Latest Version
Annotation Text Styles
Annotation Orientation
Accessing Baseline and Ordinate Dimensions
Baseline Dimensions
Ordinate Dimensions
Annotation Associativity
Annotation Security
Accessing Set Datum Tags
Designating Dimensions and Symbols
Surface Finish Annotations
Symbol Annotations
Creating, Reading and Modifying 3D Symbols
Locating and Collecting 3D Symbols and Symbol Definitions
Notes
Note Properties
Accessing Note Placement
Modifying 3D Note Attachments
Text Style Properties

Annotations: Geometric Tolerances

Reading Geometric Tolerances
Deleting a Geometric Tolerance
Validating a Geometric Tolerance
Geometric Tolerance Layout
Additional Text for Geometric Tolerances
Geometric Tolerance Text Style
Creating a Geometric Tolerance
Attaching the Geometric Tolerances

Curve and Surface Collection

Introduction to Curve and Surface Collection
Interactive Collection
Programmatic Access to Collections
The wfcCollection Interface
Curve Collection
Surface Collection

Windows and Views

Windows
Getting a Window Object
Creating Windows
Window Operations
Embedded Browser
Views
Getting a View Object
View Operations
Coordinate Systems and Transformations
Coordinate Systems
Transformations

ModelItem

Solid Geometry Traversal
Getting ModelItem Objects
ModelItem Information
Duplicating ModelItems
Layer Objects
Getting Layer Objects
Layer Operations
Layer State

Feature Element Tree

Overview of Feature Creation
Element Tree Types
Building Features Using Element Trees
Feature Element Values
Feature Element Special Values
Feature Element Paths
Feature Element Tree
Creating FET Using WCreateFeature
Examples of Feature Creation
Feature Elements
Creating Patterns
Redefining Features
Element Diagnostics

Element Trees: Sections

Overview
Creating Section Models
Setting the Intent Manager Mode of a Section
Example 1: Creating a Section Model
To Create and Save a Section Model
Allocating a Two-Dimensional Section
Copying the Current Section
Epsilon Value in Sections
Section Entities
Retrieving a Section

Element Trees: Sketched Features

Overview
Creating Features Containing Sections
To Create Sketched Features Element Trees
Example 1: Creating a Sweep Feature
Creating Features with 2D Sections
Creating Features with 3D Sections
3D Section Location in the Owning Model
Example 2: Manipulating a 3D Section

Holes

Accessing Threaded Hole Properties

Features

Access to Features
Feature Information
Feature Inquiry
Feature Operations
Feature Groups and Patterns
User Defined Features
Read Access to Groups and User Defined Features
Creating Features from UDFs
Creating UDFs
Creating Interactively Defined UDFs
Creating a Custom UDF

Datum Features

Datum Plane Features
Datum Axis Features
General Datum Point Features
Datum Coordinate System Features

Cross Sections

Listing Cross Sections
Extracting Cross-Sectional Geometry
Creating and Modifying Cross Sections
Mass Properties of Cross Sections
Line Patterns of Cross Section Components
Example 1: Creating a Planar Cross Section and Editing the Hatch Parameters

External Objects

Summary of External Objects
External Objects and Object Classes
Creating External Objects
External Object Owners
External Object Data
Display Data for External Objects
Selection Data for External Objects
Manipulating External Object Data
External Object References
Creating External Object References

Geometry Evaluation

Geometry Traversal
Geometry Terms
Traversing the Geometry of a Solid Block
Curves and Edges
The t Parameter
Curve and Edge Types
Composite Curves
Evaluation of Curves and Edges
Solid Edge Geometry
Curve Descriptors
Contours
Surfaces
UV Parameterization
Surface Types
Surface Information
Evaluation of Surfaces
Surface Descriptors
Axes, Coordinate Systems, and Points
Evaluation of ModelItems
Interference
Analyzing Interference Information
Analyzing Interference Volume
Tessellation
Surface Tessellation
Curve and Edge Tessellation
Part and Assembly Tessellation
Geometry Objects
Geometry of Points
Geometry of Coordinate System Datums
Geometry of Solid Edges
Geometry of Quilts
Geometry of Surfaces
Geometry of datums
Tracing a Ray
Measurement

Dimensions and Parameters

Overview
The ParamValue Object
Accessing a ParamValue Object
Accessing the ParamValue Value
Parameter Objects
Creating and Accessing Parameters
Parameter Selection Options
Table Parameters
Driven and Driving Parameters
Dimension Objects
Getting Dimensions
Dimension Information
Modifying Dimensions
Cleaning Up Dimensions
Dimension Tolerances
Dimension Prefix and Suffix
Dimension Orientation
Driving Dimension Annotation Elements
Accessing Reference and Driven Dimensions
45 Degree Chamfer Dimensions

Relations

Accessing Relations
Accessing Post Regeneration Relations
Adding a Customized Function to the Relations Dialog Box
Relation Function Options
Relation Function Listeners

Assemblies and Components

Structure of Assemblies and Assembly Objects
Assembly Components
Regenerating an Assembly Component
Creating a Component Path
Component Path Information
Displayed Entities
Assembling Components
Constraint Attributes
Assembling a Component Parametrically
Redefining and Rerouting Assembly Components
Exploded Assemblies
Accessing Exploded States
Manipulating Exploded States
Skeleton Models
Flexible Components and Inheritance Features in an Assembly
Variant Feature Model
Variant Items for Flexible Components
Gathering Components by Rule
Gathering Components by Model Name
Gathering Components by Size
Gathering Components by Simplified Representation
Gathering Components by Parameters
Gathering Components by Zone
Gathering Components by Distance from a Point
Listing Components By Rule

Assembly: Kinematic Dragging and Creating Snapshots

Connecting to a Kinematic Drag Session
Performing Kinematic Drag
Creating and Modifying Snapshots
Snapshot Transforms

Family Tables

Working with Family Tables
Accessing Instances
Accessing Columns
Accessing Cell Information
Creating Family Table Instances
Creating Family Table Columns
Operations on Family Table Instances
Family Table Utilities

Action Listeners

Creo Object TOOLKIT C++ Action Listeners
Creating an ActionListener Implementation
Action Sources
Types of Action Listeners
Dimension Level Action Listeners
Session Level Action Listeners
UI Command Action Listeners
Model Level Action listeners
Solid Level Action Listeners
Selection Level Action Listeners
Feature Level Action Listeners
Cancelling an ActionListener Operation

Interface

Exporting Files and 2D Models
Export Instructions
Exporting Drawing Sheets
Exporting to Faceted Formats
Exporting Using Coordinate System
Exporting to PDF and U3D
Exporting 3D Geometry
Export Instructions
Export Utilities
Shrinkwrap Export
Setting Shrinkwrap Options
Surface Subset Options
Faceted Solid Options
Merged Solid Options
Importing Files
Import Instructions
Importing 2D Models
Importing 3D Geometry
Modifying the Imported Layers
Import Feature Properties
Import Feature Attributes
Redefining the Import Feature
Extracting Geometry as Interface Data
Extracting Interface Data for Neutral Files
Associative Topology Bus Enabled Models and Features
Printing Files
Printer Options
Placement Options
Model Options
Plotter Configuration File (PCF) Options
Automatic Printing of 3D Models
Solid Operations
Window Operations
Creating Import Features from Files

Simplified Representations

Overview
Retrieving Simplified Representations
Creating and Deleting Simplified Representations
Extracting Information About Simplified Representations
Modifying Simplified Representations
Adding Items to and Deleting Items from a Simplified Representation
Simplified Representation Utilities
Expanding Light Weight Graphics Simplified Representations

Asynchronous Mode

Overview
Setting up an Asynchronous Creo Object TOOLKIT Application
Simple Asynchronous Mode
Starting and Stopping Creo Parametric
Setting Up a Noninteractive Session
Connecting Via Connection ID
Getting the Session Object
Full Asynchronous Mode
Troubleshooting Asynchronous Creo Object TOOLKIT
General Problems

Task Based Application Libraries

Managing Application Arguments
Modifying Arguments
Launching a Creo TOOLKIT DLL
Launching Tasks from Creo Object TOOLKIT C++ Task Libraries

Graphics

Overview
Getting Mouse Input
Drawing a Mouse Box
Cosmetic Properties
Surface Properties
Item Properties
Setting Light Sources
Graphics Colors
Setting Colors to Match Existing Entities
Version of Color Map
Color Schemes
Line Styles for Graphics
Displaying Graphics
Controlling Graphics Display
Displaying Text in the Graphics Window
Controlling Text Fonts
Display Lists and Graphics
Exceptions

External Data

External Data
Introduction to External Data
Compatibility with Creo TOOLKIT
Accessing External Data
Storing External Data
Initializing Data Objects
Retrieving External Data
Selecting the Node from the External Application Tree
Exceptions

Windchill Connectivity APIs

Introduction
Accessing a PTC Windchill Server from a Creo Session
Accessing Information Before Registering a Server
Registering and Activating a Server
Accessing Information From a Registered Server
Information on Servers in Session
Accessing Workspaces
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

Technical Summary of Changes for Creo 11.0.0.0

Critical Technical Changes
Support for Visual Studio
New Functions
Kinematic Dragging
Full Version of Creo Object TOOLKIT C++ Release Notes

Technical Summary of Changes for Creo 11.0.2.0

New Functions
Features
Full Version of Creo Object TOOLKIT C++ Release Notes

Creo Object TOOLKIT C++ Registry File

Registry File
Registry File Fields
Sample Registry Files
Example 1

Creo Object TOOLKIT C++ Library Types

Overview
Linking the Applications
Standard Libraries
Alternate Libraries

Advanced Licensing Options

Advance Licensing Options for Creo Object TOOLKIT C++

Sample Applications

Installing Creo Object TOOLKIT C++
Sample Applications
otk_examples
otk_async_examples

Geometry Traversal

Example 1
Example 2
Example 3
Example 4
Example 5

Geometry Representations

Surface Parameterization
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 Parameterization
Line
Arc
Spline
NURBS

Copyright © 2024
Parametric Technology Corporation
140 Kendrick Street, Needham MA 02494 USA
All rights reserved