Table of Contents

Introduction
Customizing ANSYS Products
Direct Product Customization
Process Compression and Automation
Licensing
Migration Notes
Migrating ACT Extensions from 17.0 to 17.1
Changes to the Wizard API
Changes to the Project API
Migrating ACT Extensions from 17.1 to 17.2
Known Issues and Limitations
Defining Extensions
Creating a Scripted Extension
Creating the XML Extension Definition File
Creating the IronPython Script
Setting Up the Directory Structure/File Hierarchy
Viewing Exposed Custom Functionality
Using Extension Libraries
Building a Binary Extension
Configuring Extension Options
Additional Extension Folders Option
Save Binary Extensions with Project Option
Journal Wizard Actions Option
Debug Mode Option
Using Extensions
Using the ACT Start Page
Accessing the ACT Start Page
ACT Start Page Interface
Using the Extension Manager
Extension Manager Accessed via the ACT Start Page
Extension Manager Accessed via Extensions Menu
Installing and Uninstalling Extensions
Installing a Scripted Extension
Uninstalling a Scripted Extension
Installing a Binary Extension
Uninstalling a Binary Extension
Loading and Unloading Extensions
Configuring Extensions to be Loaded by Default
Feature Creation Capabilities
Common Capabilities
Defining Toolbars and Toolbar Buttons
Binding Toolbar Buttons with ACT Objects
Defining Pop-up Dialogs
Storing Data in Your Extension
ACT-Based Properties
Creating Property Groups
Using PropertyGroup and PropertyTable
Using Templates to Create Property Groups
Parameterizing Properties
Common Property Parameterization Processes
Parameterizing Properties in ANSYS Workbench
Parameterizing Properties in ANSYS Mechanical
Defining Input Parameters in ANSYS Mechanical
Defining Output Parameters in ANSYS Mechanical
Parameterizing Properties in ANSYS DesignModeler
Parameterizing Properties in a Third-Party Solver
Defining Parameters under a Load in a Third-Party Solver
Defining Parameters in Analysis Settings in a Third-Party Solver
Defining Parameters under Results in a Third-Party Solver
Defining DesignXplorer Properties
Properties in the DX Interface
Additional Attributes for DX Extensions
Advanced Usage Examples
Managing Dependencies between Properties
Controlling Property Visibility with a Callback
DOE Example
Optimization Example
Modifying an Attribute with a Callback
DOE Example
Optimization Example
Capabilities for ANSYS Mechanical
Adding a Pre-Processing Feature in ANSYS Mechanical
Adding a Post-Processing Feature in ANSYS Mechanical
Creating Results with Imaginary Parts
Obsolete "OnStartEval" and “GetValue" Callbacks
Connecting to a Third-Party Solver
Third-Party Solver Connection Extension
Post Processing
Load and Save Data
Capabilities for ANSYS DesignModeler
Geometry Definition in the XML File
Geometry Definition in the Python File
Functions Associated with the <ongenerate> Callback
Functions Associated with the <onaftergenereate> Callback
Capabilities for ANSYS DesignXplorer
The Design Exploration Process
The DX Component
The DOE Component
The Optimization Component
The DX Extension
Implementing a DX Extension
Implementation Requirements
DX Extension Definition and Configuration
DX Extension Capabilities
Main Capabilities
Optional Capabilities
Notes on Method Class Implementation
Notes on Monitoring
Notes on Results
Capabilities for Custom ACT Workflows in Workbench
Exposing Custom Taskgroups and Tasks on the Project Schematic
Using Global Callbacks
Invoking Custom Schematic Actions
Invoking Custom Workbench Actions
Global Callback Observation Process
Progress Monitoring
Using Process Utilities
The Custom Workflow Creation Process
Creating the Extension Definition XML File
Defining a Global Callback
Invoking Global Callbacks
Filtering Global Callbacks
Specifying Global Callback Execution Order
Available Schematic Callbacks
Available Workbench Callbacks
Defining a Task
Defining Task-Level Attributes
Defining Task-Level General Data Transfer
Defining Task-Level Data Transfer Access
Task-Level File Management Capabilities
Defining Task-Level Callbacks
Defining Task-Level Context Menus
Defining Task-Level Property Groups and Properties
Defining Task-Level Property Callbacks
Using Standardized Property Interaction
Using Path-Based Property Control Support
Using String-Based and Option-Based Task Properties
Specifying Property Default Values
Defining Task-Level Parameters
Defining Task-Level Inputs and Outputs
Defining a Remote Job Execution Specification
Accessing and Invoking Task-Related Workbench Data
Executing Container-Level Commands on a Task
Accessing Workbench Parameters from a Task
Accessing a Workbench-Based Component from a Task
Accessing the Owning Taskgroup from a Task
Defining a Taskgroup
Creating the IronPython Script
Upstream Data Consumption (Input)
Data Generation (Output)
Convenience APIs
Capabilities for ANSYS AIM
Adding a Pre-Processing Feature in ANSYS AIM Structural
Custom Load Definition in the XML File
Custom Load Definition in the Python File
Creating a Custom Object to Merge Existing AFD Features (Process Compression)
CFD System Definition in the XML File
CFD System Definition in the IronPython File
ACT Simulation Wizards
Types of Wizards
Creating Wizards
Parts of a Wizard
XML Extension Definition File
Example: XML Extension File
IronPython Script
Example: IronPython Script for a Project Wizard
Custom Help for Wizards
Creating Custom Help for Wizards
Viewing Custom Help for Wizards
Customizing the Layout of a Wizard
Installing and Loading Wizards
Using Wizards
Using a Workbench or Target Application Wizard
Launching a Wizard from the Wizards Page
The Wizard Interface
Entering Data in a Wizard
Exiting a Wizard or Project
Using an AIM Custom Template
APIs Description
APIs for Custom Workflows in the Workbench Project Page
Accessing Project-Level APIs
Accessing State-Handling APIs
Accessing Project-Reporting APIs
APIs for ANSYS Mechanical
Directly Accessing an Object
Handling Property Types
User Interface and Toolbars
Fields for Boundary Conditions
Input and Output Variables
Variable Definition Types
Input Loading Data Definitions
Setting the Variable Definition Type
Create a displacement and verify its variable definition types.
Change the Y component from Free to Discrete and verify.
Change the Y component back to Free and verify.
Setting Discrete Values for Variables
Getting/Setting Discrete Values for an Input Variable
Getting/Setting Discrete Values for an Output Variable
Mechanical Worksheets
Named Selection Worksheets
Creating the Named Selections Worksheet
Adding New Rows
Mesh Order Worksheets
Displaying the Mesh Worksheet
Specifying the Mesh Worksheet and Named Selections
Adding New Rows
Meshing the Named Selections
Additional Commands
Tree Object
Model Object
Geometry: Point Mass
Mesh: Mesh Control
Connections: Frictionless Contact and Beam
Analysis: Load Magnitude
Result: Total Deformation Maximum
TraverseExtension
Traversing the Geometry
Traversing the Mesh
Traversing Results
APIs for ANSYS Design Modeler
Using the Selection Manager in DesignModeler
Working with the Current Selection
Creating a New Selection and Adding Entities
Creating Primitives
Creating a Sheet Body
Creating a Wire Body
Creating a Solid Body
Applying Operations
Applying the Extrude Operation
Applying the Transform Edges to Wire Tool
APIs for ANSYS DesignXplorer
DOE APIs
DOE Architecture
The Sampling Process
Optimization APIs
Optimization Architecture
The Optimization Process
Associated Libraries
Query to Material Properties
Units Conversion
MAPDL Helpers
Journaling Helper
Development and Debugging
ACT Console
Using the Scope Menu
Using the Command Line Editor
Using the Command History Window
Using Auto-Completion
Using Auto-Completion Tooltips
Interacting with Auto-Completion Suggestions
Using Bookmarks
ACT Console Keyboard Shortcuts
Binary Extension Builder
Debug Mode
Reload Extensions
Extensions Log File
Debugging with Microsoft® Visual Studio
Advanced Programming in C#
Initialize the C# Project
C# Implementation for a Load
C# Implementation for a Result
Examples
Mechanical Extension Examples
Von-Mises Stress as a Custom Result
An Edge-Node Coupling Tool
DesignXplorer Extension Examples
DOE Extension Examples
Optimization Extension Examples
Custom ACT Workflows in Workbench Examples
Global Workflow Callbacks
XML Definition File
IronPython Script
Custom User-Specified GUI Operation
XML Definition File
IronPython Script
Custom, Lightweight, External Application Integration with Parameter Definition
XML Definition File
IronPython Script
Custom, Lightweight, External Application Integration with Custom Data and Remote Job Execution
XML Definition File
IronPython Script
Using RSM Job Submission Capabilities
Generic Material Transfer
XML Definition File
IronPython Script
Material File
Generic Mesh Transfer
XML Definition File
IronPython Script
Custom Transfer
XML Definition File
IronPython Script
Parametric
XML Definition File
IronPython Script
Wizard Examples
Project Wizard (Workbench Project Tab)*
XML Definition File
IronPython Script
Project Wizard (AIM Project Tab)
XML Definition File
IronPython Script
Reviewing Wizard Results
DesignModeler Wizard*
XML Definition File
IronPython Script
Mechanical Wizard*
XML Definition File
IronPython Script
Mixed Wizard*
XML Definition File
IronPython Script
Fluent Wizard (.msh Input File)
XML Definition File
Reviewing the Analysis
Fluent Wizard (.cas Input File)
XML Definition File
Reviewing the Analysis
Electronics Desktop Wizard
XML Definition File
IronPython Script
Reviewing the Analysis
SpaceClaim Wizard
XML Definition File
IronPython Script
AIM Custom Template (Single-Step)
XML Definition File
IronPython Script
Defining Custom Help for the Single-Step Custom Template
AIM Custom Template (Multiple-Step)
XML Extension Definition File
IronPython Script
Defining Custom Help for the Multiple-Step Custom Template
Wizard Custom Layout Example
XML Definition File
IronPython Script
Exposure of the Wizard Layouts
XML Extension Definition
<extension>
<Application>
<appStoreId>
<assembly>
<author>
<description>
<Guid>
<Interface>
<Licenses>
<script>
<simdata>
<Templates>
<UIDefintion>
<Wizard>
<Workflow>
A. Component Input and Output Tables
B. ANSYS Workbench Internally Defined System Template and Component Names
C. Data Transfer Types
D. Addin Data Types and Data Transfer Formats
E. Pre-Installed Custom Workflow Support

Release 17.2 - © SAS IP, Inc. All rights reserved.