Femap API Reference

December 13, 2017 | Author: MSC Nastran Beginner | Category: Tab (Gui), Microsoft Windows, 64 Bit Computing, Software, Computing Platforms
Share Embed Donate


Short Description

Download Femap API Reference...

Description

FEMAP

API Reference

Version 10.3

Proprietary and Restricted Rights Notice This software and related documentation are proprietary to Siemens Product Lifecycle Management Software Inc. © 2011 Siemens Product Lifecycle Management Software Inc. All Rights Reserved. Siemens and the Siemens logo are registered trademarks of Siemens AG. NX is a trademark or registered trademark of Siemens Product Lifecycle Management Software Inc. or its subsidiaries in the United States and in other countries. All other trademarks, registered trademarks or service marks belong to their respective holders.

Siemens PLM Web:

http://www.femap.com

Customer Support Phone: Web:

(714) 952-5444, (800) 955-0000 (In US & Canada) http://support.ugs.com

The following copyright refers only to the “bmp2raster.exe” executable distributed with FEMAP: NeuQuant Neural-Net Quantization Algorithm Copyright (c) 1994 Anthony Dekker NEUQUANT Neural-Net quantization algorithm by Anthony Dekker, 1994. See "Kohonen neural networks for optimal colour quantization" in "Network: Computation in Neural Systems" Vol. 5 (1994) pp 351-367 for a discussion of the algorithm. See also http://members.ozemail.com.au/~dekker/NEUQUANT.HTML Any party obtaining a copy of these files from the author, directly or indirectly, is granted, free of charge, a full and unrestricted irrevocable, world-wide, paid up, royalty-free, nonexclusive right and license to deal in this software and documentation files (the "Software"), including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons who receive copies from any such party to do so, with the only requirement being that this copyright notice remain intact.

Conventions This manual uses different fonts to highlight command names or input that you must type.

a:setup

Shows text that you should type.

OK, Cancel

Shows a command name or text that you will see in a dialog box.

Throughout this manual, you will see references to Windows. Windows refers to Microsoft® Windows XP, Windows Vista, and Windows 7 (32-bit and 64-bit versions). You will need one of these operating environments to run FEMAP for the PC. This manual assumes that you are familiar with the general use of the operating environment. If you are not, you can refer to the Windows User’s Guide for additional assistance. Similarly, throughout the manual all references to FEMAP, refer to the latest version of our software.

FEMAP API Reference Table of Contents Introduction to the FEMAP API Objects, Methods and Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 The Application Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 Other Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 Using Visual Basic .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 Arrays and Variants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 An Array Shortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 Arrays and Visual Basic .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 Arrays and Visual C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 Using Multi-dimensional Arrays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 Multiple Definitions of Array Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 Memory Allocation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 Global Constants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40

Using the FEMAP API Using Visual Basic .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 Loading Data into Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 Loading Data from Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47 Creating Output in FEMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 Using the ReadFile Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52 Storing Your Own Data in the FEMAP Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53 Creating a Rigid Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56 Updating Loads and Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58 Charting FEMAP Results in Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 Calling the API from Visual C++. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67

The FEMAP Application Object Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 Using the FEMAP API Programming Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 Creating a FEMAP Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 Using the FEMAP Type Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72 Working with the User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75 Running as two separate applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75 Running FEMAP as a hidden server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76 Running your application as a FEMAP add-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76 Embedding FEMAP in your application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 Embedding FEMAP in your Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78 Capturing the FEMAP Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 API Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 FEMAP Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 Global Properties - File menu commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84 File, Import, Geometry - Geometry Replacement Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84 File, Page Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86 File, Preferences - Messages tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88

File, Preferences - Views tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 File, Preferences - Render tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 File, Preferences - User Interface tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 File, Preferences - Database tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 File, Preferences - Geometry/Model tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 File, Preferences - Interfaces tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 File, Preferences - Library/Startup tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 File, Preferences - Color tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 File, Preferences - Spaceball tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Global Integer Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Global Real Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Global Boolean Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Global String Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Entity Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 FEMAP Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 File Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 File Open/Exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 feFileNew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 feFileOpen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 feFileClose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 feFileExit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 File Save. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 feFileSave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 feFileSaveAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 feFileTimedSave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Import Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 feFileReadAcisOpt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 feFileReadAcis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 feFileReadCatia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 feFileReadCatiaV5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 feFileReadDxf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 feFileReadIdeas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 feFileReadIgesAdv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 feFileReadIges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 feFileReadParasolidOpt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 feFileReadParasolid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 feFileReadProe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 feFileReadSolidEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 feFileReadStepOpt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 feFileReadStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 feFileReadStl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 feFileReadUg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Import Analysis Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 feFileReadAbaqus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 feFileReadAnsys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 feFileReadDyna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 feFileReadMarc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 feFileReadNastran. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 feFileReadPatran. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Import Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 feFileReadAbaqusResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 feFileReadAnsysResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 feFileReadDynaResults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 feFileReadMarcResults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 feFileReadNastranResults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Import/Export Neutral File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 feFileReadNeutral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

feFileReadNeutral2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileReadNeutral3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileWriteNeutral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileWriteNeutral2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Export Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileWriteAcis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileWriteIges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileWriteParasolid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileWriteStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileWriteStl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileWriteVrml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Export Analysis Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileWriteAbaqus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileWriteAnsys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileWriteDyna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileWriteMarc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileWriteNastran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feNotesGet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feNotesPut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Print and Copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFilePageSetupSave. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFilePageSetupReset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFilePrint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFilePrint2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFilePictureCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFilePictureCopy2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFilePictureSave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFilePictureSave2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFilePictureReplay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileMessageCopy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileMessageSave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileMessageSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileMessageLineNumber. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rebuild and Preferences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileRebuild. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFilePreferencesSave. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFilePreferencesReset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feRunIOTest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tool Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feToolUnitConvertFactors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feToolUnitConvert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVarPut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVarGet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVarEval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLayerPut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLayerGet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feTextPut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feTextMultiPut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feTextGet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeasureDistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeasureDistanceToPlane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

203 203 205 205 207 207 208 209 210 211 212 213 213 214 215 216 217 218 218 219 220 220 221 222 223 224 225 226 227 228 229 230 231 232 233 233 234 235 236 237 238 238 239 240 240 241 242 243 243 244 245 245 247 249 251 251 252

feMeasureDistanceBetweenNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . eMeasureDistanceBetweenLines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeasureAngle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeasureAngleBetweenNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeasureCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeasureSurfaceArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeasureSolidMassProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeasureMeshMassProp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeasureSurfSectionProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeasureMeshSectionProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCheckCoincidentNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCheckCoincidentNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCheckCoincidentPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCheckCoincidentCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCheckPlanarNodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCheckCoincidentElem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCheckElemFixup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCheckElemDistortion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCheckElemDistortion2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGetElemDistortion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGetElemDistortion2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCheckElemNormal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCheckConstraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCheckCoincidentLoads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCheckSumForces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Geometry Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLinePoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLineHorzVert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLineAtAngle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLineParallel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLineMidline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLinePointTangent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLine2Tangent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLineRectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLinePointIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feArcCenterStartEnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feArcRadiusStartEnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feArcAngleStartEnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feArcAngleCenterStart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feArcChordCenterStart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feArcPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feArcCenterPoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feArcTangentStartEnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Circles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCircleRadius. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCircleDiameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCircleCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCircle2Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCircleConcentric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCircle3Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCircleCenterPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCircleCenterTangent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCircleTangentTangent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

253 254 255 256 257 258 259 260 262 263 264 264 266 267 269 270 271 272 273 275 277 278 279 280 281 282 283 284 284 285 286 287 288 289 290 291 292 293 293 294 295 296 297 298 299 300 301 301 302 303 304 305 306 307 308 309 310

feSplinePoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSplineTangent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSplineEllipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSplineParabola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSplineHyperbola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSplineBlend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Curves from Surfaces Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveUpdateSurfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveIntersectSolids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveProjectOntoSolid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveProjectOntoSurfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveParametricOnSurface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveSlice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveOffsetCurveWasher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveSplitPointToPoint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveSplitPointToEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveSplitEdgeToEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Curve Modification Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveTrim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveExtend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveBreak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveJoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveFillet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCurveChamfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feBoundaryFromPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feBoundaryFromCurves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feBoundaryFromSurfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feBoundaryAddSurfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feBoundaryUpdateSurfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceCorners. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceEdgeCurves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceAlignedCurves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceRuled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceExtrude. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceRevolve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceSweep. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceNormalDeviation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceConvert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceNonManifoldAdd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceRecoverManifold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceRemoveHole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Midsurfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceMidSingle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceMidAuto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceMidAttrib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceTrimToSolid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceTrimWithCurves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSurfaceExtend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Solids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidPrimitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidExtrude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidRevolve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidExplode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidStitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidStitchNoCleanup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

310 312 313 314 315 316 317 317 318 319 320 321 322 323 324 325 326 327 327 328 329 330 331 332 333 333 334 335 336 337 338 338 339 340 342 343 344 345 346 347 348 349 350 351 351 352 353 354 355 356 357 357 359 360 361 362 363

feSolidFillet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidChamfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidCommon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidEmbed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidIntersect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidShell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidSlice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidSliceMatch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidSliceAlongFace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidEmbedFace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidCleanup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidCleanupAdvanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSolidRemoveFace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Geometry and Mesh Generation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGenerateCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGenerateRadialCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGenerateScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGenerateRotate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGenerateReflect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connection Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generating Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feConnectAuto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feConnectAuto2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Model Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Model Load Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLoadCombine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLoadFromFreebody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Model Constraint Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feBCCombine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Model Output Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feOutputProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feOutputProcessCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feOutputProcessMerge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feOutputProcessLinearCombination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feOutputProcessRSSCombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feOutputProcessConvert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feOutputProcessEnvelope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feOutputProcessErrorEstimate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feOutputFromLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feOutputTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feOutputCalculate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feOutputConvertV92VectorID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feOutputForceBalance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feOutputForceBalance2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feOutputCompare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Meshing Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mesh Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshSizePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshSizeCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshSizeSurface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshSizeSolid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshAttrPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshAttrCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshAttrSurface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshAttrSolid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

364 365 366 367 368 369 370 371 372 373 374 375 376 377 379 380 380 382 383 384 385 387 388 388 388 392 392 392 393 394 394 395 395 397 398 399 400 401 402 404 405 406 408 409 410 411 412 413 414 414 415 417 419 421 422 424 425

feMeshApproachSurface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Meshing Geometry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshCurve. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshSurface2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshSurface - obsolete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshSurfaceByAttributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshTetSolid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshHexSolid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshHexSolidFromElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Other Meshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshBetween. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshClosestLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshCoincidentLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshUnzip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshTransition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshRemesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshConvertFacets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshCleanupSlivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshEdgeRemoval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshBuildRemeshRegions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshEditRemeshRegions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshRemeshRegions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshEdgeMembers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshSmooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshExtrudeElem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshExtrudeCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshRevolveElem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshRevolveCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshSweepElem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshSweepCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modification Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feProjectOntoCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feProjectOntoSurface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feProjectOntoVector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feProjectAlongVector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feProjectOntoPlane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feProjectOntoSolid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Move, Rotate and Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMoveTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMoveBy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMoveOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feRotateTo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feRotateBy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAlignTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feScale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Color and Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyTransparency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Renumbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feRenumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feRenumberOpt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Associativity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAutoMeshAssociativity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshAttach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

426 427 427 429 431 433 435 436 438 440 442 442 444 445 446 447 450 452 453 454 455 456 457 459 460 461 463 464 465 466 467 469 470 470 471 472 473 474 475 476 476 477 478 479 480 481 482 483 483 484 485 486 486 487 489 489 490

feMeshAttachNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feMeshDetach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Other Updates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyDefCSys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyOutCSys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyPermBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifySplineOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifySplineKnots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyReverseCurve. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyNoMergeCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifySurfaceDivisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifySolidFacetting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifySuperelementID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyLoadPhase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Element Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyElemPropID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyPropMatlID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyMaterialAngle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyElemReverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyElemRelease. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyElemOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyMidside . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyFormulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifySplitQuads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyOffsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyOffsetsToRefPt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyOrient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyElemType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feModifyBeamWarping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delete Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feDeleteAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feDelete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feDeleteMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feDeleteLoads. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feDeleteConstraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feDeleteOutput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View, Window and Visibility Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feViewVisible (or feWindowVisible) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feViewRedraw (or feWindowRedraw) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feViewRegenerate (or feWindowRegenerate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feViewAllViews. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feViewShow (or feWindowShow) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feViewTile (or feWindowTile) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feWindowTileHorz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feViewCascade (or feWindowCascade). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feWindowMinimize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feWindowMaximize. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feWindowRestore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feWindowSetRect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feWindowTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feEntityVisibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppUpdateModelBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Group Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGroupEvaluate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGroupBoolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGroupBoolean2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGroupCombine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

491 492 493 493 494 495 496 497 498 499 500 501 502 503 504 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545

feGroupGenerate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGroupGenSolid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGroupGenProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGroupGenMatl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGroupGenElemType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGroupPeel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGroupMoveToLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Free Edge and Free Face Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feElementFreeEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feElementFreeFace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Standard Dialog Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Coordinate Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordPick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordPickByMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordFromWorkplane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordToWorkplane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordIntersectCurves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordIntersectLines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordOntoCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordAlongCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordCurveMidpoint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordCurveCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordOntoSurface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordInSurface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordSurfaceIntersect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordOnPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordOnNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordTransform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordArrayTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordArrayTransform2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordColinear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordToDirCos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordRotate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordOntoPlane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordOntoLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordPlaneIntersect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feCoordVectorPlaneIntersect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feRotationTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feRotationToDirCos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feRotationFromDirCos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vector Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorFromBeam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorToBeam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorCrossPoduct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorDotProduct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorNormalizedDotProduct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorPerpendicular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorAngle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorAngleAxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorPlaneIntersect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorPick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorPickByMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorAxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorTangentToCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

546 547 548 549 550 551 552 553 554 555 556 557 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600

feVectorNormalToSurface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorNormalToView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feVectorAxisOfSurface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Plane Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fePlanePick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fePlanePickByMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fePlaneLocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fePlaneNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fePlanePoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fePlaneBisect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fePlaneCSys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fePlaneSurfaceNormal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fePlaneCurveNormal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fePlaneViewAlign. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entity Selection Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selection Dialog Boxes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSelectOutput. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGetElementFaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGetElementEdges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Other Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGetReal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGetInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppMessageBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppColorPalette. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feScreenPctPick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . User Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Model Activation and Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppGetModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppGetModelName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppSetModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppSetModelByName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppCountModels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppGetAllModels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppModelContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppModelDefragment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Window Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppManageToolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppManagePanes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppUpdatePanes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppManageStatusBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppManageGraphicsTabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppGetActiveView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppSetActiveView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppGetAllViews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Toolbar and Menu Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGetUserCommands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAddUserCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feDeleteUserCommand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGetToolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAddToolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAddToolbarSubmenu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAddToolbarSubmenuSubmenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feDeleteToolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feResetToolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSetToolbarVisible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGetMenuCommands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

601 602 603 604 604 605 606 607 608 609 610 611 612 613 614 614 615 618 619 620 620 621 622 623 624 625 626 626 627 628 629 630 631 632 633 634 634 635 636 637 638 639 639 640 641 642 642 643 644 645 646 647 648 649 650 651 652

feGetMenuCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGetToolbarCommands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGetToolbarSubCommands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGetToolbarCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAddToolbarCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAddToolbarSubmenuCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAddToolbarUserCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAddToolbarSubmenuUserCommand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSetToolbarCommandVisible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSetToolbarSeparator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSetToolbarCommandTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSetToolbarCommandBitmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feSaveToolbarLayout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLoadToolbarLayout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Embedding Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppRegisterAddIn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppRegisterAddInPane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppRegisterAddInPaneWithFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppEmbed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppBringToTop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppShowWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppVisible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppRegisterMessageHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppEventCallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Locking FEMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppLock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppUnlock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppLockExit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppUnlockExit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppLockModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppUnlockModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppLockDraw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppUnlockDraw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Status Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppStatusRedraw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppStatusShow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppStatusUpdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Message Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppMessage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppMessageStartListing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppMessageEndListing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Real Number Text Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFormatReal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFormatReal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Other Utilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLicenseExpiration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLicenseMethod. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feLicenseIsAvailable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feRunCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feAppVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . User Graphics Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Managing User Graphics Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGFXLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGFXDelete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying User Graphics Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGFXSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 667 668 669 670 671 672 673 674 675 676 677 677 678 679 680 681 682 683 684 685 685 686 687 688 688 689 690 691 691 692 693 693 694 695 696 697 698 699 700 702 703 703

feGFXEnableView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feGFXReset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File Utility Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileGetName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileExecute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileProgramRun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileProgramRunning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . feFileCurrentDirectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

704 705 707 708 709 710 711 712

FEMAP Tool Objects DataTable Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DataTable Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying Row and Column Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DataTable Object Row Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FindRow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetRowInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetRowVisible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetRowVisible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DataTable Object Column Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FindColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetColumnInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetColumnVisible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetColumnVisible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetColumnWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetColumnWidth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetColumnTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetColumnTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetColumnPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetColumnAlignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DataTable Object Data Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetColumnValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetColumnText. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetRowValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddColumn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UpdateColumnByID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UpdateColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddEntityData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddOutput. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddMassProperties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddElementChecks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddMeshAssociativity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetTextColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetBackgroundColor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DataTable Object Grouping Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClearGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetGroup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DataTable Object Sorting Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddSort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClearSort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetSort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DataTable Object Selection Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddSelection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClearSelection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetSelection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

716 716 716 717 717 718 719 720 721 721 722 723 724 725 726 727 728 729 730 731 731 733 734 736 739 740 741 742 743 744 745 746 747 748 748 749 750 751 752 752 753 754 755 755 756 757

DataTable Object Other Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Save. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeleteRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Print. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Element Quality Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Element Quality Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Element Quality Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetModelDefaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetModelDefaults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CheckQuality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetAspectRatio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AspectRatio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetTaper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Taper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetAlternateTaper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AlternateTaper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetInternalAngle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InternalAngle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetSkew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetWarping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Warping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetNastranWarping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NastranWarping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetTetCollapse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TetCollapse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetJacobian. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jacobian. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetCombined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Combined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetExplicitTimeStep. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ExplicitTimeStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Geometry Preparation and Meshing Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Geometry Preparation and Meshing Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Geometry Preparation and Meshing Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddSolid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddSurface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetSizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HasPrevious . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RemovePrevious . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prepare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Apply. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ReadFile Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ReadFile Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ReadFile Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Open . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AtEOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

758 758 759 760 761 762 763 764 766 766 767 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 794 794 802 802 803 804 805 806 807 808 809 810 811 812 813 813 814 814 815 816

Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . JumpToEnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TimeCreated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TimeWritten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TimeAccessed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skipped . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetNoBlankLines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetNoShortLines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetTrimSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetTrimEndSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetTrimFront. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetUppercase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetSkip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetSearch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetSearchString. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetSkipAfterSearch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetFormFeed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetTabSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LineInit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reparse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FixedFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetFixedFormat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetFreeFormat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetAutoFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IntField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RealField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BoolField. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selector Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selector Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selector Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClearAll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Count. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectCircle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectPolygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectFreehand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shrink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SaveGroup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UpdateDataTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetSelected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 850 850 851 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 869 870 870

AddRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddEntitiesOnLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddSetRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Group Selection Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddAll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddAllExcept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddCommon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddNewRemoveCommonSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddCoordinate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddAroundPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddAroundVector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddAroundPlane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddNodesOnGeometry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddAllTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddAllColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddMidsideNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsAdded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsArrayAdded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsSetAdded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Select. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectIDInSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectMultiID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectOutputVectorID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RemoveRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RemoveArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RemoveSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RemoveNotCommon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RemoveNotCommonToGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RemoveGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RemoveInternalCurves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HasCommon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HasNotCommon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Next. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NextAfter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NextID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . First . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Last . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Match . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CopyToClipboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Count. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CountCommon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CountNotCommon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeleteAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConvertToAllCurves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConvertToCombinedCurves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

871 872 873 874 875 876 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930

ConvertToCombinedCurvesOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConvertToInternalCurves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConvertToAllSurfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConvertToBoundarySurfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConvertToBoundarySurfacesOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConvertToInternalSurfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sort Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sort Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sort Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddReal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddAll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RemoveSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsAdded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Next. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . First . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Last . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Count. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Select. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SortRemoveDuplicates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConvertToBoundarySurfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UserData Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UserData Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UserData Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Get. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Put . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Next. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . First . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Last . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NextSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PrevSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NextEmptySet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PrevEmptySet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deletable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeleteTitle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

931 932 933 934 935 936 937 939 939 940 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 964 965 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984

AtEOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985 Truncate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986 WriteDouble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987 WriteFloat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988 WriteLong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989 WriteShort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 990 WriteBool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991 WriteDoubleArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 992 WriteLongArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993 WriteBoolArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994 WriteString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995 ReadDouble. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996 ReadFloat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 ReadLong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998 ReadShort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999 ReadBool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1000 ReadDoubleArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001 ReadLongArray. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002 ReadBoolArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003 ReadString. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004

FEMAP Entity Objects Common Entity Properties and Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Common Entity Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Common Entity Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Get. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetLibrary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Put . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutLibrary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetTitleList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetTitleIDList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ParseTitleID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deletable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeleteLibrary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Next. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NextInSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . First . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FirstInSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Last . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NextSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PrevSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NextEmptySet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PrevEmptySet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NextID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PrevID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NextEmptyID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PrevEmptyID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CountSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aero Panel/Body Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aero Panel/Body Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aero Panel/Body Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetDivisionList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1010 1010 1011 1011 1012 1013 1014 1015 1016 1018 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1042 1042 1043 1043

PutDivisionList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SlenderBodyCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InterferenceBodyCount. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PanelSpanCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PanelChordCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetBoxSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aero Property Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aero Property Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aero Property Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetThetaList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutThetaList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetRadiList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutRadiList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClearSbList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClearIbList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClearTheta1List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClearTheta2List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aero Spline Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aero Spline Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aero Spline Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetNodeSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetBoxSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aero Surface Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aero Surface Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aero Surface Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutSurfaceSet1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutSurfaceSet2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetSurfaceSet1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetSurfaceSet2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClearSurfaceSet1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClearSurfaceSet2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AnalysisCase Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AnalysisCase Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AnalysisCase Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InitAnalysisCase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeleteAnalysisCase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetContactTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutContactTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetStandardTrim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutStandardTrim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetTrimControlSurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutTrimControlSurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AnalysisSet and AnalysisMgr Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AnalysisSet (AnalysisMgr) Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AnalysisSet (AnalysisMgr) Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InitAnalysisMgr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetCorrelate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetCorrelate2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutCorrelate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutCorrelate2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetContactTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutContactTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Case. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Analyze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AnalyzeMultiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1044 1045 1046 1047 1048 1049 1050 1050 1051 1051 1052 1053 1054 1055 1056 1057 1058 1060 1060 1061 1061 1062 1064 1064 1065 1065 1066 1067 1068 1069 1070 1071 1071 1078 1078 1079 1080 1081 1082 1083 1084 1085 1086 1086 1111 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122

ClearAnalysisQueue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCDefinition Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCDefinition Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCDefinition Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResetNextBC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NextBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCEqn Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCEqn Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCEqn Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCGeom Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCGeom Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCGeom Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetSurfSliding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetSurfNormal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetSurfDirection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetCylinder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCNode Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCNode Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCNode Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCSet Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCSet Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCSet Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Expand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compress. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResetNextBC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NextBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResetNextBCDef. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NextBCDef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetCombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutCombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connection Property Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connection Property Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accessing Connection Property Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connection Property Array Index Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connection Property Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetDefaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connection Region Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connection Region Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connection Region Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetContactList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutContactList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetEntities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddContact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetOutputType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetOffset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetRigidType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsRigidType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Expand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compress. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1123 1124 1126 1126 1127 1127 1128 1129 1130 1130 1130 1131 1131 1133 1133 1134 1135 1136 1137 1138 1138 1138 1139 1140 1141 1141 1142 1142 1143 1144 1145 1146 1147 1148 1149 1151 1151 1151 1153 1161 1162 1163 1163 1165 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177

Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsEnabled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connection Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connection Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connection Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsEnabled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CSys Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CSys Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CSys Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XYPoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Curve Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Curve Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Curve Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Curve Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EndPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ArcCircleInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ParamToXYZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XYZToParam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tangent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PartialLength. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ParamAtLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MeshParam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddMeshLoc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddMeshLocXYZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NodesAsSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ElementsAsSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ElementsWithFaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BoundingBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetMeshLoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetMeshLocXYZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsSmoothEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Surfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SurfacesAsSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsCombinedCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetCombinedCurves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CombinedCurvesAsSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CombineCurves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Facets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PartialLengthXYZ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PartialLengthNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsStraight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsNonManifold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsSmooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TangentAtEnds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CurvatureAcrossEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClosestPointToSurface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Surface Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Surface Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Surface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1178 1179 1181 1181 1182 1183 1184 1185 1186 1186 1187 1187 1188 1188 1191 1192 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1204 1205 1206 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1233 1233 1234

GetDataSurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutDataSurf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VarAlongCoord. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VarBetween2Pts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VarBetween4Pts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VarBetween8Pts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VarParametric2Pt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VarParametric4Pt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VarOutputMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VarMeshSurface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VarSpatialUVtable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VarSpatialXYZTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VarArbitrary3DCoord. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VarEquation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetCellValue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetCellValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetCellEquation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetColumnTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetColumnValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetRowTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetRowTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetRowValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetRowValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetPageTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetPageTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetPageValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetPageValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetColumTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetColumValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetCellBlank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetDataSurfInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetPageInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Evaluate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetDataSurfType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Element Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Element Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accessing Element Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Element Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetAllArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAllArray. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetNodeList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutNodeList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClearNodeList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Matl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetCentroid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetFaceCentroid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetFaceNormal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetFaceArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetFaceNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetEdgeNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsParabolic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Thickness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Area. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1234 1235 1236 1237 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1272 1273 1273 1275 1276 1276 1280 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296

Inertia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetMinMaxEdgeLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Freebody Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Freebody Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Freebody Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetElements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetElements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClearElements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetNodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClearNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CalculateNodalCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CalculateSummation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetFunctionList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutFunctionList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GFXArrow Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GFXArrow Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GFXArrow Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAllArray. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutCoordArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeleteAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GFXLine Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GFXLine Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GFXLine Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAllArray. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutCoordArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeleteAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GFXPoint Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GFXPoint Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GFXPoint Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAllArray. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutCoordArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeleteAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GFXQuad4 Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GFXQuad4 Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GFXQuad4 Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAllArray. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutCoordNormalArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutCoordArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeleteAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GFXTria3 Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GFXTria3 Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GFXTria3 Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAllArray. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutCoordNormalArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutCoordArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeleteAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GlobalPly Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1297 1298 1299 1299 1301 1301 1302 1303 1304 1305 1306 1307 1308 1309 1309 1309 1310 1311 1312 1314 1314 1315 1315 1316 1317 1318 1320 1320 1321 1321 1322 1323 1324 1326 1326 1327 1327 1328 1329 1330 1332 1332 1333 1333 1334 1335 1336 1337 1338 1338 1339 1339 1340 1341 1342 1343 1344

GlobalPly Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GlobalPly Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Group Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Group Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Group Range Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Group List Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Group Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RangeReset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RangeGetAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RangeNext. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RangeAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RangeDelete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RangeDeleteAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetAdd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetAddOpt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectContact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectAllOnLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ReferencedGroups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Layer Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Layer Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Layer Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Layup Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Layup Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Layup Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddPly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InsertPly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetPly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetAllPly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetPly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetAllPly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeletePly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compute2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HasGlobalPly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HasMaterial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HasFullGlobalPly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadBolt Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadBolt Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadBolt Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadDefinition Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadDefinition Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadDefinition Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResetNextLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NextLoad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CountLoads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsTotalLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadETemp Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadETemp Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadETemp Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1344 1344 1345 1345 1347 1349 1350 1350 1352 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1368 1368 1370 1370 1372 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1386 1386 1386 1387 1388 1388 1389 1389 1390 1391 1392 1393 1394 1394 1394

AddArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadGeom Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadGeom Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadGeom Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadGeom Load Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadMesh Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadMesh Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadMesh Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadMesh Load Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadNTemp Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadNTemp Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadNTemp Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadSet Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadSet Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadSet Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Expand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compress. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResetNextLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NextLoad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResetNextLoadDef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NextLoadDef. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetCombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutCombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MapOutput Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MapObject Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MapOutput Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MapFromModelToSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MapFromModelToSet2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MapFromModelToLocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Material Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Material Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accessing Material Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Material Array Index Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Material Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AutoComplete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Node Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Node Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Node Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetAllArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetCoordArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAllArray. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetClosest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Optim Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Optim Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Optim Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Output Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Output Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Output Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Output Vector IDs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Output Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1395 1396 1396 1400 1400 1401 1403 1403 1407 1407 1408 1409 1411 1412 1412 1412 1413 1414 1414 1419 1419 1420 1421 1422 1423 1424 1425 1426 1428 1428 1429 1429 1432 1435 1437 1437 1439 1439 1443 1443 1444 1444 1446 1446 1447 1448 1449 1450 1451 1452 1452 1453 1454 1454 1456 1457 1458

Corner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X............................................................................ Y............................................................................ Z ............................................................................ GetFromSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetOutputList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetOutputListAtID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetOutputListAtSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutOutputList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InitScalarAtNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetScalarAtNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetScalarAtNodeSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutScalarAtNode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InitVectorAtNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetVectorAtSingleNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetVectorAtNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetVectorAtNodeSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutVectorAtNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InitScalarAtElem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetScalarAtElem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetScalarAtElemSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutScalarAtElem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InitElemWithCorner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetElemWithCorner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetElemWithCornerSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutElemWithCorner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InitScalarAtBeam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutScalarAtBeam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FindMaxMin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OutputSet Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OutputSet Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OutputSet Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OutputVectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Point Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Point Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Point Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NodesAsSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CurvesAsSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SurfacesAsSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accessing Property Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Array Index Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ComputeShape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ComputeStdShape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ComputeGeneralShape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Matl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Layup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Thickness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Area. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inertia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Report Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Report Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1482 1484 1486 1488 1489 1490 1491 1491 1492 1492 1493 1494 1494 1494 1495 1497 1498 1499 1500 1501 1501 1503 1504 1515 1516 1518 1520 1521 1522 1523 1524 1525 1526 1526

Report Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Solid Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Solid Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Solid Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Points. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PointsAsSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CurvesAsSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FreeCurvesAsSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Surfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SurfacesAsSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MassProp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsSolid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsSheet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsWire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsGeneral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Facets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NodesAsSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ElementsAsSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BoundingBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Surface Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Surface Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Surface Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inside. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InsideXYZ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ParamToXYZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XYZToParam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Area. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ApproximateArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tangents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NormalAtXYZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProjectOnto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Solid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BoundarySurfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BoundarySurfacesAsSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AdjacentSurfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AdjacentSurfacesAsSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CurveLoops. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CurvesAsSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Points. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PointsAsSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EndPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EndPointsAsSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Planar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cylindrical. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spherical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Toroidal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsPlane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsCylinder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsSphere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1526 1527 1527 1528 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1544 1545 1546 1547 1548 1548 1552 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582

IsCone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsTorus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsBoundingSolidRegion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Facets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NodesAsSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ElementsAsSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ElementsWithFaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ElementFaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BoundingBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BoundingSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NormalBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MaxNormalDeviation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AngleAtPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HasPole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MinRadiiOfCurvature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RationalParamToXYZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResetMeshAttr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Text Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Text Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Text Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMGBC Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMGBC Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMGBC Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMGCtrl Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMGCtrl Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMGCtrl Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMGInt Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMGInt Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMGInt Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMGOpt Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMGOpt Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMGOpt Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMGReal Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMGReal Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMGReal Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Variable Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Variable Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Variable Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetVarID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Evaluate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Define . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DefineReal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1583 1584 1585 1586 1587 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1606 1606 1608 1609 1609 1610 1610 1611 1612 1612 1613 1613 1614 1615 1615 1616 1616 1617 1618 1618 1619 1619 1620 1621 1621 1622 1622 1623 1624 1624 1625 1625 1626 1627 1628 1629 1629

View Object Freebody Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View Option Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Initialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetMultiGroupList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetMultiGroupList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClearMultiGroupList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Visible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Redraw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Regenerate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsLayerVisible. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetLayerVisible. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rotate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AlignCSys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AlignVector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Align2Vector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AlignWorkplane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AutoscaleAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AutoscaleVisible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1638 1640 1649 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664

FEMAP Events Receiving and Processing Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alternate Method - Event Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Format of Event Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The FEMAP Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using FEMAP Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1665 1665 1666 1666 1667

API-33

1. Introduction to the FEMAP API FEMAP provides a robust set of finite element modeling and post-processing functionality. At times, however, you may need a specific capability that is not included in the standard product. The FEMAP Application Programming Interface (API) lets you customize FEMAP to meet your specific needs. The FEMAP API is an OLE/COM-based programming interface to FEMAP. It contains hundreds of functions that can be called from Visual Basic, VBA (Excel, Word, Access, ... ), C, or C++. The FEMAP API Reference documents the objects and functions that are available in the FEMAP API. To use the FEMAP API successfully, you need to understand: •

Objects, Methods and Properties



Data Types



Memory Allocation



Global Constants

For examples of how to use the FEMAP API, see Section 2, "Using the FEMAP API".

1.1 Objects, Methods and Properties The FEMAP API is an object-oriented system. If you are familiar with object-oriented programming, you should have no problem understanding the concepts discussed. If you are not, this section briefly introduces those concepts. You should refer to other sources for more complete information. Throughout the FEMAP API Reference, you will see references to objects, methods, and properties. Access to functionality and data is through the “objects” that are defined by the API. There are only two levels of objects in the current API: the application object, and other objects.

1.1.1 The Application Object The first level includes a single object: the FEMAP application object. In every application that you write, you will always define and reference a FEMAP application object, which forms the connection between your application and FEMAP. For more information, see Section 3, "The FEMAP Application Object". The application object contains properties (data) and methods (functionality) that are global in nature. For example, all of the global data for your FEMAP session (defined under File, Preferences) can be accessed as properties of the application object (see Section 3.3, "FEMAP Object Properties"). Almost all of the same functionality in the FEMAP menus is available as methods in the application object. These are described in the other sections under Section 3, "The FEMAP Application Object", and are organized according to their locations in the menu.

1.1.2 Other Objects In addition to the main FEMAP application object, the API also defines many other objects that provide detailed access to the entities in your models. Since most of the model entities represent

API-34

API Definition in the Manual

the underlying modeling data, these objects are very rich in property definitions. In addition, the API includes methods that are used to find, retrieve, traverse and store the entities. For a full listing of objects, see Section 5, "FEMAP Entity Objects". As an important starting point to using any of the entity objects, refer to Section 5.1, "Common Entity Properties and Methods" . It describes the properties and methods that are common to all of the objects. This information is not repeated in each of the individual objects. You should understand these options before proceeding to the detailed description of the unique capabilities of each object.

1.2 Data Types To use the API, you must understand the types of data that it requires and returns. Because of differences in the data type definitions depending on whether you will call the API from Basic, C++, or some other source, all of the documentation is presented in a “language-neutral”, more descriptive form. The actual data types that you use will change from language to language, however, the underlying format of those data types must match what the API requires. The following table summarizes what you will find in the manual:

API Definition in the Manual

Description

From Basic Visual Basic 6

From C++

Visual Basic .NET

BOOL

Single byte, True/ False value

Boolean

Boolean

Unsigned Char

INT2

2-byte integer

Integer

Integer

short

INT4

4-byte integer

Long

Integer

long, int

REAL4

4-byte real

Single

Single

float

REAL8

8-byte real

Double

Double

double

STRING

character string, null terminated

String

String

char[..]

1.2.1 Using Visual Basic .NET The INT4 data type, which is widely used throughout the API, must be declared differently if you are using Visual Basic 6 or Visual Basic .NET. In Visual Basic 6, the type “Long” maps to the 4byte integers used by FEMAP. In Visual Basic .NET, the “Integer” type must be used to map to the same 4-byte integers, as the “Long” type has changed to map to 8-byte integers which are incompatible with the FEMAP API. One other difference with Visual Basic .NET is that you must always initialize String variables before they can be passed. Even for methods, like feNotesGet in the FEMAP object, which return a string to you, the variable must be initialized prior to the call. For example, you can not use the following: Dim s as String rc = femap.feNotesGet( 1, s )

API-35 This will generate a type mismatch error, because the String variable has not been initialized. If instead you use: Sub Main Dim Set Dim s =

'Full Subroutine usable in FEMAP API window

App As femap.model ' Declare “App” model object App = GetObject(,"femap.model") ' Instantiate “App” object s As String ""

rc = App.feNotesGet( 1, s ) ' Puts model notes into String “s” MsgBox(s)

' Shows String “s” in modal dialog box

End Sub then, everything will work properly. One final difference is that the “Set” command is no longer used in Visual Basic .NET. Throughout this document, you will see examples that still include “Set”, as is required for the older Visual Basic 6. For example, Dim femap as Object Set femap = GetObject(, “femap.model”) If you are using Visual Basic .NET, you must simply ignore (or remove) the “Set”, leaving the correct syntax: Dim femap as Object femap = GetObject(, “femap.model”)

1.2.2 Arrays and Variants In addition to the basic data types, you will often see references to arrays of values, for example: INT4 x[0..9] This implies that an array of 10, 4-byte integers is required. Through the API (COM) interface, however, all arrays must be passed as Variant data types. In many current languages (for example, Visual Basic .NET, Visual Basic for Applications in Microsoft Office 2007, and WinWrap Basic embedded in FEMAP) the details of this can be hidden from you, and you can write code that directly passes array variables. Dim x(10) as Long x(0) = 5 x(1) = 4 ...

API-36 and then x can be passed directly in calls that require an array. In older languages like Visual Basic 6, where you need to manually declare the Variants, you can create it fairly easily. For example: Dim x(10) as Long Dim vx as Variant x(0) = 5 x(1) = 4 ... vx = x This will define a variant, vx, that contains all of the values assigned to the x array. This variant can then be passed through the API to FEMAP in place of the array. For any method that returns an array, you do not need to define an array variable in Basic. You simply define the variant, pass it to the API, and then reference it like an array afterward. This applies to both current and older languages. For example, Sub Main Dim App As femap.model Set App = GetObject(,"femap.model") Dim rc As Long Dim a(3) As Double Dim va As Variant ' Create and store some userdata Dim e As UserData Set e = App.feUserData a(0) = 1.290 a(1) = 2*a(0) a(2) = 2*a(1) va = a rc = e.WriteDoubleArray(3, va) rc = e.Put(1)

' Variant to Array ' Write Variant as Array

' Retrieve userdata Dim vb As Variant Dim i As Long Dim f As UserData Set f = App.feUserData rc = f.Get (1) rc = f.ReadDoubleArray ( i, vb ) ' Read Array from DB 'into Variant

API-37 Dim mstr As String 'Convert Doubles in Variant to Strings mstr =Str$(vb(0)) + " " + Str$(vb(1))+" "+Str$(vb(2)) MsgBox(mstr) End Sub

1.2.3 An Array Shortcut In current languages where you can pass arrays directly without manually declaring a Variant, there is a non-standard programming shortcut that you can use to simplify some of your coding. If there is an array that is used as an input parameter to a function, and you want to specify all entries in the array to have the same value, rather than declaring an array at all, you can simply pass a single value - either as a constant or a single variable. FEMAP will automatically treat this single value if it were an array of the proper size with each entry in the array equal to the value you passed. Of course, if you need to specify different values for the array entries, then the normal method must be used. For example, the node object has a method called PutAllArray() that requires multiple input arrays, so we could use.... Sub Main Dim App As femap.model Set App = GetObject(,"femap.model") Dim rc As Long Dim nd as femap.node Set nd = App.feNode Dim numNode as Long Dim ndID(10) as Long Dim xyz(30) as Long Dim layer as Long layer = 1 ... rc = nd.PutAllArray( numNode, ndID, xyz, layer, 43, 0, 0, 0, 0 ) End Sub Note that all the arguments including and after “layer” actually require arrays, but are being passed as single values because we are assigning the same constant value to all of the nodes being defined in the call to this method.

1.2.4 Arrays and Visual Basic .NET If you were using Visual Basic 6, then as stated, all array variables are passed via the Variant type. With the release of Visual Basic .NET, the Variant data type is no longer available in Basic. To use Visual Basic .NET, simply declare all of the variables that you would have declared as “Variant” in Visual Basic 6, as the “Object” data type. With this change, the remainder of your code will work as it did previously.

1.2.5 Arrays and Visual C++ If you are callinig the API from Visual C++, probably the easiest approach to accessing arrays is to use the ATL capability to create Safe Arrays and Variants. To create Safe Arrays, use

API-38

API Definition in the Manual

CComSafeArray ldof(size); Where “data_type” is the type of data in the array, and size is the number of entries. You should use the following “data_type”s to be compatible with the API::

API Definition in the Manual

Safe Array Creation

BOOL

CComSafeArray ...

INT4

CComSafeArray ...

REAL8

CComSafeArray ...

To create Variants, you can use: CComVariant vdir; You can fill the Variant by simply setting it equal to the Safe Array, and then pass it to the API. Refer to Section 2.10, "Calling the API from Visual C++", for an example of using this approach.

1.2.6 Using Multi-dimensional Arrays Even though this documents shows arrays as being dimensioned as REAL8 xyz[0..11] It may be more convenient is some cases to think of them in terms of multi-dimensional arrays. For example, the above array may really contain 4 sets of coordinates (3 values for each coordinate - x, y and z), in which case referencing it as REAL8 xyz[4][3] may simplify your coding. With some care and understanding this is possible. There are two basic issues that need to be properly handled to use multi-dimensional arrays Array Storage Order

Depending on the language that you are using to call the API, multi-dimensional arrays store data in different order. FEMAP requires data stored in these arrays to be in a specific order that is described with the individual property or method - it is up to you to properly arrange the array indices so that data is stored as needed - and this varies by language. For example, in the above array FEMAP expected to have the data arranged as follows (X1,Y1,Z1, X2,Y2,Z2, X3,Y3,Z3, X4,Y4,Z4). If you were calling the API from C or C++, the rightmost index varies first, so declaring the array as: double xyz[4][3]

(in C or C++)

would be appropriate. On the other hand, if you were using Basic, then the leftmost index varies first and you would have to declare the array as: Dim xyz(2,3) as double

(in Basic)

to get the data into the proper locations. Also notice in Basic, that the dimensions are the values of the largest index, not the size to allocate, so the numbers decreased by 1 each.

API-39 Proper Dimensioning

To get all of the data in the proper locations, you can not “over-size” a multi-dimensional array except in the final dimension. In general, you will want to make your arrays just big enough to hold the data that you are using, and no larger. In some cases however, it is convenient to have one or more large arrays that simply collect data and may not be completely filled. When using multidimensional arrays however, care must be taken. In the above case, from C, when you declared the array as double xyz[4][3]

(in C or C++)

everything was fine and data is stored as (X1,Y1,Z1, X2,Y2,Z2, X3,Y3,Z3, X4,Y4,Z4). If however you declared the array as double xyz[4][4]

(in C or C++)

then data would be stored as (X1,Y1,Z1,HOLE1, X2,Y2,Z2,HOLE2, X3,Y3,Z3,HOLE3 X4,Y4,Z4,HOLE4), and you can see that the “holes” will move the data to the wrong locations. Similarly, if you over-dimension the first index in Basic, the same thing will happen. You can successfully over-dimension the final index however. In C, for example, double xyz[100][3]

(in C or C++)

would be fine, since data would be stored as (X1,Y1,Z1, X2,Y2,Z2, X3,Y3,Z3, X4,Y4,Z4, ... X100, Y100, Z100), and even if only 4 sets of X,Y,Z values were needed, they will still be in their proper locations.

1.2.7 Multiple Definitions of Array Properties As you look through the documentation for the various entity types, you will see definitions of properties that look like the following: Property BOOL dof[0..5] or VARIANT vdof

Description An array of flags telling whether or not the corresponding degrees of freedom are constrained (True) or free (False) in this set.

Both of these properties provide access to the same data. The first (in this case “dof”) lets you access individual array entries, one at a time (for example, dof[2]). The second Variant property lets you access the entire array in one OLE/COM call. To access these Variant properties, you must create a “Variant” variable in your application, load the entire array into it (by setting it equal to the property), manipulate your local variable as needed, then put the entire array back into the FEMAP object (by setting it equal to your local Variant). Once again, in Visual Basic .NET, use the generic “Object” data type instead of “Variant” which is no longer supported.

1.3 Memory Allocation Like any OLE/COM implementation, when using the FEMAP API, it is the responsibility of the calling program (the one you write) to free all memory when it is no longer needed. This means if you call an API method that returns a variant (a string or array), you must free the memory used by that variable when you no longer need it. If you are using Basic, as soon as a variable goes out of scope (your program finishes, or the procedure where the variable was defined finishes), it is automatically freed. If you are using another language, like C or C++, you need to explicitly free the memory.

API-40 It is not just variables that are returned from the API that you need to free. If you allocate memory for a variable and pass it to an API method, the memory will not be freed (you might still need it). It is your responsibility to free all memory for your variables.

1.4 Global Constants Throughout this manual are references to certain constant values: for example, error return values, entity type values, group definition types, and other options. If you are using Basic to write your application, these values are defined in a file named api.bas in the FEMAP directory. You only need to include that file into your application, and the constants will be available for your use. If you are using another language, you will need to modify the file or use the values in the following table: Errors FE_OK

-1

FE_NOT_AVAILABLE

6

FE_FAIL

0

FE_TOO_SMALL

7

FE_CANCEL

2

FE_BAD_TYPE

8

FE_INVALID

3

FE_BAD_DATA

9

FE_NOT_EXIST

4

FE_NO_MEMORY

10

5

FE_SECURITY

16

FE_NO_FILENAME

Events FEVENT_INITIALIZE

1

FEVENT_PROGEND

7

FEVENT_NEWMODEL

2

FEVENT_DRAWSTART

8

FEVENT_ENDMODEL

3

FEVENT_DRAWEND

9

FEVENT_SHUTDOWN

4

FEVENT_ANALYSISEND

10

FEVENT_COMMAND

5

FEVENT_RESULTSEND

11

FEVENT_PROGSTART

6

Option Definitions FO_FILE_MODEL

1

FO_FILE_ANSYS

4

FO_FILE_NEUTRAL

2

FO_FILE_MSC_NASTRAN

5

FO_FILE_ABAQUS

3

FO_FILE_NX_NASTRAN

6

FT_POINT

3

FT_VAR

27

FT_CURVE

4

FT_OUT_CASE

28

FT_SURFACE

5

FT_OUT_DIR

29

Entity Types

API-41 FT_VOLUME

6

FT_OUT_DATA

30

FT_NODE

7

FT_REPORT

31

FT_ELEM

8

FT_BOUNDARY

32

FT_CSYS

9

FT_LAYER

33

FT_MATL

10

FT_MATL_TABLE

34

FT_PROP

11

FT_FUNCTION_DIR

35

FT_LOAD_DIR

12

FT_FUNCTION_TABLE

36

FT_SURF_LOAD

13

FT_SOLID

39

FT_GEOM_LOAD

14

FT_COLOR

40

FT_NTHERM_LOAD

15

FT_OUT_CSYS

41

FT_ETHERM_LOAD

16

FT_CONTACT

58

FT_BC_DIR

17

FT_GRTYPE

59

FT_BCO

18

FT_AMGR_DIR

60

FT_BCO_GEOM

19

FT_TMG_BCO

112

FT_BEQ

20

FT_TMG_CONTROL

113

FT_ESP_TEXT

21

FT_TMG_INTEGER

114

FT_VIEW

22

FT_TMG_REAL

115

FT_GROUP

24

FT_TMG_OPTION

116

FGD_CSys_byDefCSys

1

FGD_Load_byPoint

46

FGD_CSys_byType

2

FGD_Load_byCurve

47

FGD_Point_ID

3

FGD_Load_bySurface

48

FGD_Point_byDefCSys

4

FGD_BCo_byPoint

49

FGD_Point_onCurve

5

FGD_BCo_byCurve

50

FGD_Curve_ID

6

FGD_BCo_bySurface

51

FGD_Curve_byPoint

7

FGD_Text_byColor

52

FGD_Curve_onSurface

8

FGD_Point_byColor

53

FGD_Surface_ID

9

FGD_Curve_byColor

54

FGD_Surface_byCurve

10

FGD_Surface_byColor

55

FGD_Surface_onVolume

11

FGD_Volume_byColor

56

Group Rules

API-42 FGD_Volume_ID

12

FGD_Solid_byColor

57

FGD_Volume_bySurface

13

FGD_CSys_byColor

58

FGD_Text_ID

14

FGD_Node_byColor

59

FGD_Boundary_ID

15

FGD_Elem_byColor

60

FGD_Boundary_byCurve

16

FGD_Prop_byColor

61

FGD_Node_ID

17

FGD_Matl_byColor

62

FGD_Node_byDefCSys

18

FGD_Text_byLayer

63

FGD_Node_byOutCSys

19

FGD_Point_byLayer

64

FGD_Node_onElem

20

FGD_Curve_byLayer

65

FGD_Elem_ID

21

FGD_Surface_byLayer

66

FGD_Elem_byMatl

22

FGD_Volume_byLayer

67

FGD_Elem_byProp

23

FGD_Solid_byLayer

68

FGD_Elem_byType

24

FGD_CSys_byLayer

69

FGD_Elem_byNode

25

FGD_Node_byLayer

70

FGD_Matl_ID

26

FGD_Elem_byLayer

71

FGD_Matl_onProp

27

FGD_Prop_byLayer

72

FGD_Matl_onElem

28

FGD_Matl_byLayer

73

FGD_Matl_byType

29

FGD_Solid_ID

74

FGD_Prop_ID

30

FGD_Solid_byCurve

75

FGD_Prop_onElem

31

FGD_Solid_bySurface

76

FGD_Prop_byMatl

32

FGD_Curve_onSolid

77

FGD_Prop_byType

33

FGD_Surface_onSolid

78

FGD_Load_byNode

34

FGD_Point_byProp

79

FGD_Load_byElem

35

FGD_Curve_byProp

80

FGD_BCo_ID

36

FGD_Surface_byProp

81

FGD_BEq_byNode

37

FGD_Volume_byProp

82

FGD_Node_atPoint

38

FGD_Solid_byProp

83

FGD_Node_atCurve

39

FGD_Contact_ID

84

FGD_Node_atSurface

40

FGD_Contact_byColor

85

FGD_Node_atSolid

41

FGD_Contact_byLayer

86

API-43 FGD_Elem_atPoint

42

FGD_CSys_onNode

87

FGD_Elem_atCurve

43

FGD_CSys_onPoint

88

FGD_Elem_atSurface

44

FGD_Elem_byShape

89

FGD_Elem_atSolid

45

API-44

API-45

2. Using the FEMAP API This chapter includes some fairly simple examples that can be implemented using the FEMAP API. These examples show some of the basic setup and syntax of using the API, but do not attempt to show the breadth of the API’s capabilities.

2.1 Using Visual Basic .NET These examples were created to use Visual Basic 6. As such they use the “Long” and “Variant” data types that are required in that version of Visual Basic. If you want to use them with Visual Basic .NET, the “Long” data types must be changed to “Integer” and the “Variant” data types to “Object”.

2.2 Loading Data into Excel This program shows a simple example of connecting to FEMAP from Excel, and loading all of the nodal data into the worksheet. Although this program loads nodal data, the approach is the same for other data types. To load other data types, you would simply dimension and access other FEMAP objects and reference their properties as you are storing the data. ______________________________________________________________________________ Private Sub LoadNodalData() '1. Attach to the model in a FEMAP session that is already running. (The comma before femap.model is used externally for a FEMAP model already open.) Dim femap As Object Set femap = GetObject(, "femap.model") '2. Create a Node object. Dim nd As Object Set nd = femap.feNode '3. Make the titles in the first row of the worksheet. Row = 1 Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row,

1).Value 2).Value 3).Value 4).Value 5).Value 6).Value 7).Value 8).Value

= = = = = = = =

"ID" "Layer" "Color" "Def CSys" "Out CSys" "X" "Y" "Z"

API-46 '4. Loop over all of the nodes in the model. While nd.Next Row = Row + 1 '5. Store properties for each node in successive worksheet rows. Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row,

1).Value 2).Value 3).Value 4).Value 5).Value 6).Value 7).Value 8).Value

= = = = = = = =

nd.ID nd.layer nd.Color nd.defCSys nd.outCSys nd.x nd.y nd.z

Wend End Sub ______________________________________________________________________________ While the previous program is fairly simple, it does require calling FEMAP for each of the nodal quantities. For example, each time you reference nd.x, nd.y, or nd.z, your program must call FEMAP to retrieve that information. This approach provides the simplicity of the object-oriented approach, but does not necessarily perform as well as making just one call for multiple pieces of data. The following program does exactly the same thing as the previous one, but makes far fewer calls, and therefore performs better. ______________________________________________________________________________

Private Sub LoadNodalDataFast() '1. Attach to the model in a FEMAP session that is already running. Dim femap As Object Set femap = GetObject(, "femap.model") '2. Create a Node object. Dim nd As Object Set nd = femap.feNode '3. Dimension local variables to receive the data. Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim

x As Double y As Double z As Double l As Long co As Long d As Long oc As Long e As Long rc As Long ID As Long

API-47 Dim pb As Variant '4. Make the titles in the first row of the worksheet. Row = 1 Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row,

1).Value 2).Value 3).Value 4).Value 5).Value 6).Value 7).Value 8).Value

= = = = = = = =

"ID" "Layer" "Color" "Def CSys" "Out CSys" "X" "Y" "Z"

'5. Loop over all of the nodes in the model. ID = nd.nextID While ID < 99999999 Row = Row + 1 '6. Call the GetAll method of the Node object to retrieve all of the required properties in one call. Store the retrieved data into the worksheet. rc = nd.GetAll(ID, x, y, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row,

z, l, co, e, d, oc, pb) 1).Value = ID 2).Value = l 3).Value = co 4).Value = d 5).Value = oc 6).Value = x 7).Value = y 8).Value = z

'(These fields were not loaded by the first example, but show the use of the Variant data type to access array data.) Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, Worksheets(1).Cells(Row, ID = nd.nextID

9).Value = pb(0) 10).Value = pb(1) 11).Value = pb(2) 12).Value = pb(3) 13).Value = pb(4) 14).Value = pb(5)

Wend End Sub ______________________________________________________________________________

2.3 Loading Data from Excel This program reverses the programs shown in the previous example. It takes the same nodal data that was stored in the worksheet, and updates the nodes in FEMAP to have the worksheet values. Used together, these two examples allow you to use Excel as an editor. Running the first example

API-48 loads data into your worksheet, where you can edit it using the tools available in Excel. When your edits are complete, this program puts the changes back into FEMAP. ______________________________________________________________________________

Private Sub UpdateNodalData() '1. Attach to the model in a FEMAP session that is already running. Dim femap As Object Set femap = GetObject(, "femap.model") '2. Create a Node object. Dim nd As Object Set nd = femap.feNode '3. Loop over all rows of the worksheet that have an ID value. Row = 2 ID = Worksheets(1).Cells(Row, 1).Value While ID > 0 '4. Retrieve the node to load all of its properties. rc = nd.Get(ID) '5. Update the properties that you have edited. nd.layer = Worksheets(1).Cells(Row, 2).Value nd.Color = Worksheets(1).Cells(Row, 3).Value nd.defCSys = Worksheets(1).Cells(Row, 4).Value nd.outCSys = Worksheets(1).Cells(Row, 5).Value nd.x = Worksheets(1).Cells(Row, 6).Value nd.y = Worksheets(1).Cells(Row, 7).Value nd.z = Worksheets(1).Cells(Row, 8).Value '6. Put the changes back into the database. rc = nd.Put(ID) '7. Go to the next row. Row = Row + 1 ID = Worksheets(1).Cells(Row, 1).Value Wend End Sub ______________________________________________________________________________ Just as before, you can also do this function with a single call approach to reduce the number of times that you reference the Node object. ______________________________________________________________________________

API-49 Private Sub UpdateNodalDataFast() '1. Attach to the model in a FEMAP session that is already running. Dim femap As Object Set femap = GetObject(, "femap.model") '2. Create a Node object. Dim nd As Object Set nd = femap.feNode '3. Dimension local variables to receive the data. Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim

x As Double y As Double z As Double l As Long co As Long d As Long oc As Long e As Long rc As Long ID As Long

'4. Arrays are passed as variants. Dimension both, assign the array to the variant, and pass the variant. Dim pb As Variant Dim p(6) As Long pb = p Row = 2 ID = Worksheets(1).Cells(Row, 1).Value While ID > 0 '5. Load the local variables with worksheet values. l = Worksheets(1).Cells(Row, 2).Value co = Worksheets(1).Cells(Row, 3).Value d = Worksheets(1).Cells(Row, 4).Value oc = Worksheets(1).Cells(Row, 5).Value x = Worksheets(1).Cells(Row, 6).Value y = Worksheets(1).Cells(Row, 7).Value z = Worksheets(1).Cells(Row, 8).Value pb(0) = Worksheets(1).Cells(Row, 9).Value pb(1) = Worksheets(1).Cells(Row, 10).Value pb(2) = Worksheets(1).Cells(Row, 11).Value pb(3) = Worksheets(1).Cells(Row, 12).Value pb(4) = Worksheets(1).Cells(Row, 13).Value pb(5) = Worksheets(1).Cells(Row, 14).Value

API-50 '6. Put all data back into FEMAP with one call. rc = nd.PutAll(ID, x, y, z, l, co, e, d, oc, pb) '7. Go to the next row. Row = Row + 1 ID = Worksheets(1).Cells(Row, 1).Value Wend End Sub ______________________________________________________________________________

2.4 Creating Output in FEMAP This example demonstrates the use of several API functions that could be used to create your own output data in FEMAP. The example simply loads dummy results as output, but you could modify it to be part of a larger program that computes its own real output, uses existing output from FEMAP to do further processing, or reads output from another program. This example assumes that the existing model in FEMAP already contains 100,000 nodes and 90,000 planar elements. To be useful as a real program, the sections of code that generate the output must be rewritten to check the model and get or compute real results from some other source. ______________________________________________________________________________ Sub Main '1. Attach to the model in a FEMAP session that is already running. Dim App As Object Set App = GetObject(, "femap.model") '2. Create an Output Set object. Dim os As Object Set os = App.feOutputSet '3. Create an Output object. Dim Set Dim Dim

o As Object o = App.feOutput rc As Long i As Long

'4. Initialize an Output Set and store it. os.title = "My Test Set" os.value = 35.4 os.analysis = 5 os.Put (1)

API-51 '5.

Initialize the Output object to create nodal vector output. ' (In this case, you will create a total vector and x, y and z component vectors.) rc = o.InitVectorAtNode(1, 300000, 300001, 300002, 300003, _ "Displacement", 1, True) Dim ID(100000) As Long Dim x(100000) As Double Dim y(100000) As Double Dim z(100000) As Double Dim xV As Variant Dim yV As Variant Dim zV As Variant Dim idV As Variant

'6. Make up some output values for 100,000 nodes. ' (Replace this section with some code that creates or reads real results values.) For i = 0 To 99999 ID(i) = i + 1 x(i) = 0.001 * i y(i) = 0# z(i) = 0.02 * Sin(360# / 99999# * i * 3.14 / 180#) Next i xV = x yV = y zV = z idV = ID '7. Save the displacement output in the database. rc = o.PutVectorAtNode(100000, idV, xV, yV, zV) rc = o.Put(-1) '8. Make some elemental stress output. Reinitialize the output object. rc = o.InitElemWithCorner(1, 100, 101, 102, 103, 104, 0, 0, 0, 0, _ "Stress", 2, True) Dim c(100000) As Double Dim c1(100000) As Double Dim c2(100000) As Double Dim c3(100000) As Double Dim c4(100000) As Double Dim cV As Variant Dim c1V As Variant Dim c2V As Variant Dim c3V As Variant Dim c4V As Variant

API-52 '9. Make output for 90,000 elements. Make both the center and corner results. For i = 0 To ID(i) = i + c(i) = i c1(i) = i + c2(i) = i + c3(i) = i c4(i) = i Next i cV = c c1V = c1 c2V = c2 c3V = c3 c4V = c4

89999 1 0.1 0.2 0.2 0.1

'10. Store the elemental results in the database. rc = o.PutElemWithCorner(90000, 4, idV, cV,c1V, c2V, _ c3V, c4V, c4V, c4V, c4V, c4V) rc = o.Put(-1) End Sub ______________________________________________________________________________

2.5 Using the ReadFile Object The FEMAP API provides an object that lets you read data lines from text files and parse their contents. While you can use the native file read capabilities of the programming language that you are using, this object is often faster than those routines. The extra speed comes from the internal buffering of data that the object provides. This example illustrates using this object to read and extract all of the GRID (node) lines from a NASTRAN file. It is not intended to be a general NASTRAN reader. It can only handle small-field (or free format) lines, and only GRID statements in already defined coordinate systems; however, it could be easily modified for other purposes. The results of this reader are used to create nodes in the FEMAP model, but they could just as easily be used for some other purpose. ______________________________________________________________________________ Sub Main '1. Attach to the model in a FEMAP session that is already running. Dim App As Object Set App = GetObject(, "femap.model") '2. Create ReadFile Object. Dim f As Object Set f = App.feRead

API-53 '3. Create a Node object. Dim nd As Object Set nd = App.feNode Dim rc As Long '4. Set up field widths: 10 fields, 8 characters wide. Dim w(10) As Long For i = 0 To 9 w(i) = 8 Next i Dim wVar As Variant wVar = w '5. Prepare to read the file. Read only “GRID” lines in fixed or free format. rc rc rc rc

= = = =

f.SetSearchString("GRID", "") f.FixedFormat(10, wVar) f.SetAutoFormat() f.Open("d:\temp\grid.nas", 100)

'6. Begin reading. Do rc = f.Read() '7.

Put the data into the nodes. nd.x = f.RealField(4, 0#) nd.y = f.RealField(5, 0#) nd.z = f.RealField(6, 0#) nd.defCSys = f.IntField(3, 0) nd.outCSys = f.IntField(7, 0)

'8. Save the nodes. rc = nd.Put(f.IntField(2, 0)) '9. Keep reading until you get to the end of the file. Loop Until f.AtEOF() rc = f.Close() End Sub ______________________________________________________________________________

2.6 Storing Your Own Data in the FEMAP Database The FEMAP API provides the UserData object, which lets you store your own data in the FEMAP database. You can think of this storage approach as basically a binary file. You write whatever data you want to the file, then, at a later time, you can read the data back using the same approach. The

API-54 format and order of the data is up to you. The only restriction is that your code must remember what format you used when writing the data, or you will be unable to read it later. The following example shows writing a number of data types to a UserData object. ______________________________________________________________________________ Dim App As femap.object

'For use by all local subroutines

'1. Simple driver to load and then retrieve userData Sub Main() '2. Attach to the model in a FEMAP session that is already running. Set App = GetObject(, "femap.model") Call SaveUserData() Call LoadUserData() End Sub

Private Sub SaveUserData() '3. Create the UserData object. Dim d As Object Set d = App.feUserData() Dim Dim Dim Dim Dim Dim

a(5) As Double va As Variant rc As Long b(4) As Boolean vb As Variant p As Long

'4. Start writing data to the UserData storage object. d.WriteDouble (8.3) d.WriteDouble (76.34) d.WriteLong (-345) d.writestring ("This is my text") d.WriteDouble (3457000000000#) a(0) = 0.1234 a(1) = 0.5432 a(2) = 0.9876 a(3) = 0.234 a(4) = 13.44 va = a rc = d.WriteDoubleArray(5, va)

API-55 b(0) b(1) b(2) b(3) b(4) vb = rc =

= True = False = True = True = 3 b d.WriteBoolArray(5, vb)

'5. Assign a title and store object. d.Title = "ABCProduct" d.Put (1) End Sub '______________________________________________________________________________ Private Sub LoadUserData() ' Reloads and displays data '6. Create the UserData object. Dim e As Object Set e = App.feUserData()

'7. Reload the UserData object. e.Get (1) MsgBox (e.Title) Dim Dim Dim Dim Dim

x As Double i As Long s As String vb As Variant cc As Variant

'8. Start reading and displaying the data. rc = e.ReadDouble(x) MsgBox (Str$(x)) rc = e.ReadDouble(x) MsgBox (Str$(x)) rc = e.ReadLong(i) MsgBox (Str$(i)) rc = e.readstring(s) MsgBox (s) rc = e.ReadDouble(x) MsgBox (Str$(x)) rc = e.ReadDoubleArray(i, vb) MsgBox (Str$(i)) MsgBox (Str$(vb(0)))

API-56 MsgBox (Str$(vb(4))) rc = e.ReadBoolArray(i, cc) MsgBox (Str$(i)) MsgBox (Str$(cc(0))) MsgBox (Str$(cc(1))) MsgBox (Str$(cc(2))) MsgBox (Str$(cc(3))) MsgBox (Str$(cc(4))) End Sub ______________________________________________________________________________

2.7 Creating a Rigid Element Another application for the FEMAP API is to extend the functionality that is already present in FEMAP. As an example, you may sometimes need to create a rigid, “spider” element inside a hole so that you can distribute a load, or make another connection. This normally involves multiple steps. First you must find and create a node at the center of the hole or node pattern, then you must reselect that node and the surrounding nodes to create the element. With a little bit of work with the API, this routine can be automated to simply let you select the nodes that you want to connect. The following example shows how to automate creating a rigid spider. ______________________________________________________________________________ Sub Main() '1. Initialize variables. Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim

App As femap.model feNode As Object fN As Object nodeSet As Object feElem As Object nodeCount As Long nodeX As Double nodeY As Double nodeZ As Double nodeID As Long elemID As Long

Dim vDOF As Variant Dim vNodeArray As Variant Dim vDum As Variant vDOF = DOF nodeX = 0# nodeY = 0# nodeZ = 0#

API-57 '2. Attach to FEMAP. Set App = GetObject(, "femap.model") '3. Ask the user to select nodes for the rigid element. Set nodeSet = App.feSet() rc = nodeSet.Select(7, True, "Select Nodes for Rigid Spider") If rc = -1 Then '4. Identify how many nodes were selected. nodeCount = nodeSet.Count() If nodeCount > 0 Then '5. Make some local arrays to hold the data that was collected. ReDim ReDim ReDim ReDim

nodeArray(nodeCount) faceArray(nodeCount) Weight(nodeCount) As DOFArray(nodeCount *

As Long As Long Long 6) As Long

vDOF = DOFArray vWeight = Weight vfaceArray = faceArray Dim passCount As Long passCount = 0 '6. Walk the nodes. Set fN = App.feNode() rc = nodeSet.Reset() nodeID = nodeSet.Next() '7. Store the IDs. Do While nodeID 0 nodeArray(passCount) = nodeID passCount = passCount + 1 rc = fN.Get(nodeID) nodeX = nodeX + fN.x nodeY = nodeY + fN.y nodeZ = nodeZ + fN.z nodeID = nodeSet.Next() Loop '8. Compute the centroid and create the Node at the centroid. Set feNode = App.feNode()

API-58 vNodeArray = nodeArray nodeID = feNode.NextEmptyID feNode.x = nodeX / nodeCount feNode.y = nodeY / nodeCount feNode.z = nodeZ / nodeCount '9. Store the node. rc = feNode.Put(nodeID) If rc = -1 Then 'return code FE_OK '10. Create the element. Set feElem = App.feElem() elemID = feElem.NextEmptyID feElem.Type = 29 'Rigid feElem.topology = 13 'Rigid feElem.node(0) = nodeID 'Independent Node feElem.Release(0, 0) = 1 feElem.Release(0, 1) = 1 feElem.Release(0, 2) = 1 vDum = nodeArray rc = feElem.PutNodeList(0, nodeCount, vNodeArray, _ vfaceArray, vWeight, vDOF ) '11. Store the element. rc = feElem.Put(elemID) End If End If End If End Sub

______________________________________________________________________________

2.8 Updating Loads and Constraints This example demonstrates how to walk through all of the mesh-based loads and constraints in your model. If any, expanded geometry-based loads or constraints are found, they are converted to permanent loads or constraints. WARNING - RUNNING THIS PROGRAM WILL PREVENT YOU FROM COMPRESSING THESE LOADS BACK TO PURELY GEOMETRIC LOADS. This script connects to an open FEMAP session, and starts to query the database.

API-59 ______________________________________________________________________________ Sub Main Dim App As Object Set App = GetObject(, "femap.model") Dim Dim Set Dim Set

rc as Integer BCSet As Object BCSet = App.feBCSet BC As Object BC = App.feBCNode

Dim Set Dim Set Dim Set Dim Set

LdSet As Object LdSet = App.feLoadSet Ld As Object Ld = App.feLoadMesh Nt As Object Nt = App.feLoadNTemp Et As Object Et = App.feLoadETemp

'1. Do the Constraints. While (BCSet.Next()) BC.setID = BCSet.ID BC.ID = -1 While (BC.Next()) If (BC.expanded) Then BC.expanded = False BC.Put (BC.ID) End If Wend Wend '2. Do the Loads. While (LdSet.Next()) '3.

Mesh-based loads. Ld.setID = LdSet.ID Ld.ID = -1 While (Ld.Next()) If (Ld.expanded) Then Ld.expanded = False Ld.Put (Ld.ID) End If Wend

API-60 '4.

Elemental Temps. Et.setID = LdSet.ID Et.ID = -1 While (Et.Next()) If (Et.expanded) Then Et.expanded = False Et.Put (Et.ID) End If Wend

'5.

Nodal Temps.

Nt.setID = LdSet.ID Nt.ID = -1 While (Nt.Next()) If (Nt.expanded) Then Nt.expanded = False Nt.Put (Nt.ID) End If Wend Wend End Sub

______________________________________________________________________________

2.9 Charting FEMAP Results in Excel This example demonstrates FEMAP’s ability to communicate with other programs. Here you will create a table of data and an associated chart in Microsoft Excel using the data that is currently being used in a deformed display in FEMAP. This script connects to an open FEMAP session, pulls the values of the vector selected for the deformed plot and places them into Sheet 1. The script then sub-graphs the values. ______________________________________________________________________________ 'Before running this script, you must have a deformed model displayed in the active view. Sub Button3_Click() '1. Attach to the model in the FEMAP session that is already running. Dim femap As Object Set femap = GetObject(, "femap.model") ‘******************************************************************** '2. Create the View objects and collect the view information. Dim View As Object 'The FEMAP view object Set View = femap.feView

API-61 '3. Use the feOutputSet method of the FEMAP Application object to create OutputSet objects. Dim outset As Object Set outset = femap.feOutputSet '4. Use the feOutput method of the FEMAP Application object to create Output objects. Dim outdata As Object Set outdata = femap.feOutput Dim Dim Dim Dim Dim

v setID def_vecID Nodal vec_title

As As As As As

Long Long Long Boolean String

'5. Use the feAppGetActiveView User Interface Method to return Active View of the ' active Model. ret = femap.feAppGetActiveView(v) '6. Use the Get property to retrieve the record of the FEMAP view number that is entered. ' In this case, you are getting the active view. View.Get (v) '7. Use this If statement to make sure that an XY display is not being displayed. If (View.Mode < 6) Then '8. Use the Deformed property to return the deformed style: 0=Off, 1=Deformed, 2=Animate.... ' This If statement makes sure that you are using a deformed display. If Not (View.Deformed = 0) Then '9. Use the Outputset property to return the ID of the active output set. If (View.outputset > 0) Then setID = View.outputset '10. Use the DeformData property to return the ID of the vector selected for the deformed display. def_vecID = View.DeformData '11. Set the outset.Active property to ensure the set you wish to retrieve is active then use the two ' commands below to retrieve information about the selected output set and vector (the vector ' of the active output set that is being used in the deformed display). ret = outset.Get(setID) outset.Active = setID ret = outdata.Get(def_vecID) End If End If End If

API-62 Nodal = False '12. Use the Locate on method to return how the output is computed and stored. Nodal = 7, ' so this checks if the deformed output vector is nodal or elemental. If (outdata.Location = 7) Then Nodal = True End If '13. Get the title of the output vector. vec_title = outdata.title ‘******************************************************************** ‘Next, check to see if a group is being viewed. If so, you will select only those nodes. '14. Use the feGroup method of the FEMAP Application object to create Group objects. Dim gr As Object Set gr = femap.feGroup '15. Use this object as the List method of gr, and set it to be a list of the nodes in the group. The Group List method returns a list of the selected entities. In this case, you want a list of nodes, so you will enter 7 for the list method. Dim Dim Dim Dim Dim Dim

s1 As Object view_Group As sID As x As y As z As

Long Long Long Long Long

'16. Use the Group property to return the ID of the group being viewed. view_Group = View.Group '17. Check to see if the active group is being displayed. (If so, you will next fill s1 with the entities in the active group.) If (view_Group = -1) Then '18. Use the Info_ActiveID method to return the id of the active entity, of entity type. In this case, you want the active group, so 24 is used for group. view_Group = (femap.Info_ActiveID(24)) '19. Retrieve the record of the active group. gr.Get (view_Group) If (Nodal) Then

API-63 '20. Make s1 a list of nodes in the group. Give sID the ID of the next entity in the list s1. Set s1 = gr.List(7) sID = s1.Next Else '21. Make s1 a list of elements in the group. Set s1 = gr.List(8) sID = s1.Next End If '22. If another group is being displayed, fill s1 with the entities in the other group. ElseIf (view_Group > 0) Then gr.Get (view_Group) If (Nodal) Then Set s1 = gr.List(7) '23. Give sID the ID of the next entity in the list s1. sID = s1.Next Else Set s1 = gr.List(8) sID = s1.Next End If '24. If a group isn't being displayed, then put all of the entities in the s1 list. ElseIf (view_Group = 0) Then Set s1 = femap.feSet If (Nodal) Then '25. Use the Adall property to make s1 a list of all of the nodes in the model. s1.AddAll (7) '26. Give sID the ID of the next entity in the list s1. sID = s1.Next Else s1.AddAll (8) sID = s1.Next End If End If ‘********************************************************************

API-64 'Next, fill the Worksheet Sheet1 with the node IDs, nodal coordinates, and values. If the data ' is elemental, use instead the element IDs and values. '27. Use the feNode method of the FEMAP Application object to create Node objects. Dim Node As Object Set Node = femap.feNode '28. Use the feElement method of the FEMAP Application object to create Element objects. Dim Element As Object Set Element = femap.feElem Dim Counter As Long '29. Turn off Excel’s screen updating so that the data from FEMAP will be retrieved faster. Application.ScreenUpdating = False '30. Activate the current Worksheet from within Excel. Worksheets("Sheet1").Activate '31. Clear the selected cell of any previous values or equations. Worksheets("Sheet1").Cells(1, 1).ClearContents If Not (Nodal) Then '32. Name the column 1 header “Elements” if the data is elemental, or “Nodes” is the data is nodal. Worksheets("Sheet1").Cells(1, 1).Formula = "Elements" Else Worksheets("Sheet1").Cells(1, 1).Formula = "Nodes" Worksheets("Sheet1").Cells(1, 2).ClearContents Worksheets("Sheet1").Cells(1, 2).Formula = "X" Worksheets("Sheet1").Cells(1, 3).ClearContents Worksheets("Sheet1").Cells(1, 3).Formula = "Y" Worksheets("Sheet1").Cells(1, 4).ClearContents Worksheets("Sheet1").Cells(1, 4).Formula = "Z" End If Worksheets("Sheet1").Cells(1, 5).ClearContents Worksheets("Sheet1").Cells(1, 5).Formula = vec_title Counter = 1 If Not (Nodal) Then

API-65

'33. Fill the Sheet with elements and values, if the data is elemental. Do While sID > 0 '34. Retrieve the element information with the ID specified by sID. Element.Get (sID) '35. Retrieve the output values. The index must be the ID of the node/element where the output value is stored. Value = outdata.Value(sID) Worksheets("Sheet1").Cells(Counter + 1, 1).ClearContents Worksheets("Sheet1").Cells(Counter + 1, 1).Value = sID Worksheets("Sheet1").Cells(Counter + 1, 5).Activate Worksheets("Sheet1").Cells(Counter + 1, 5).Value = Value Counter = Counter + 1 sID = s1.Next Loop Else '36. Fill the sheet with nodes and values, if the data is nodal. Do While sID > 0 '37. Retrieve the element information with the ID specified by sID. Node.Get (sID) '38. Retrieve the output values. The index must be the ID of the node/element where the ' output value is stored. Value = outdata.Value(sID)

'39. Use the x, y , and z properties to return the respective values of the node location. x = Node.x y = Node.y z = Node.z Worksheets("Sheet1").Cells(Counter + 1, 1).ClearContents Worksheets("Sheet1").Cells(Counter + 1, 1).Value = sID Worksheets("Sheet1").Cells(Counter + 1, 2).ClearContents Worksheets("Sheet1").Cells(Counter + 1, 2).Value = x

API-66 Worksheets("Sheet1").Cells(Counter + 1, 3).Activate Worksheets("Sheet1").Cells(Counter + 1, 3).Value = y Worksheets("Sheet1").Cells(Counter + 1, 4).Activate Worksheets("Sheet1").Cells(Counter + 1, 4).Value = z Worksheets("Sheet1").Cells(Counter + 1, 5).Activate Worksheets("Sheet1").Cells(Counter + 1, 5).Value = Value Counter = Counter + 1 sID = s1.Next Loop End If '40. Now that Sheet1 is populated, use the Create_chart sub to create an Excel chart. Create_chart '41. Turn screen updating back on. Application.ScreenUpdating = True End Sub '********************************************************************************* '42. Create a chart of the column 5 versus column 1 values. Sub Create_chart() '43. Make column 5 the active selection. Columns(5).Select '44. Assign the address of the selected column of cells to valuecolumn. ValueColumn = Selection.Address '45. Make column 1 the active selection. Columns(1).Select '46. Assign the address of the selected column of cells to xcolumn. XColumn = Selection.Address ChartTitle = Worksheets("Sheet1").Cells(1, 5) XTitle = Worksheets("Sheet1").Cells(1, 1) '47. Create and format the chart. Charts.Add

API-67 ActiveChart.ChartType = xlLineMarkers ActiveChart.SetSourceData Source:= _ Sheets("Sheet1").Range(ValueColumn) ActiveChart.Location where:=xlLocationAsObject, Name:="Sheet1" ActiveChart.SeriesCollection(1).XValues = _ Sheets("Sheet1").Range(XColumn) With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = ChartTitle .Axes(xlCategory, xlPrimary).HasTitle = True .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = XTitle .Axes(xlValue, xlPrimary).HasTitle = False End With ActiveChart.HasLegend = False End Sub ______________________________________________________________________________

2.10 Calling the API from Visual C++ The examples in this manual use Visual Basic to call the API because, in general, it is much easier to do. If you want to, however, the API can be called using Visual C++. For example, to simply tell FEMAP to exit using Visual Basic, you could use the following Basic program: Dim femap As Object Set femap = GetObject(, "femap.model") femap.feFileExit If you want to use Visual C++ to accomplish the same thing, without using the supplied FEMAP Type Library, the code is much more complex: { // Get the CLSID for the FEMAP Application Object CLSIDclsid; CLSIDFromProgID( L"femap.model", &clsid ); // Create an instance of the Applications IUnknown interface IUnknown* pUnk; HRESULThr = ::CoCreateInstance( clsid, NULL, CLSCTX_SERVER, IID_IUnknown, (void **) &pUnk ); // Query IUnknown to retrieve a pointer to the IDispatch interface IDispatch*pDispApp; hr = pUnk->QueryInterface( IID_IDispatch, (void**)&pDispApp ); OLECHARFAR* szFunction; DISPIDdispid; DISPPARAMSdispparamsNoArgs = { NULL, NULL, 0, 0 }; VARIANTretcode; szFunction = OLESTR("feFileExit");

API-68 hr = pDispApp->GetIDsOfNames( IID_NULL, &szFunction, 1, LOCALE_USER_DEFAULT, &dispid ); hr = pDispApp->Invoke( dispid, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &dispparamsNoArgs, &retcode, NULL, NULL ); } The example above calls a function with no arguments. Calling functions with array arguments can be even more complex since these need to be passed and accessed as VARIANT data types, which must be properly handled in C++. Using the FEMAP Type Library and ATL makes this function much easier, and more readable. To do that however, you must first import the Type Library into your application. In your program’s header file, add the following line: #import “d:\\v9\run\femap.tlb” named_guids This will automatically create and include header files that make the API functionality available to your application. In addition, you should include the ATL and OLE Automation header files: #include “atlsafe.h” #include “oleauto.h” Once you have done this, you can write the above code in the following format. CLSID clsid; HRESULT hr=AfxGetClassIDFromString( "femap.model", &clsid); IUnknown FAR *punk; if ( hr == S_OK ) { hr=GetActiveObject(clsid,NULL,&punk); if ( hr == S_OK ) { CComQIPtr pModel; pModel=punk; pModel->feFileExit(); } } Furthermore, once you have the “pModel” pointer, you can then simply use it like you would use the “femap” object in Visual Basic to provide direct access to the remainder of the API.

CLSID clsid; HRESULT hr=AfxGetClassIDFromString( "femap.model", &clsid); IUnknown FAR *punk; if ( hr == S_OK ) { hr=GetActiveObject(clsid,NULL,&punk); if ( hr == S_OK )

API-69 { CComQIPtr pModel; pModel=punk; CComQIPtr pEntity; CComQIPtr pNode; pEntity = pModel->feNode; pNode = pEntity; pEntity->Get(23); double xyz[3]; xyz[0] = pNode->x; xyz[1] = pNode->y; xyz[2] = pNode->z; } } If you are working with an object that contains array properties you can typically either use the Variant properties, or direct access to the arrays. For the Variant property - you can use code that looks like the following: CComQIPtr pBCGeom; pBCGeom=pModel->feBCGeom; ... CComVariant vldof; CComSafeArray ldof(6); ldof[0]=TRUE; ldof[1]=TRUE; ldof[2]=TRUE; ldof[3]=FALSE; ldof[4]=FALSE; ldof[5]=FALSE; vldof = ldof; ... pBCGeom->type = 0; pBCGeom->geomType = 5; pBCGeom->Layer = 1; pBCGeom->color = 4; pBCGeom->vdof = vldof; ... pBCGeom->setID = 1; pBCGeom->Put(pBCGeom->NextEmptyID()); To retrieve values from an array property, you can simply reverse this: CComVariant vldof; CComSafeArray ldof(6);

API-70 BOOL dof; ... vldof = pBCGeom->vdof; ldof = vldof.parray; dof = ldof.GetAt(0); ... Or the simpler sequence, which bypasses the Variant... CComSafeArray ldof(6); BOOL dof; ... ldof = pBCGeom->vdof.parray; dof = pBCGeom->vdof.GetAt(0); ... Or the even simpler approach which uses direct access to the arrays... ... pBCGeom->dof[0] = TRUE; pBCGeom->dof[1] = TRUE; pBCGeom->dof[2] = TRUE; pBCGeom->dof[3] = FALSE; pBCGeom->dof[4] = FALSE; pBCGeom->dof[5] = FALSE; ... dof = pBCGeom->dof[0]; ...

API-71

3. The FEMAP Application Object 3.1 Getting Started The first thing that you must do before you can use any of the other functionality in the FEMAP API is to access the FEMAP model, or application object. This object provides access to all of the other methods and properties, including the methods used to create other model objects. Normally, when you define your “femap” object, you will want to make it a global object. Once you “get” or “create” the object, you will want it to remain available for the entire duration of your application. In most cases, you will not want to repeatedly create and destroy this object

3.1.1 Using the FEMAP API Programming Window The quickest way to get started using the FEMAP API is to open the API Programming window. This provides access to WinWrap® Basic from Polar Engineering and Consulting. It provides a complete editing, debugging and runtime environment with a language that closely follows Visual Basic. More importantly, since it is integrated with FEMAP, it is always readily available.

3.1.2 Creating a FEMAP Object To link your application to FEMAP, you must declare an object and then connect it to FEMAP. In Basic, this is done via the GetObject or CreateObject functions. To decide which of these to use, you must decide whether your application needs to access a FEMAP session that is already in progress - in which case you would use GetObject. If you need to start a new FEMAP session, you must use CreateObject. Example of Creating a FEMAP Application Object

The following shows a sample (in Basic) of how to create a FEMAP Application Object, and connect to a running FEMAP session. Dim App As Object Set App = GetObject(, "femap.model") If instead, you wanted to start a new FEMAP session, the proper approach would be: Dim App As Object Set App = CreateObject("femap.model") This call to CreateObject starts a new FEMAP session, but it will not be visible. If you want FEMAP to be visible, you must then call the feAppVisible method.

API-72 If you have an application that creates a new FEMAP session and then want to exit FEMAP and no longer have it running as a process, you need to: Set the femap instance to “null” or “nothing”. femap = nothing Also, if you are working on most .net platforms, you will also want to call the .net “Garbage Collector”. System.GC.Collect() If you have an application that connects to a running FEMAP session and then want to exit FEMAP and no longer have it running as a process, you need to call feFileExit () first, then also perform the steps above. Issues When Connecting to an Existing Session

When you are connecting to an existing session there are some special considerations. If you are programming in an environment outside of FEMAP (anything but the FEMAP API Programming Window), then you must use “GetObject” to connect. This uses standard OLE/COM mechanisms to find the FEMAP object, but imposes a limitation. If you have multiple copies of FEMAP running (multiple processes, not multiple models open in the same FEMAP), GetObject will always connect you to the process that was started first. This is simply a limitation of the OLE/COM interface and can not be avoided. If you are using the integrated WinWrap environment (API Programming) however, you can overcome this limitation by never using “GetObject”. Instead, you can connect to the current FEMAP session, no matter how many FEMAP processes are running by using Dim App As Object Set App = feFemap() or more appropriately, to access the object information provided by the Type Library (as described below) Dim App As femap.model Set App = feFemap() The feFemap() method does the same thing as “GetObject”, but since the programming environment is fully integrated with FEMAP, it can always determine the session that launched your application and communicate directly with that process. This will work even if you save your Basic script from the API Programming window and connect it as a User Command to a toolbar button or menu command.

3.1.3 Using the FEMAP Type Library As shown above, you can declare your FEMAP object as a generic “Object”, whether you are programming in Visual Basic or any other Basic Editor outside of FEMAP (such as in Excel). If you do work in Visual Basic however, you have the option of referencing the FEMAP Type library and explicitly using the objects that it defines (The API Programming Dockable Pane inside of FEMAP automatically uses the FEMAP Type Library). Using the Type library provides you with several very helpful benefits. First you will be able to use the Object Browser to view the available

API-73 properties and methods. Even more convenient however when you are working with an object or method, you will see popup tooltips that give you information regarding the available properties, or the required parameter lists. If you are using a different language, like C++, you will always want to use the Type Library, since it provides much simpler access to the API functionality. Referencing the Type Library Before you can use the Type library, you must reference it. The command to do this can be different depending on where you are working. In Visual Basic

In Microsoft Visual Basic, go to the Project>References command (or Project->Add Reference in VB .NET) Look through the list of available references. If you find “femap”, make sure it is checked. If not, press the Browse button, and find the file “femap.tlb”, which should be in the directory where you installed FEMAP. Once you select that file, it should appear in the list of references (possibly at the bottom, and not in alphabetical order). Find the reference to “femap”, make sure it is checked and press OK. Although the list may be somewhat different, you should end up with “femap” checked as an available reference, as shown. In Visual Basic for Applications

If you are programming with Microsoft Excel, Word or other Office applications, you will be using Visual Basic for Applications. The process to access the Type library is the same, except that instead of using the Project->References command, you must use the Tools->References command. In Visual C++

In a Visual C++ project, you must add a reference to the Type Library by adding a reference to it in your header file. Add a line similar to: #import "path\femap.tlb" named_guids into your header file. Modify “path” to accurately locate the Type Library that you want to reference.

API-74 Using the Object Browser Once you have referenced the FEMAP Type library, you will be able to use the Object Browser to review the objects, properties and methods that are available. Simply go to the View->Object Browser (F2) command. You will see a form that looks something like the one shown here. To limit the information shown to the FEMAP classes, make sure you change the Project/Library to “femap” in the drop-down control near the top of the window. You can then browse through the list of available classes, and their associated properties and methods. When you select one of these items, a description of the item, along with any parameter lists is displayed at the bottom of the browser. Using the Type Library To use the information from the Type library, you must declare your objects using one of the available classes - not using the more generic “Object” definition. For example, instead of using:

Dim App as Object you must code, Dim App as femap.model Once you have declared the FEMAP object as shown, you still must Get/Set it in the same way that you did above. Therefore, to use the type library, and access an existing FEMAP session, the code required would be: Dim App as femap.model Set App = GetObject(,”femap.model”) or once again, if you are programming in the API Programming window, you should use Dim App as femap.model Set App = feFemap() to always connect to the current FEMAP session.

API-75 To create a new FEMAP session, using the type library use: Dim App as femap.model Set App = CreateObject(“femap.model”) As stated previously, there are definite advantages to using the type library. One of which is the popup list of available properties and methods. For example,after having defined your FEMAP/App object, as you type “App.” you will see a popup that shows the available properties and methods. Further, as you continue to type you will see a popup tooltip that shows you the parameter list for the method that you are working on.

The various classes from the Type library can also be used to define your other objects (not just “App”). This is described later in “FEMAP Entity Objects” on page 1005.

3.2 Working with the User Interface In addition to the basic decision about whether or not to connect to a running FEMAP session, you must also decide how you want the user interface of your application to interact with the FEMAP user interface. There are several approaches that you might want to use, including: •

running as two separate applications (no interaction)



running FEMAP as a hidden server



running your application as a FEMAP add-in



embedding FEMAP graphics and messages in your application

Proper setup for each of these options is described in the following sections.

3.2.1 Running as two separate applications As you might expect, this is possibly the simplest of the approaches to interaction. Since neither FEMAP, nor your application, need to really know anything about the user interface of the other, there is no additional setup required. Simply start your application, then “get” or “create” your FEMAP object as described above. If you used GetObject to attach to a running session, there is nothing more to do. If you used CreateObject however, a new FEMAP session will be started, but FEMAP will not be visible. To make your FEMAP session visible, after calling CreateObject, you must call femap.feAppVisible. You do not need to call “feAppVisible” if you used GetObject, because FEMAP will already be visible. In summary, if you want to run as two separate, on-screen, visible applications, use Dim App as Object Set App = GetObject(,”femap.model”) to work with an existing FEMAP session. Or to start a new FEMAP, use Dim App as Object Dim rc as Long

API-76 Set App = CreateObject(“femap.model”) rc = App.feAppVisible(True)

3.2.2 Running FEMAP as a hidden server If you want your application to be the only user interface that is visible to the user, then the process is very similar to running as two separate applications. In this case however, you will never want to use GetObject to attach to an existing FEMAP - you will use CreateObject, to create a new, hidden FEMAP object. Simply use : Dim App as Object Set App = CreateObject(“femap.model”) At this point a new FEMAP session will be started and through the API you can access any of the available functionality. You will have to develop your own user interface to present the capabilities that you want to the user, and then call FEMAP API functions to implement that functionality. When you are running FEMAP in this mode, in general you will not want to call the numerous FEMAP API calls that optionally display dialog boxes to ask for user input. If you must call methods that display dialog or message boxes, you can control whether or not they are displayed using the “DialogAutoAnswer” variable. By default the boxes will just be cancelled, however if you choose to show the dialogs, these methods will still work, and dialog boxes will be displayed, (although their placement may be somewhat random), even though FEMAP is hidden. If you want to work in a totally hidden mode, with nothing displayed, you simply have to set the return code you want - dialog boxes that collect additional user input must be displayed if you want the data to be properly defined.

3.2.3 Running your application as a FEMAP add-in If you want your application to become a FEMAP “add-in”, then you need to follow several additional steps. In this case, the overall interface that will be visible to the user will be FEMAP. Your application will become part of that interface. You will probably want to build your application with its main window as a dialog box. To begin, simply follow the steps described above for running as two separate, visible applications. Call GetObject or CreateObject to attach to FEMAP, and call feAppVisible if you created a new FEMAP session. Finally, you will want to call feAppRegisterAddInPane (Section 3.16.5.2, "feAppRegisterAddInPane"). In this call you will specify the handles to your application window, and where in the FEMAP user interface you want it placed. Using this capability, you can build a user interface that looks something like:

API-77

In this case the “add-in” application (FEMAP Editor) has been added to a pane in the FEMAP user interface in the upper-left corner, using the following method: rc = App.feAppRegisterAddInPane(True, Form1.DefInstance.Handle.ToInt32, 0, False, False, 3, 2)

Note that the messageID window was not specified, because events are not being used. If you have registered your application as a FEMAP add-in, remember to call feAppRegisterAddInPane again to “unregister” your application before it exits.

3.2.4 Embedding FEMAP in your application Instead of embedding your application in the FEMAP user interface, you might also want to embed parts of FEMAP into your interface. To do this, you embed the entire FEMAP window, and then you can selectively turn off/hide various portions of the user interface, until you are left with the parts you want. Probably the most useful capability is that the FEMAP graphics windows can be embedded directly into one of your windows. This can provide you all of the graphical capabilities of FEMAP without having to reimplement them yourself, and with a very simple setup. Once again, you will connect to the FEMAP session using either GetObject or CreateObject. You will probably want to use CreateObject in most cases, however an existing FEMAP session can be embedded into your application. Even though this is possible however, you should not normally “grab” a user’s session and change it that dramatically.

API-78 3.2.4.1 Embedding FEMAP in your Application

To embed the FEMAP windows into your application, you simply call the feAppEmbed method. Here you specify the handle to your application window where you want the graphics embedded, the portion of that window to use for FEMAP. Here is a sample that embeds FEMAP when the button is pushed: Dim femap As Object Dim rc As Long Private Sub Command1_Click() Set femap = CreateObject("femap.model") rc = femap.feAppEmbed(Me.Handle, 120, 10, 660, 420) End Sub

Alternatively, with a few more calls, you can turn off various parts of the FEMAP interface to leave just the graphics window. Dim femap As Object Dim rc As Long Private Sub Command1_Click() Set femap = CreateObject("femap.model") rc = femap.feAppManageToolbars("", False) rc = femap.feAppManageStatusBar(False) rc = femap.feAppManagePanes("", 0) rc = femap.feAppManageGraphicsTabs(False) rc = femap.feAppEmbed(Me.Handle, 120, 10, 660, 420) End Sub

API-79

As your application window is moved around the screen the FEMAP windows will move with it, staying visible in the same relative location. If you want the FEMAP windows to resize as you resize your window, then you need to update the FEMAP window as you are resizing. During resizing, simply keep calling feAppEmbed with new coordinates and sizes. You can still maximize FEMAP, and if you do, it will fill the client area of your window, possibly covering other items (like the button above). You can control the look of the FEMAP graphics windows by modifying the various view options prior to making a view visible. Note that you do not want to call feAppVisible if you want to run in this mode. Calling feAppEmbed will automatically make the windows visible, and calling feAppVisible first will just cause unnecessary flashing of the windows. 3.2.4.2 Capturing the FEMAP Messages

In addition to embedding graphics or messages windows, you may want to capture the text that is displayed in the FEMAP message window and display it in one of your own windows. Capturing the FEMAP message stream is a bit more involved than a single method call, however it is not too difficult. It is very similar to the approach needed for capturing FEMAP events. In addition, you can turn message capture on and off at any time. The procedure to capture messages is as follows: •

Get or Create a FEMAP object



Call feAppRegisterMessageHandler to provide the handle to a window which will process the messages. This does not have to be the window where the messages will be displayed, but it must be a window with a message loop that you can watch and modify.



Override the standard Windows procedure for the window that you registered. This requires a call to the Windows function SetWindowsLong, setting the GWL_WNDPROC constant. You need to Declare this Windows function and define the constant before accessing it.

API-80 •

Write the new Windows procedure to process the WM_COPYDATA messages that you will be receiving from FEMAP. You should also pass all other messages along to the standard Windows procedure that you overrode. In this procedure, every time you receive a WM_COPYDATA message, you will extract the text string (and possibly the color) from the message, process it in any way that you choose, and display it wherever you want.



To stop capturing messages, or when you exit your application, call feAppRegisterMessageHandler again to “unregister” your window and stop FEMAP from sending WM_COPYDATA messages. You should also replace the original Window message procedure.

Format of the WM_COPYDATA messages Since Windows only passes messages with wParam and lParam values, both of which are “long” values, it is difficult to pass a general text string through a message. The WM_COPYDATA message however was created to allow interprocess communication of other data types. In this message, the “lParam” value contains the address of a data structure defined as follows:

Type COPYDATASTRUCT dwData As Long cbData As Long lpData As Long End Type “cbData” contains the number of bytes of data in “lpData”. FEMAP uses this to pass the text string for each message in the lpData portion of the structure. You can use the Windows CopyMemory function to move the data in the structure to a variable defined as a COPYDATASTRUCT, and then again to extract the string data from lpData. In addition to the string data, FEMAP also passes the message color/status information in the dwData field. Refer to the feAppMessage method (Section 3.16.8.1, "feAppMessage") for more information regarding color values. Sample Program to Capture and Display FEMAP Messages The following program is a fairly simple example of what is required to capture and display the messages from FEMAP. As you can see, it does require quite a bit more work than simply embedding a messages window, but does provide the flexibility of modifying and displaying the messages in any way you would like.

Each of the declarations in the beginning of this program are necessary for its proper operation. You must have proper access to these global Windows constants and functions. The MsgWindowProc function is used to override the standard Windows message loop and process the WM_COPYDATA messages coming from FEMAP. In this case, once the message is extracted, it is simply added to a listbox control on the main form. CaptureMessages connects to FEMAP and sets up the message capture, including defining MsgWindowProc as the procedure to override message processing. ReleaseMessages terminates message capture and can be called either at shutdown or if you simply want to stop capturing messages. Global Global Global Global Global

femap As Object Const GWL_WNDPROC = (-4&) Const GWL_HWNDPARENT = (-8) Const WM_COPYDATA = &H4A PreviousWindowProc As Long

API-81 '=============================================================== Type COPYDATASTRUCT dwData As Long cbData As Long lpData As Long End Type '=============================================================== ' Public Declarations to provide access to Windows API functions '--------------------------------------------------------------Public Declare Function GetWindowLong Lib "user32" _ Alias "GetWindowLongA" (ByVal hwnd As Long, _ ByVal nIndex As Long) As Long Public Declare Function RegisterWindowMessage Lib "user32" _ Alias "RegisterWindowMessageA" (ByVal lpString As String) _ As Long Public Declare Function SetWindowLong Lib "user32" _ Alias "SetWindowLongA" (ByVal hwnd As Long, _ ByVal nIndex As Long, ByVal dwNewLong As Long) _ As Long Public Declare Function CallWindowProc Lib "user32" _ Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, _ ByVal hwnd As Long, ByVal Msg As Long, _ ByVal wParam As Long, ByVal lParam As Long) As Long Public Declare Sub CopyMemory Lib "kernel32" _ Alias "RtlMoveMemory" _ (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long) '================================================================ ' Override Window procedure and process WM_COPYDATA messages '---------------------------------------------------------------Public Function MsgWindowProc(ByVal hwnd As Long, _ ByVal uMsg As Long, ByVal wParam As Long, _ ByVal lParam As Long) As Long Dim rc As Long Dim cds As COPYDATASTRUCT Dim buf(1 To 255) As Byte If uMsg = WM_COPYDATA Then Call CopyMemory(cds, ByVal lParam, Len(cds)) Call CopyMemory(buf(1), ByVal cds.lpData, cds.cbData) a$ = StrConv(buf, vbUnicode) a$ = Left$(a$, InStr(1, a$, Chr$(0)) - 1) 'Add to Listbox Form1.List1.AddItem (a$) MsgWindowProc = True Else MsgWindowProc = CallWindowProc(PreviousWindowProc, _ hwnd, uMsg, wParam, lParam) End If End Function '================================================================ ' Initialize FEMAP object and capture messages

API-82 '---------------------------------------------------------------Public Sub CaptureMessages() Dim rc As Long Set femap = GetObject(, "femap.model") rc = femap.feAppRegisterMessageHandler(True, Form1.hwnd) PreviousWindowProc = SetWindowLong(Form1.hwnd, GWL_WNDPROC, _ AddressOf MsgWindowProc) End Sub '================================================================ ' Stop capturing messages '---------------------------------------------------------------Public Sub ReleaseMessages() Dim rc As Long If PreviousWindowProc Then rc = femap.feAppRegisterMessageHandler(False, Form1.hwnd) rc = SetWindowLong(Form1.hwnd, GWL_WNDPROC, _ PreviousWindowProc) PreviousWindowProc = 0 End If End Sub '================================================================ When combined with a Basic Form, this code drives an application that looks like:

In addition to the code shown above, the following code connects the buttons on the form to the previous code. Private Sub Capture_Click() Call CaptureMessages End Sub Private Sub ListInfo_Click() rc = femap.feFileProgramRun(False, True, False, "{LI}") End Sub Private Sub Release_Click() Call ReleaseMessages End Sub

API-83 Private Sub Form_Unload(Cancel As Integer) Call ReleaseMessages End Sub

3.2.5 API Performance As described in the previous sections, there are many ways to integrate your API application with FEMAP. No matter which of these methods you use however, the overall performance of your application can vary greatly depending on how you implement the integration. Whenever it is visible, the FEMAP user interface is being continually updated to reflect the changing states of your models. While this is very desirable in most situations, and certainly desirable when running FEMAP interactively, it can result in substantial overhead during API calls. There are two basic approaches that you can take to prevent this overhead, and substantially improve the performance of your application: 1. Hide the FEMAP user interface using feAppVisible( ). The user interface is not updated if it is not visible and therefore the API calls will run faster. If you started FEMAP from your API, then it will start in the invisible state, so if you never call feAppVisible( True ), to make it visible, you will not have to hide it. If you attach to a running FEMAP session, then calling feAppVisible( False ) will hide it and improve performance. Using this hide/show approach certainly works, however it will result in FEMAP disappearing and reappearing on the screen which might not be desirable. 2. Lock the FEMAP user interface using feAppLock( ). This is the method that you will typically want to use unless you are launching your own FEMAP session and running it totally in the invisible state (with-out calling feAppVisible( True ) ). Using this function simply locks the user interface so that it is not usable, nor updated. This function also has the added benefit of preventing the user from accidentally picking commands or changing anything while your application is running. Depending on what your application does, you will either want to call feAppLock( ) at the beginning of your application, and feAppUnlock( ) at the end, or place feAppLock( ) / feAppUnlock( ) pairs around API intensive portions of your application (like commands), so that the FEMAP user interface updates at the end of that portion, but does not slow down the work being performed. You must always pair feAppLock( ) and feAppUnlock( ) calls - there must be an equal number of feAppUnlock( ) calls as there were feAppLock( ) calls.

A few simple tests using these methods show that using them can improve the performance of your application by a factor of 10 or more in areas where many API calls are being made, so it is worth the time to implement these simple methods.

3.3 FEMAP Object Properties Methods and Properties The following sections describe the methods and properties that are available directly from the FEMAP application object. In general, these provide access to “global” data that applies to your entire model, and access to functionality that is equivalent to many of the interactive menu commands. Access to lower level functionality, like querying and editing of individual entity data, is available through the other objects that you can create from the application object.

The FEMAP object properties are global in nature. Changing their values will have an immediate impact on the FEMAP session. Use care when changing these (or any other) properties.

API-84

Geometry Replacement Options

In these tables, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information.

3.3.1 Global Properties - File menu commands These Global Properties are used to set options for various commands on the File menu in FEMAP. These commands are File,Import, Geometry; File, Page Setup; and File, Preferences in FEMAP. Depending on the Global property, it may require an Integer (INT4), Real (REAL8), Boolean (BOOL), or String (STRING). The type is noted for each Global Property. Each tab of the Preferences dialog box is discussed in greater detail below. 3.3.1.1 File, Import, Geometry - Geometry Replacement Options

These Global Properties set the options on the Geometry Replacement Options dialog box after a file has been selected for import and the “Update Existing Geometry” option is available:

Geometry Replacement Options Property

Solid_UpdateActive

Description

Type

If True, active Parasolid geometry will be updated with the geometry being imported. This option is actually on the Solid Model Read Options dialog box and allows access to the other options.

BOOL

The type of mesh resizing to do if you are updating Parasolid geometry on import: 0=Keep existing sizes, 1=Update sizes on curves that exceed a certain length change tolerance, 2=Resize all.

INT4

Mesh Sizing

Solid_UpdateResizeMode

API-85 Geometry Replacement Options Property

Description

Type

The tolerance above which curve mesh sizes will be recomputed when curves change length during import of updated Parasolid geometry. Only used if the appropriate Solid_UpdateResizeMode is used.

REAL8

Solid_UpdateDelete

If True, active Parasolid geometry and any mesh on that geometry will be deleted if updated geometry is imported. Only used if Solid_UpdateActive is also True.

BOOL

Solid_UpdateParasolidIdent

If True, the geometry will be updated using Parasolid Identifiers. Only used if Solid_UpdateActive is also True.

BOOL

Solid_UpdateMaterialData

If True, the existing geometry will be updated to use the Material Data of the imported solid. Only used if Solid_UpdateActive is also True.

BOOL

Solid_UpdateResizeTol

Update Options

API-86

Page Setup Properties

3.3.1.2 File, Page Setup

These Global Properties are used to set the options on the Page Setup dialog box:

Page Setup Properties Property

Description

Type

Page Header and Footer PgSetup_Header

Text for Print header.

STRING

PgSetup_Footer

Text for Print footer.

STRING

PgSetup_DefaultHdrFont

If True, use the default system font for header/footer.

BOOL

PgSetup_HdrFont

Name of font to use for header/footer. Only used if PgSetup_DefaultHdrFont=False.

STRING

PgSetup_HdrFontSize

Size in points of the header/footer font.

INT4

If True, use the default system font for header/footer.

BOOL

Other Printed Text PgSetup_DefaultTextFont

API-87 Page Setup Properties Property

Description

Type

PgSetup_TextFont

Name of font to use for other text. Only used if PgSetup_DefaultTextFont=False.

STRING

PgSetup_TextFontSize

Size in points of the font for printed text.

INT4

Page Margins PgSetup_LeftMargin PgSetup_RightMargin PgSetup_TopMargin

REAL8 Page margins.

PgSetup_BottomMargin

REAL8 REAL8 REAL8

Plot and Metafile Style PgSetup_PrintBorder

If True, a border is drawn around the plot.

BOOL

PgSetup_SwapBW

If True, black and white colors are reversed for printing and metafiles.

BOOL

PgSetup_Monochrome

If True, print is done in monochrome.

BOOL

PgSetup_TransparentBkgd

If True, the background is not filled in a printer resolution print or Metafile.

BOOL

PgSetup_PenScale

Has been removed. Use Pref_ResPenMethod =1 and Pref_ResPenScale instead

INT4

PgSetup_RenderScale

Has been removed. Use Pref_ResCopySaveMethod =1 and Pref_ResCopySaveScale instead

REAL8

PgSetup_MaintainAspect

If True, plots will maintain the same aspect ratio as the on-screen window.

BOOL

PgSetup_IntegerScaling

If True, the plotting dimensions in device units (pixels) must be an integer multiple of the dimensions of the on-screen window. This is primarily used for printing bitmaps with the highest possible accuracy.

BOOL

PgSetup_FillMargins

If True, plot will fill the printer margins. If False, use the custom height and width.

BOOL

Plot Position and Size

PgSetup_CustomHeight

REAL8

PgSetup_CustomWidth

Height and width for custom print size (only used if PgSetup_FillMargins = False).

PgSetup_VertAlign

Vertical alignment: T/B Center=0, Top=1, Bottom=2.

INT4

PgSetup_HorzAlign

Horizontal alignment: L/R Center=0, Left=1, Right=2.

INT4

REAL8

API-88

Messages Preference Properties

3.3.1.3 File, Preferences - Messages tab

These Global Properties are used to set the options on the Messages tab of the Preferences dialog box:

Messages Preference Properties Property

Description

Type

General Pref_ScrollBackLines

Number of lines of text to be saved for “scrollback” in the Messages and Lists window.

INT4

API-89 Messages Preference Properties Property

Description

Type

Number of times an error message will be repeated before listing stops. A final message will be listed with an error count.

INT4

Pref_MessageFont

Name of font used for messages (other than listings) in the Message Window.

STRING

Pref_MsgWndFontSize

Message window font size in points.

REAL8

Pref_ListingFont

Name of font (fixed-pitch) used for listings in the Message Window.

STRING

Pref_ProgramFont

Name of font used for API and Program File windows.

STRING

Pref_ProgramFontSize

Font size of the font used for the API and Program File panes

REAL8

Pref_MsgWndBackColor

Message window Background Color.

INT4

Pref_MsgWndTextColor

Message window Text Color.

INT4

Pref_MsgWndTextBold

If True, normal Text written to the Message Window uses a bold font

BOOL

Pref_MsgWndCmdColor

Message window Command Color

INT4

Pref_MsgWndCmdBold

If True, Command names written to the Message Window use a bold font

BOOL

Pref_MsgWndHighColor

Message window Highlighted Text Color.

INT4

Pref_MsgWndHighBold

If True, Highlighted Text written to the Message Window uses a bold font

BOOL

Pref_MsgWndWarnColor

Message window Status Message Color.

INT4

Pref_MsgWndWarnBold

If True, Status Messages written to the Message Window use a bold font

BOOL

Pref_MsgWndErrorColor

Message window Error Color.

INT4

Pref_MsgWndErrorBold

If True, Error messages written to the Message Window use a bold font

BOOL

Pref_MsgWndFont

Name of fixed-pitch font to be used in Messages and Lists window.

STRING

Pref_MsgWndRepeatedErrors Fonts and Colors

API-90

Views Preference Properties

3.3.1.4 File, Preferences - Views tab

These Global Properties are used to set the options on the Views tab of the Preferences dialog box:

Views Preference Properties Property

Description

Type

Startup View (from View Library) Pref_LibViewNumber

Index of default view in the view library.

INT4

Background Bitmaps (Render Only) Pref_ViewBkgdBitmap

Filename for the Background bitmap.

STRING

Pref_ViewLogo

Filename for the Logo bitmap.

STRING

API-91 Views Preference Properties Property

Description

Type

If True, the View Logo is defined in Screen Resolution, and will be scaled when printed. If False, it is in Print Resolution and is scaled for Screen display.

BOOL

Pref_PictureCopyTextForXY

Controls whether comma-separated text is sent to the clipboard when an XY plot is copied. True = Include Text.

BOOL

Pref_MetafileToClip

Controls whether a Windows Metafile is sent to the clipboard when the graphics area is copied. True = Include Metafile format.

BOOL

Pref_PictureFormat

Controls the default picture format for Picture Save. 0=BMP, 1=JPG, 2=PNG, 3=GIF, 4=TIF

INT4

Pref_AnimationFormat

Controls the default animation format for Picture Save. 0=BMP, 1=BMP series, 2=AVI, 3=GIF

INT4

Pref_JTFileVersion

Sets the default file version for JT files

INT4

Pref_ViewLogoScreenRes

Picture Copy

Picture Save Defaults

Picture Save Defaults (Resolution Options) Pref_ResPrintMethod

Specifies the Print Resolution method (0=Printer, 1=Screen, 2=Screen Scaled By)

INT4

Pref_ResPrintScale

Scale factor used by Screen Scaled By method in the Print Resolution section

REAL8

Pref_ResCopySaveMethod

Specifies the Copy/Save Resolution method (0=Screen, 1=Screen Scaled By, 2=Screen Scaled With Width, 3=Screen Scaled With Height, 4=Fixed Size)

INT4

Pref_ResCopySaveScale

Scale factor used by Screen Scaled By method in the Copy/Save Resolution section

REAL8

Pref_ResScaleWithWidth

Resolution used by Screen Scaled With Width method in the Copy/Save Resolution section

INT4

Pref_ResScaleWithHeight

Resolution used by Screen Scaled With Height method in the Copy/Save Resolution section.

INT4

Pref_ResFixedWidth

Resolution used by Fixed Size method to set the Width in the Copy/Save Resolution section

INT4

Pref_ResFixedHeight

Resolution used by Fixed Size method to set the Height in the Copy/Save Resolution section

INT4

API-92 Views Preference Properties Property

Description

Type

Pref_ResPenMethod

Specifies the Pen Width method (0=Auto, 1=Manual Factor)

INT4

Pref_ResPenScale

Sets Manual Factor value in the Pen Width section

INT4

Pref_ResScreenLogoScale

Sets the value for Screen Scale in the Logo and Background Bitmap Scaling section

REAL8

Pref_ResPrintLogoScale

Sets the value for Print Scale in the Logo and Background Bitmap Scaling section

REAL8

Pref_ResCopySaveLogoScale

Sets the value for Copy/Save Scale in the Logo and Background Bitmap Scaling section

REAL8

Picture Save Defaults (GIF Options) Pref_GIFColorOpt

The color options for creating a GIF picture file. 1=Network, 2=Octree, 3=Color Diffusion (Dither)

INT4

Pref_GIFAnimationDelay

The delay between frames of an animated GIF file

INT4

Pref_GIFOptimized

Toggles the Optimized check box on/off

BOOL

Pref_GIFFrameSeries

Controls whether Animations will be saved in GIF formats as a series of files or a single animated GIF. True=Save GIF Frame Series.

BOOL

Pref_AltFillMode

Alternate filling mode for polygons.

BOOL

Pref_WorkplaneNotVisible

Controls whether the workplane will be visible when you start a new model. True = Workplane Never Visible in New View

BOOL

Options

Pref_AltContourPalette

Obsolete - see Pref_DefContourPalette

BOOL

Pref_DefContourPalette

Default Contour Palette 0=Standard, 1=No Magenta, 2=Temperature, 3=Red,Yellow,Green, 4=Gray

INT4

Pref_OpenSavedViews

If True, the views that were active when a model was saved are reopened when the model is opened.

BOOL

Pref_AspectRatio

Aspect ratio for new views.

REAL8

Pref_2DTensorPlotOverride

Toggles 2D Tensor Plot View Options Override on/off

BOOL

View and Dynamic Rotation

API-93 Views Preference Properties Property

Description

Type

Pref_DeltaAngle

Angle for incremental rotation in the View, Rotate command.

REAL8

Pref_ViewDynamicMode

Dynamic rotation mode: 0=Fast Redraw, 1=Reduced Bitmap, 2=Full Bitmap.

INT4

Pref_ViewDynamSpeed

Speed of dynamic rotation.

REAL8

Pref_ViewDimetric

Text for Dimetric button in View, Rotate.

STRING

Pref_ViewIsometric

Text for Isometric button in View, Rotate.

STRING

Pref_ViewTrimetric

Text for Trimetric button in View, Rotate.

STRING

Pref_AngleIsometric[0..2] or VARIANT vPref_AngleIsometric Pref_AngleDimetric[0..2] or VARIANT vPref_AngleDimetric Pref_AngleTrimetric[0..2] or VARIANT vPref_AngleTrimetric

REAL8

The rotation angles assigned to the corresponding buttons in the View, Rotate command.

REAL8

REAL8

API-94

Render Preference Properties

3.3.1.5 File, Preferences - Render tab

These Global Properties are used to set the options on the Render tab of the Preferences dialog box:

Render Preference Properties Property

Description

Type

Render Options Pref_RenderHW

If True, Render mode will attempt to use Hardware Acceleration.

BOOL

Pref_RenderMidside

If True, Render mode will Use Midside Nodes when drawing elements.

BOOL

API-95 Render Preference Properties Property

Description

Type

Pref_RenderMemoryOpt

If True, render Memory Optimization is on

BOOL

Pref_RenderMultiModelMem

If True, Multi-Model Memory is on

BOOL

Pref_RenderBeamEdges

Controls drawing of Beam Facet Edges between cross sections of beams

BOOL

Pref_RenderSmoothLines

If True, uses antialiasing to render smooth lines

BOOL

Pref_RenderAutoRegen

If True, graphics are completely regenerated after every command

BOOL

Pref_RenderFastPick

If True, enables faster, in-memory selection of entities

BOOL

Pref_RenderXORPicking

If True, XOR Picking Graphics in on

BOOL

Pref_RenderEdgesAsLines

If True, element and surface edges are drawn as lines rather than using edge flags.

BOOL

Pref_RenderDialogRefresh

If True, Dialog Refresh in on

BOOL

Pref_RenderVertexArrays

0=No use of Vertex Arrays, 1=Partial, 2=Full for all graphics

INT4

Pref_RenderBlockSize

Sets the Block Size. Available values are 4, 8, 16, 32, 64, 128, 256, 512, and 1024

INT4

Pref_RenderSearchDepth

Search Depth for adding entities to graphics system

INT4

The flags used to indicate which entities will be on for dynamic rotation. 0-Point, 1-Curve, 2-Surface, 3-Boundary, 4-Volume, 5-Text, 6-Coordinate Sys, 7-Node, 8-Element, 9-Constraint, 10-Load, 11Connections, 12-Fill, 13-Filled Edges, 14-Shading, 15-Undeformed, 16-Labels, 17-Workplane, 18-Mesh Size, 19-Smooth Lines, 20-Elements as Free Edge, 21-Element Symbols

BOOL

Pref_RenderTex2D

If True, uses 2D Texture Mapping

BOOL

Pref_RenderTexSmooth

If True, uses smooth textures

BOOL

Pref_RenderTexAllTri

If True, forces all triangles for texture mapping

BOOL

Pref_RenderTexNumber

Max Number of Textures

INT4

Include In Dynamic Rotation

Pref_RenderRotate[0..21] or VARIANT vPref_RenderRotate

Textures

Advanced/Debug Options

API-96 Render Preference Properties Property

Description

Type

Pref_RenderTiming

If True, prints render timings

BOOL

Pref_RenderDebugElapsedTime

If True, prints elapsed times

BOOL

Pref_RenderDebugAllTime

If True, prints All times

BOOL

Pref_RenderDebugOGLErrors

If True, prints OpenGL errors (if there are any)

BOOL

Pref_RenderBitmapAlignment

Alignment of Bitmaps stored for OpenGL - do not change.

INT4

Pref_RenderPixelFormat

Controls selection of Graphics Descriptors 0=Automatic

INT4

Pref_RenderBitBltDelay

Value needed for Delay in synchronizing OpenGL and GDI on some graphics cards (0..1000)

INT4

User Interface Preference Properties

API-97

3.3.1.6 File, Preferences - User Interface tab

These Global Properties are used to set the options on the User Interface tab of the Preferences dialog box:

User Interface Preference Properties Property

Description

Type

Menus and Dialog Boxes Pref_AltTheme

If True, use an Alternate Color Scheme and style for the user interface

BOOL

Pref_RepeateCreate

If True, entity Create Commands will repeat.

BOOL

API-98 User Interface Preference Properties Property

Description

Type

Pref_RememberDialogPos

If True, each dialog position is remembered during a session and if a dialog is redisplayed it will be located at the same position as when it was last closed.

BOOL

Pref_AltAccelerator

If True, redefine certain accelerator keys to access Top, Bottom, ... Views.

BOOL

Pref_ConfirmDelete

If True, Ask for Confirmation Before Delete is on.

BOOL

Pref_FastOutputDelete

Sets the Fast Output Delete option. 0=Confirm, 1=Fast (No Undo), and 2=Preserve Undo.

INT4

Pref_RecentlyUsedFiles

Number of files on the Most Recently Used list.

INT4

Pref_TrackMousePick

Activates dynamic selection tracking.

BOOL

Pref_PickAllInside

Controls selection of entities when screen area picking is used.

BOOL

Pref_PickMethod

Controls the default Pick Method. 0 = Pick Normal, 1 = Pick Query, and 2 = Pick Front

INT4

Pref_TooltipDelay

Delay before Selector Tooltips appear (in tenths of a second).

INT4

Pref_TooltipDuration

Length of time before Selector Tooltips automatically disappear (in tenths of a second).

INT4

Pref_ReverseMouseWheel

Controls the direction of zoom when you turn the mouse wheel

BOOL

Pref_ReversePanZoom

If True, hold down Shift to Zoom, and Ctrl for Pan in Dynamic Rotation. If False, reverse the keys.

BOOL

Pref_TbxExpandActive

If True, only the active tool will be expanded

BOOL

Pref_TbxAutomesh

0=AutoRemesh, 1=Track Changes, 2=Disable Remesh

INT4

If True, the docking panes will animate when you click on their tab to make them visible.

BOOL

Graphical Selection

Mouse Interface

Meshing Toolbox

Dockable Panes Pref_AnimatePanes

API-99 User Interface Preference Properties Property

Description

Type

Pref_PaneCaptionsOnTop

If True, the docking panes will always have their captions placed on the top of the pane. Otherwise they are either on the top or left, whichever takes less space.

BOOL

Pref_PaneAltDockSymbols

If True, the docking position indicators will be shown using the “original” symbols instead of the “new” symbols.

BOOL

Pref_ModelInfoMaxEntity

Limits the max number of items of each type to show in the Model Info tree.

INT4

Pref_AutomaticTitles

Controls whether automatic titles will be given to otherwise untitled entities.

BOOL

Pref_ShowMode

Sets the Mode for the Show Entities Defaults. 0 = Highlight, 1 = Transparent Highlight, and 2 = Show Selected Only

INT4

Pref_ShowLabels

When True, Show Labels will be on

BOOL

Pref_ShowNormals

When True, Show Normals will be on

BOOL

Pref_ShowColor

Sets color value for Highlight Color

INT4

Model Info

Show Entities Defaults

API-100

Database Preference Properties

3.3.1.7 File, Preferences - Database tab

These Global Properties are used to set the options on the Database tab of the Preferences dialog box:

Database Preference Properties Property

Description

Type

Database Options Pref_BackupModel

If True, any existing model will be copied before each save.

BOOL

Pref_DeleteScratchFile

If True, scratch files are automatically deleted whenever you exit a model.

BOOL

API-101 Database Preference Properties Property

Description

Type

Pref_PreserveNextID

When True, Preserve Next ID during Rebuild in on

BOOL

Pref_DBLowDiskWarning

Issues a warning when free space on the model scratch disk falls below this amount (in MByte). 0=Disable.

INT4

Pref_DBUndoLevels

Maximum number of undo levels.

INT4

Pref_DBCacheMaxMemoryPct

Sets max percentage value to use for Database Memory Limit

INT4

Pref_DBCacheBlocksPerPage

Number of blocks per page in the database cache.

INT4

Pref_DBCacheMaxLabel

Maximum cached database node/element label.

INT4

Pref_OpenSaveMethod

Choose and Open/Save Method. 0=Window I/O, 1=C I/O, 2=Windows 64K I/O, and 3=C 64K I/O. See Section 3.4.11.4, "feRunIOTest" for information about running the Read/Write Test to determine the preferred value for Open/Save Method

INT4

Pref_TimedSaveOn

Turns on Timed Save automatically.

BOOL

Pref_TimedSaveNotify

Sets Timed Save to notify you before saving.

BOOL

Pref_TimedSaveInterval

Number of minutes between timed saves.

INT4

Pref_TimedSaveCommands

Number of commands between timed saves.

INT4

Path (no filename) for model scratch file.

STRING

Database Performance

Timed Save

Scratch Directory Pref_DBScratch

API-102

Geometry/Model Preference Properties

3.3.1.8 File, Preferences - Geometry/Model tab

These Global Properties are used to set the options on the Geometry/Model tab of the Preferences dialog box:

Geometry/Model Preference Properties Property

Description

Type

Geometry Preferences Pref_GeomEngine

Default geometry engine: 0=Std, 1=Parasolid.

INT4

API-103 Geometry/Model Preference Properties Property

Description

Type

Pref_GeometryScale

Solid geometry scale factor used to make sure that geometry fits inside the limited coordinate spaces used by the solid modeling engines. This value is copied to Info_GeometryScale when a model is started, and is used throughout that model. Setting this value to: 39.37 will change the drop-down to 0..Inches 1.0 will change the drop-down to 1..Meters 1000.0 will change the drop-down to 2..Millimeters All other values change the drop-down to 3..Other

REAL8

Pref_ConstructionGeometry

Default for construction geometry: 0=Delete, 1=Move To No Pick Layer, 2=Do Nothing.

INT4

Pref_GeomScaleAdjust

If True, geometry scale factors are automatically adjusted to match the modeling scale factor.

BOOL

Load Expansion on Midside Nodes Pref_GeomLoadEdgeFactor

Adjustment factor for load expansion on midside nodes along edges.

REAL8

Pref_GeomLoadTriFactor

Adjustment factor for load expansion on midside nodes on tri faces.

REAL8

Pref_GeomLoadQuadFactor

Adjustment factor for load expansion on midside nodes on quad faces.

REAL8

Pref_AdjMidsideGeomLoad

Enables default adjustment of nodal loads at the midside of parabolic elements during geometry load expansion.

BOOL

Enables a log file for all solid modeling operations (for debugging purposes only).

BOOL

Pref_MeshInMemory

Allows the boundary mesher to allocate additional memory to speed up its operation.

BOOL

Pref_FastTriMesh

Chooses the Fast Tri Mesher as the default triangular mesher.

BOOL

Pref_AltSectionProp

If True, uses the alternate section property calculator

BOOL

Pref_PreV10TetMesh

If True, Pre-v10 Tet Meshing is on

BOOL

Pref_PreV10SurfaceMesh

If True, Pre-v10 Surface Meshing is on

BOOL

Log File Pref_GeomLogFile Meshing and Properties

API-104 Geometry/Model Preference Properties Property

Description

Type

0 = 0..Parametric, 1 = 1..Equal Length, 2 = 2..Parametric/Equal Length

INT4

Pref_ElemQualAspectRatio

If True, Aspect Ratio element check is on

BOOL

Pref_ElemQualAspectRatioVal

Value for Aspect Ratio element check

REAL8

Pref_ElemQualTaper

If True, Taper element check is on

BOOL

Pref_ElemQualTaperVal

Value for Taper element check

REAL8

Pref_ElemQualAltTaper

If True, Alternate Taper element check is on

BOOL

Pref_ElemQualAltTaperVal

Value for Alternate Taper element check

REAL8

Pref_ElemQualIntAngles

If True, Internal Angles element check is on

BOOL

Pref_ElemQualIntAnglesVal

Value for Internal Angles element check

REAL8

Pref_ElemQualSkew

If True, Skew element check is on

BOOL

Pref_ElemQualSkewVal

Value for Skew element check

REAL8

Pref_ElemQualWarping

If True, Warping element check is on

BOOL

Pref_ElemQualWarpingVal

Value for Warping element check

REAL8

Pref_ElemQualNastranWarping

If True, Nastran Warping element check is on

BOOL

Pref_ElemQualNastranWarpingVal

Value for Nastran Warping element check

REAL8

Pref_ElemQualTetCollapse

If True, Tet Collapse element check is on

BOOL

Pref_ElemQualTetCollapseVal

Value for Tet Collapse element check

REAL8

Pref_ElemQualJacobian

If True, Jacobian element check is on

BOOL

Pref_ElemQualJacobianVal

Value for Jacobian element check

REAL8

Pref_ElemQualCombined

If True, Combined Quality element check is on

BOOL

Pref_ElemQualCombinedVal

Value for Combined Quality element check

REAL8

Pref_ElemQualExplicitTime

If True, Explicit Time Step element check is on

BOOL

Pref_ElemQualExplicitTimeVal

Value for Explicit Time Step element check

REAL8

Pref_LengthBasedMeshSize Element Quality button

Output Orientation button

API-105 Geometry/Model Preference Properties Property

Description

Type

Pref_OrientSolidIsoOutput

Defines raw orientation of isotropic material solid element output vector data 0 = Material Direction 1 = Global Rectangular 2 = Element

INT4

Pref_OrientSolidAnisoOutput

Defines raw orientation of anisotropic material solid element output vector data 0 = Material Direction 1 = Global Rectangular 2 = Element

INT4

Pref_OrientSolidHyperOutput

Defines raw orientation of hyperelastic material solid element output vector data 0 = Material Direction 1 = Global Rectangular 2 = Element

INT4

Pref_OrientTria3StressOutput

Defines raw orientation of Tria3 stress output vector data 0 = First Edge 1 = Midside Location

INT4

Pref_OrientTria3StrainOutput

Defines raw orientation of Tria3 strain output vector data 0 = First Edge 1 = Midside Location

INT4

Pref_OrientTria3ForceOutput

Defines raw orientation of Tria3 force output vector data 0 = First Edge 1 = Midside Location

INT4

Pref_OrientTria6StressOutput

Defines raw orientation of Tria6 stress output vector data 0 = First Edge 1 = Midside Location

INT4

Pref_OrientTria6StrainOutput

Defines raw orientation of Tria6 strain output vector data 0 = First Edge 1 = Midside Location

INT4

Pref_OrientTria6ForceOutput

Defines raw orientation of Tria6 force output vector data 0 = First Edge 1 = Midside Location

INT4

API-106 Geometry/Model Preference Properties Property

Description

Type

Pref_OrientQuad4StressOutput

Defines raw orientation of Quad4 stress output vector data 0 = First Edge 1 = Midside Location 2 = Diagonal Bisector

INT4

Pref_OrientQuad4StrainOutput

Defines raw orientation of Quad4 strain output vector data 0 = First Edge 1 = Midside Location 2 = Diagonal Bisector

INT4

Pref_OrientQuad4ForceOutput

Defines raw orientation of Quad4 force output vector data 0 = First Edge 1 = Midside Location 2 = Diagonal Bisector

INT4

Pref_OrientQuad8StressOutput

Defines raw orientation of Quad8 stress output vector data 0 = First Edge 1 = Midside Location 2 = Diagonal Bisector

INT4

Pref_OrientQuad8StrainOutput

Defines raw orientation of Quad8 strain output vector data 0 = First Edge 1 = Midside Location 2 = Diagonal Bisector

INT4

Pref_OrientQuad8ForceOutput

Defines raw orientation of Quad8 force output vector data 0 = First Edge 1 = Midside Location 2 = Diagonal Bisector

INT4

Interfaces Preference Properties

API-107

3.3.1.9 File, Preferences - Interfaces tab

These Global Properties are used to set the options on the Interfaces tab of the Preferences dialog box:

Interfaces Preference Properties Property

Description

Type

Interface options Pref_AnalysisProg

Default analysis program Interface.

INT4

Pref_AnalysisType

Default Analysis Type.

INT4

API-108 Interfaces Preference Properties Property

Description

Type

Pref_NeutralVersion

Neutral file version number when writing Neutral files for third party analysis programs.

REAL8

Pref_NeutralDigits

Number of significant digits for real numbers in Neutral files.

INT4

Pref_InterfaceStyle

Default user Interface Style: 0=Structural, 1=Thermal, 2=Adv. Thermal.

INT4

Pref_UseOldAnalysisInterfaces

If True, older, unsupported analysis program interfaces will still be available.

BOOL

Pref_AnalysisMonAutoLoad

If True, will automatically load results when using the Analysis Monitor

BOOL

Pref_AnalysisMonMaxLines

Default Max number of lines to include in the Analysis Monitor

INT4

Pref_FileRefCheck

If True, checks file references when the model is opened

BOOL

Pref_FileRefGeometry

If True, creates geometry references when files are read

BOOL

Pref_FileRefModel

If True, creates analysis model references when files are read

BOOL

Pref_FileRefResults

If True, creates results file references when files are read.

BOOL

Pref_UseVisQ

For an integerated solver, turning this on will start the solver with VisQ (if it is available).

BOOL

Pref_WriteComments

If True, comments will NOT be written to NASTRAN. This can get around some character set issues in entity titles.

BOOL

Pref_ComputePrincipal

If True, FEMAP automatically Computes Principal Stress/Strain and other quantities if they have not been read from results.

BOOL

Pref_AssumeEngrStrain

If True, FEMAP Assumes Shear Strain results are Engineering shear strain.

BOOL

Analysis Monitor Options

File Reference Options

General Solver Options

Nastran Solver Write Options

API-109 Interfaces Preference Properties Property

Description

Type

Pref_UseMSCNastran2004

If True, enables the MSC.Nastran 2004 interface options

BOOL

Pref_ImproveSinglePrecision

If True, FEMAP writes real numbers to Nastran files using a nonstandard exponential format that improves precision.

BOOL

Pref_NasAlternateContinue

If True FEMAP will write an alternate line continuation using “+”

BOOL

Pref_OutputSetTitles

Used by the Nastran OP2 file reader to set Output Set titles to the TITLE (1), SUBTITLE (2), or LABLE (3) text.

INT4

Pref_NastranMemory

Amount of memory specified for Nastran solver

INT4

Pref_NastranScratchLocation

Specifies option for Scratch Directory. 0 = Nastran Default, 1 = FEMAP Scratch, and 2 = Output Directory

INT4

Pref_NasDballScratch

If True Femap will use the dbs command line to specify a alternate location for user database files.

BOOL

Pref_NastranOutputTo

Location of Nastran Output Files (0=Current Directory, 1=Model File Directory, 2=Specified Directory)

INT4

Pref_NastranOutputPath

Name/path of specified Output Directory for Nastran solver output

STRING

Pref_NastranUseILP64

Flag to use ILP64 NX Nastran if installed.

BOOL

Pref_NastranWriteAllLdbcSets

Default for Analysis Set to write all Static Loads/ Boundary conditions.

BOOL

Pref_ReadComments

If True, an attempt will be made to read NASTRAN comment cards as entity titles.

BOOL

Pref_ReadDirCos

If True, FEMAP will read direction cosine matrices for stress/strain results.

BOOL

Pref_DeleteRdScratchLdSets

If True, FEMAP will delete “Synthetic” load sets that it creates during reading of NASTRAN LOAD cards.

BOOL

Pref_GroupIncludeFiles

If True, FEMAP will create groups based on entities in INCLUDE files found in a Nastran input file.

BOOL

Auto Answer Post Questions

API-110 Interfaces Preference Properties Property Pref_NasQstOn[0..5] or VARIANT vPrefNasQstOn

Pref_NasQstVal[0..5] or VARIANT vPrefNasQstVal

Description Pref_NasQstOn enables Auto Answer for each question. Questions: 0-Read Nonlinear Output, 1-Output Contains QUADR Elements, 2-Output Contains Corner Output, 3-Read PSD/Freq Functions, 4-Read Corner Output, 5-Hide f06 Warning dialog Pref_NasQstVal sets the question answer. Answers: 0 - No, 1 - Yes

Type

BOOL

BOOL

Library/Startup Preference Properties

API-111

3.3.1.10 File, Preferences - Library/Startup tab

These Global Properties are used to set the options on the Library/Startup tab of the Preferences dialog box:

Library/Startup Preference Properties Property

Description

Type

Libraries Pref_LibView

Filename for View Library.

STRING

Pref_LibMatl

Filename for Material Library.

STRING

Pref_LibProp

Filename for Property Library.

STRING

API-112 Library/Startup Preference Properties Property

Description

Type

Pref_LibLayup

Filename for Layup Library

Pref_LibConnectionProp

Filename for Connection Property Library

STRING

Pref_LibFunction

Filename for Function Library.

STRING

Pref_LibAnalysis

Filename for Analysis Library.

STRING

Pref_LibReport

Filename for report Format Library.

STRING

Pref_LibMatlDef

Filename for Material Definition Library.

STRING

Startup Program File/Basic Script/Executable and Custom Tools Pref_CustomToolsPath

Name/path of specified directory for Custom API Tools

STRING

Pref_StartupProg

Name/path of a startup program (Program File or API)

STRING

Pref_RunProgNewModels

If True, the startup program will be run every time a new model is opened.

BOOL

Color Preference Properties

API-113

3.3.1.11 File, Preferences - Color tab

These Global Properties are used to set the options on the Color tab of the Preferences dialog box:

Color Preference Properties Property Entity Colors

Description

Type

API-114 Color Preference Properties Property

Description

Type

Default colors used for various entity types when starting a new database. 0 - Coord Sys, 1 - Point, 2 - Curve, 3 - Surface, 4 -Volume/Solid, 5 - Boundary, 6 - Text, 7 - Node, 8 - Element, 9 - Material, 10 - Property, 11 - Load, 12 - Nodal Constraint, 13 - Constraint Eqn, 14 - Region, 15 - Connector, 16 - Connection Property, 17 - Combined Curve, 18 - Aero Panel, 19 - Aero Prop, 20 - Aero Spline, 21 - Aero Control Surface

INT4

Pref_LibPalette

Filename for Color Palette Library.

STRING

Pref_LibContPal

Filename for User Contour Palette Library.

STRING

Pref_EntityColor[0..21] or VARIANT vPref_EntityColor

Palettes (Blank for Standard)

Spaceball Preference Properties

API-115

3.3.1.12 File, Preferences - Spaceball tab

These Global Properties are used to set the options on the Spaceball tab of the Preferences dialog box:

Spaceball Preference Properties Property

Description

Type

Scale Factors Pref_Spaceball Factors[6] or VARIANT vPref_SpaceballFactors

Allows specification for each degree of freedom. [0] = Translation X, [1] = Translation Y [2] = Translation Z, [3] = Rotation X [4] = Rotation Y, [5] = Rotation Z

REAL8

API-116

Global Integer Properties

Spaceball Preference Properties Property Pref_SpaceballSensitivity

Description

Type

Used to set the Directional Sensitivity. Value must be between 0.0 and 100.0

REAL8

When True, prints debug messages for Spaceball

BOOL

Debug Options Pref_SpaceballDebug

3.3.2 Global Integer Properties Global Integer Properties Property

Description

Window Handles hMainWnd

The handle to the FEMAP main window (read-only). NOTE: This is an 8-byte integer, not a 4-byte integer like most other properties.

hListWnd

The handle to the FEMAP Messages and Lists window (readonly). NOTE: This is an 8-byte integer, not a 4-byte integer like most other properties.

Event Properties

EventLParam

The lParam value for the active event. This is not used for many events, but can be accessed from any event callback. NOTE: This is an 8-byte integer, not a 4-byte integer like most other properties.

File Print Print_Copies

Number of copies to print (only works with printers that support setting a number of copies).

Message Window

List_Destination

A combination of one or more destinations (Screen, Printer, File) where listings are sent. 1=Messages Window only, 16=Printer only, 256=File only, 17=Messages Window and Printer, 257=Messages Window and File, 272=Printer and File, 273=Messages Window, Printer, and File.(INT4)

List_FileName

The path to a file to use for listing when the File destination is chosen.(STRING)

Model Info

Global Integer Properties

API-117

Global Integer Properties Property

Description

Info_CommandNumber

The number of commands that have been performed in this database (read-only).

Info_MaxID[entity] or VARIANT vInfo_MaxID

The maximum ID of the selected entity (read-only). For information on entities, see Section 3.3.6, "Entity Types".

Info_MinID[entity] or VARIANT vInfo_MinID

The minimum ID of the selected entity (read-only). For information on entities, see Section 3.3.6, "Entity Types".

Info_Increment[entity] or VARIANT vInfo_Increment

The ID creation increment for the selected entity. For information on entities, see Section 3.3.6, "Entity Types".

Info_Count[entity] or VARIANT vInfo_Count

The number of selected entities in the database (read-only). For information on entities, see Section 3.3.6, "Entity Types".

Info_NextID[entity] or VARIANT vInfo_NextID

The ID of the next entity of a given type to be created.

Info_ActiveID[entity] or VARIANT vInfo_ActiveID

The Active ID of the selected entity. For information on entities, see Section 3.3.6, "Entity Types".

Info_ActiveType[entity] or VARIANT vInfo_ActiveType

The Active Type of the selected entity. For information on entities, see Section 3.3.6, "Entity Types".

Info_Color[entity] or VARIANT vInfo_Color

The default color for the selected entity. For information on entities, see Section 3.3.6, "Entity Types".

Info_OutputCSys

The default output coordinate system for node creation.

Info_NodeType

The default node type for node creation: 0=Node, 1=Scalar, 2=Extra.

Info_TextBorderColor

The default color for the border of text objects that are created.

Info_WorkplaneOnSurface

The surface ID where the workplane is located. The value is 0 if the workplane is simply located somewhere in model space.

Info_WorkplaneOnSurfacePrev

The previous value of Info_WorkplaneOnSurface.

Info_SnapTo

Current snap mode: 0=Screen, 1=Grid, 2=Point, 3=Node.

Info_SnapStyle

The snap grid style: 0=Invisible, 1=Dots, 2=Lines.

API-118

Global Integer Properties

Global Integer Properties Property

Description

Info_SnapSpacingMode

The snap grid spacing mode: 0=Automatic, 1=Uniform, 2=Nonuniform.

Info_WorkplaneTics

The number of divisions between labels along the workplane rulers.

Info_MatlAngleMethod

Sets the method for defining material angles for planar elements: 0=None/Off, 1=Vector, 2=CoordSys, 3=Angle.

Info_MatlAngleDir

Sets the direction (0=X,1=Y,2=Z) in the specified coordinate system to be used for material angles. Only used if Info_MatlAngleMethod=CoordSys.

Info_MatlAngleCSys

Sets the coordinate system ID to be used for the definition of material angles for planar elements if InfoMatlAngleMethod=CoordSys.

Info_MeshSizeMinElem

Sets the default for the minimum number of elements on any curves where a mesh size has not been explicitly specified. From Mesh, Mesh Control, Default Size command.

Info_SurfDivisionsLinear[0..1] or VARIANT vInfo_SurfDivisionsLinear

Sets the default number of divisions to be displayed in the parametric directions of surfaces along linear edges: 0=s dir, 1=t dir

Info_SurfDivisionsCurved[0..1] or VARIANT vInfo_SurfDivisionsCurved

Sets the default number of divisions to be displayed in the parametric directions of surfaces along curved edges. Unlike linear edges, which specify the total number of divisions, this number is the total to be displayed for a closed surface. The actual number displayed depends on the total curvature of the surface.

Info_ViewShowColor

The color to be used by the View, Show command.

Info_ViewShowEntity

The default type of entity to be shown by the View, Show command.

Info_ViewShowLabel

If nonzero, the View, Show command will label all selected entities.

Info_GroupAutomaticAdd

Controls the setting of the Group, Automatic Add comman: 0=Off, -1=Active Group, or specify an existing group ID to automatically add to that group.

Info_SplineOrder

The default order of splines created with the standard geometry engine.

Info_LayerNoPick

Specifies the ID of the NoPick Layer. Set to 0 for None.

Info_MatlUserType

The default type of user-defined material to be created.

Global Integer Properties

API-119

Global Integer Properties Property Info_ElemFormulation1[0..34] or VARIANT vInfo_ElemFormulation1 Info_ElemFormulation2[0..34] or VARIANT vInfo_ElemFormulation2

Description

The formulation options which are available for the various types of elements. Data is stored as bits inside these values.

Info_SuppressedCurveColor

The color used to draw curves that are suppressed for meshing

Info_SuppressedSurfaceColor

The color used to draw surfaces that are suppressed for meshing

Other Items

DialogAutoAnswer

When you are running FEMAP in hidden mode (user interface not visible), then you may not want dialog or message boxes popping up. Set this option to control the automatic return codes from boxes in this condition. 0=No/Cancel, 1=Yes/OK, 2=Show dialog/message boxes even though main user interface is hidden

DialogAutoSkip

Same as DialogAutoAnswer, but works even if the user interface is not hidden

CoordDialogMethod

The current method used by the standard coordinate dialog box. Refer to “Coordinate Dialog Methods” for possible values.

VectorDialogMethod

The current method used by the standard vector dialog box. Refer to “Vector Dialog Methods” for possible values.

PlaneDialogMethod

The current method used by the standard plane dialog box. Refer to “Plane Dialog Methods” for possible values.

PickBoundaryInternalMode

The current mode of the Combined/Boundary Surface Picking option 0=Default, Pick Combined Surfaces, no Internal Surfaces 1=Pick Both Combined and Internal Surfaces 2=Pick Only Internal Surfaces 3=Pick Only Combined Surfaces

PickCombinedCurveInternalMode

The current mode of the Combined Curve Picking Option 0=Default, Pick Combined Curves, no Internal Curves 1=Pick Both Combined and Internal Curves 2=Pick Only Internal Curves 3=Pick Only Combined Curves 4=Never Pick Combined Curves 5=Never Pick Combined nor Internal Curves

User Interface

API-120

Global Integer Properties

Global Integer Properties Property

Description

Info_OrientSolidIsoOutput

Defines raw orientation of isotropic material solid element output vector data 0 = Material Direction 1 = Global Rectangular 2 = Element

Info_OrientSolidAnisoOutput

Defines raw orientation of anisotropic material solid element output vector data 0 = Material Direction 1 = Global Rectangular 2 = Element

Info_OrientSolidHyperOutput

Defines raw orientation of hyperelastic material solid element output vector data 0 = Material Direction 1 = Global Rectangular 2 = Element

Info_OrientTria3StressOutput

Defines raw orientation of Tria3 stress output vector data 0 = First Edge 1 = Midside Location

Info_OrientTria3StrainOutput

Defines raw orientation of Tria3 strain output vector data 0 = First Edge 1 = Midside Location

Info_OrientTria3ForceOutput

Defines raw orientation of Tria3 force output vector data 0 = First Edge 1 = Midside Location

Info_OrientTria6StressOutput

Defines raw orientation of Tria6 stress output vector data 0 = First Edge 1 = Midside Location

Info_OrientTria6StrainOutput

Defines raw orientation of Tria6 strain output vector data 0 = First Edge 1 = Midside Location

Info_OrientTria6ForceOutput

Defines raw orientation of Tria6 force output vector data 0 = First Edge 1 = Midside Location

Info_OrientQuad4StressOutput

Defines raw orientation of Quad4 stress output vector data 0 = First Edge 1 = Midside Location 2 = Diagonal Bisector

Global Real Properties

API-121

Global Integer Properties Property

Description

Info_OrientQuad4StrainOutput

Defines raw orientation of Quad4 strain output vector data 0 = First Edge 1 = Midside Location 2 = Diagonal Bisector

Info_OrientQuad4ForceOutput

Defines raw orientation of Quad4 force output vector data 0 = First Edge 1 = Midside Location 2 = Diagonal Bisector

Info_OrientQuad8StressOutput

Defines raw orientation of Quad8 stress output vector data 0 = First Edge 1 = Midside Location 2 = Diagonal Bisector

Info_OrientQuad8StrainOutput

Defines raw orientation of Quad8 strain output vector data 0 = First Edge 1 = Midside Location 2 = Diagonal Bisector

Info_OrientQuad8ForceOutput

Defines raw orientation of Quad8 force output vector data 0 = First Edge 1 = Midside Location 2 = Diagonal Bisector

3.3.3 Global Real Properties Global Real Properties Property

Description

Model Info Info_Version

The current database version. This may not equal the software version - for example, FEMAP v10.1.1 uses a v10.1 database. (read-only).

Info_WorkplaneOrigin[0..2] or VARIANT vInfo_WorkplaneOrigin

The coordinates of the origin of the workplane. Specified in global rectangular model coordinates.

API-122

Global Real Properties

Global Real Properties Property

Description

Info_WorkplaneX[0..2] or VARIANT vInfo_WorkplaneX Info_WorkplaneY[0..2] or VARIANT vInfo_WorkplaneY

The direction cosines of the workplane axes. Like the origin, these are specified in global rectangular model coordinates.

Info_WorkplaneZ[0..2] or VARIANT vInfo_WorkplaneZ Info_WorkplanePrevOrigin [0..2] or VARIANT vInfo_WorkplanePrevOrigin

The coordinates of the previous origin of the workplane. These are saved values of Info_WorkplaneOrigin, used by the Previous Workplane command.

Info_WorkplanePrevX[0..2] or VARIANT vInfo_WorkplanePrevX Info_WorkplanePrevY[0..2] or VARIANT vInfo_WorkplanePrevY

The direction cosines of the workplane axes. Like the origin, these are specified in global rectangular model coordinates.

Info_WorkplanePrevZ[0..2] or VARIANT vInfo_WorkplanePrevZ Info_SnapSpacing[0..1] or VARIANT vInfo_SnapSpacing Info_WorkplaneSizeX[0..1] or VARIANT vInfo_WorkplaneSizeX Info_WorkplaneSizeY[0..1] or VARIANT vInfo_WorkplaneSizeY Info_WorkplaneLabels

The snap grid spacing X and Y values.

The minimum and maximum dimensions of the workplane in the X and Y directions.

The length between labels on the workplane rulers.

Info_DefaultX Info_DefaultY Info_DefaultZ

The default values for the coordinate dialog box. Stored in global rectangular model coordinates.

Global Real Properties

API-123

Global Real Properties Property Info_LineLength

Description The default length used to create horizontal and vertical lines.

Info_ModelSizeX[0..1] or VARIANT vInfo_ModelSizeX Info_ModelSizeY[0..1] or VARIANT vInfo_ModelSizeY

The minimum and maximum coordinates of the current model in the corresponding global rectangular direction. These values are only valid if the “model box” has been computed and Info_ModelNeedBox is False (read_only).

Info_ModelSizeZ[0..1] or VARIANT vInfo_ModelSizeZ Info_MatlAngleVec[0..2] or VARIANT vInfo_MatlAngleVec

The vector to be used for definition of material angles for planar elements (only used if Info_MatlAngleMethod=Vector).

Info_MatlAngle

Sets the angle to be used for the definition of material angles for planar elements when InfoMatlAngleMethod=Angle.

Info_MeshSizeDefault

The default mesh size for geometry where mesh sizes have not been explicitly defined. From Mesh, Mesh Control, Default Size command.

Info_GeometryScale

Solid geometry scale factor. This is copied from Pref_GeometryScale when a model is started, and is used to make sure that solid geometry fits inside the limited coordinate space allowed by the solid modeling engines (read-only).

Info_FacetAngleTolerance Info_FacetChordTolerance

Factors used for Curve Facetting - found in Tools Parameters

Info_FacetCurveFactor Tools Tool_MergeTolerance

The default coincident location merge tolerance for the model. Only used if Tool_MergeToleranceAuto is False

API-124

Global Boolean Properties

3.3.4 Global Boolean Properties Global Boolean Properties Property

Description

File Preferences Pref_CompressBitmaps

Controls whether Windows Bitmaps will be compressed during Picture Save

Model Info Info_PermBC[0..5] or VARIANT vInfo_PermBC

The default permanent boundary conditions for node creation.

Info_WorkplaneModelAdjust

Automatically adjust the size of the workplane to the model size.

Info_WorkplaneSurfaceAdjust

Automatically adjust the size of the workplane to the size of any surface where it is located.

Info_WorkplaneRuler[0..1] or VARIANT vInfo_WorkplaneRuler

If True, draws the workplane X and Y rulers respectively.

Info_SnapFullPrecision

Controls whether coordinates or equations functions are loaded into the dialog boxes when a user picks coordinates.

Info_SnapCoordOnly

If True, the snap mode will only be used during coordinate picking.

Info_ModelNeedBox

If True the model box has been computed, otherwise the box coordinates are not valid.

Info_UpdateAllViews

The current setting of the View, All Views command.

Info_TranslateNotes

If True, the Notes translation text will be written during a model export.

Info_ViewShowErase

If True, the View, Show command will erase the window before showing entities.

Info_ViewShowUseColor

If True, View, Show will use the color specified by Info_ViewShowColor, otherwise entity colors will be used.

Tools Tool_CursorXYZ[0..2] or VARIANT vTool_CursorXYZ

If True, the corresponding coordinate direction will be picked whenever you select a coordinate with the mouse. Automatically updated with every pick.

Tool_CursorSingle

If True, each cursor pick selects and updates only a single coordinate value.

Global String Properties

API-125

Global Boolean Properties Property Tool_MergeToleranceAuto

Description If True, the merge tolerance is automatically calculated, if False, then Tool_MergeTolerance is used.

3.3.5 Global String Properties Global String Properties Property

Description

File Preferences Pref_NetKeyDir

Name/path of network license file (only used when FlexLM network licensing is in use).

Model and Session ModelName

The name of the current model file. This will be blank if the model has not yet been saved. (read_only)

ScratchName

The name of the working scratch file (OEM character set) (read_only).

FullScratchName

The full path to the working scratch file (ANSI character set) (read_only).

ExePath

The path to the FEMAP executable (without the filename) (read_only)

SerialNumber

The current FEMAP license serial number. (read_only)

Message Window List_FileName

The path to a file to use for listing when the File destination is chosen.

API-126

Global String Properties

3.3.6 Entity Types The following table list the values to be used for each of the entity types. These values are typically used as an index into one of the global arrays such as Info_MaxID, Info_ActiveID... Note: Some of the abbreviations for the entity types are very obvious, while others are not.

For more information about the entity types marked with a “*”, please see the explanations after the table.

Entity Type

Numeric Value

Entity Type

Numeric Value

FT_POINT

3

FT_LAYER

33

FT_CURVE

4

FT_FUNCTION_DIR

35

FT_SURFACE

5

FT_FUNCTION_TABLE

36

FT_VOLUME

6

FT_SOLID

39

FT_NODE

7

FT_COLOR

40

FT_ELEM

8

FT_OUT_CSYS

41

FT_CSYS

9

FT_DESIGN_OPT *

45

FT_MATL

10

FT_LOAD _DEFINITION

46

FT_PROP

11

FT_MODEL_NOTES *

54

FT_LOAD_DIR *

12

FT_CONTACT *

58

FT_SURF_LOAD *

13

FT_AMGR_DIR

60

FT_GEOM_LOAD *

14

FT_REFERENCE *

68

FT_NTHERM_LOAD *

15

FT_DATA_SURF

69

FT_ETHERM_LOAD *

16

FT_CONNECTION

71

FT_BC_DIR *

17

FT_CONNECTION_PROP

72

FT_BCO *

18

FT_BC_DEFINITION *

80

FT_BCO_GEOM *

19

FT_LAYUP

81

FT_BEQ *

20

FT_LAYUP_PLY

82

FT_TEXT

21

FT_LAYUP_GLOBALPLY

83

FT_VIEW

22

FT_BOLT_PRELOAD

84

FT_GROUP

24

FT_AERO_PANEL

95

FT_VAR *

27

FT_AERO_PROP

96

FT_OUT_CASE *

28

FT_AERO_SPLINE

98

Global String Properties

Entity Type

Numeric Value

Entity Type

API-127 Numeric Value

FT_OUT_DIR *

29

FT_AERO_SURF

99

FT_OUT_DATA *

30

FT_TMG_BCO

112

FT_REPORT *

31

FT_TMG_CONTROL

113

FT_BOUNDARY

32

FT_TMG_INTEGER

114

FT_TMG_REAL

115

FT_TMG_OPTION

116

*FT_LOAD_DIR = FEMAP Load Set FT_SURF_LOAD = Nodal or Elemental Nodes FT_NTHERM_LOAD = Nodal Temperatures FT_ETHERM_LOAD = Elemental Temperatures FT_BC_DIR = FEMAP Constraint Set FT_BCO = Nodal Constraint FT_BCO_GEOM = Constriant on geometic entity FT_BEQ = Constraint Equation FT_VAR = FEMAP Variable (“Tools, Varibales”...command in FEMAP) FT_OUT_CASE = FEMAP Output Set FT_OUT_DIR = Output Vector Header (includes Output Vector ID, Title, Type - Nodal or Elemental, Max and Min Values) FT_OUT_DATA = Output Vector Data (Data at each node or element) FT_REPORT = “List, Output” Format FT_DESIGN_OPT = Design Optimization FT_MODEL_NOTES = Notes saved in “File, Notes” FT_CONTACT = FEMAP Connector (contact pair) FT_REFERENCE = References saved in “File, References” FT_BC_DEFINITION = FEMAP Constraint Definition.

3.3.7 FEMAP Constants The following tables list the constants which can be used for each of the FEMAP Objects. These constants always begin with “F” then a two letter abbreviation of the particular FEMAP Object where they can be used, followed by what the constant represents. For Example, if you are looking for the Constant to use for a Ruled surface, then the constant would be FSU_RULED. In this case, SU represents “Surface” and RULED represents the type of surface to create.

API-128

Global String Properties

Analysis Types The following table lists constants to be used for Analysis Types. Constant Name

Constant Name

FAT_UNKNOWN

FAT_NONLINEAR_BUCKLING

FAT_STATIC

FAT_NONLINEAR_TRANSIENT

FAT_MODES

FAT_FATIGUE

FAT_TRANSIENT

FAT_DATA_RECOVERY

FAT_FREQUENCY_RESPONSE

FAT_CFD

FAT_RESPONSE_SPECTRUM

FAT_STEADY_STATE_HEAT

FAT_RANDOM

FAT_TRANSIENT_HEAT

FAT_LINEAR_BUCKLING

FAT_601_STATIC

FAT_DESIGN_OPTIMIZATION

FAT_601_TRANSIENT

FAT_EXPLICIT

FAT_701_EXPLICIT

FAT_NONLINEAR_STATIC

FAT_LSDYNA_IMPLICIT

FAT_AERO_STATIC

FAT_AERO_FLUTTER

Analysis Progams The following table lists constants to be used for Analysis Programs. Constant Name

Constant Name

FAP_UNKNOWN

FAP_CDA_SPRINT

FAP_FEMAP_GEN

FAP_CAEFEM

FAP_PAL

FAP_IDEAS

FAP_PAL2

FAP_ME_NASTRAN

FAP_MSC_NASTRAN

FAP_ADINA

FAP_ANSYS

FAP_GENESIS

FAP_STARDYNE

FAP_ODBC

FAP_COSMOS

FAP_CSA_NASTRAN

FAP_PATRAN

FAP_CFDESIGN

FAP_NEUTRAL

FAP_LS_DYNA

Global String Properties

Constant Name

API-129

Constant Name

FAP_ALGOR

FAP_MARC

FAP_PC_NASTRAN

FAP_SINDA

FAP_TABLE

FAP_NE_NASTRAN

FAP_UAI_NASTRAN

FAP_NCODE

FAP_COSMIC_NASTRAN

FAP_TMG

FAP_STAAD

FAP_FEMAP_STRUCTURAL

FAP_ABAQUS

FAP_VR_NASTRAN

FAP_WECAN

FAP_NX_NASTRAN

FAP_SAP

Analysis Manager Solvers The following table lists constants to be used for Analysis Manager Solvers. Constant Name

Constant Name

FAM_UNKNOWN

FAM_MARC

FAM_MSC_NASTRAN

FAM_NE_NASTRAN

FAM_ANSYS

FAM_FEMAP_STRUCTURAL

FAM_ABAQUS

FAM_NX_NASTRAN

Analysis Boundary Condition Set Types The following table lists constants to be used for AnalysisBoundary Condition Set Types. Constant Name

Constant Name

FABT_CONSTRAINTS

FABT_SUPORT1_DOF

FABT_CONSTRAINT_EQUATIONS

FABT_OMIT_DOF

FABT_LOADS

FABT_QSET_DOF

FABT_INITIAL_CONDITIONS

FABT_CSET_DOF

FABT_MASTER_DOF

FABT_BSET_DOF

FABT_SUPORT_DOF

FABT_BOLT_PRELOADS

API-130

Global String Properties

Analysis Output Requests The following table lists constants to be used for Analysis Output Requests. Constant Name

Constant Name

FABC_ND_APPLIED LOAD

FABC_EL_STRAIN

FABC_ND_REACTION_FORCE

FABC_EL_PLASTIC_STRAIN

FABC_ND_DISPLACEMENT

FABC_EL_STRAIN_ENERGY

FABC_ND_VELOCITY

FABC_EL_HEAT_FLUX

FABC_ND_ACCELERATION

FABC_EL_ENTHALPY

FABC_ND_TEMPERATURE

FABC_EL_ENTHALPY_RATE

FABC_ND_HEAT_FLUX

FABC_EL_CONTACT

FABC_ND_MPC_FORCES

FABC_EL_TEMPERATURE

FABC_ND_FORCE_BALANCE

FABC_EL_KINETIC_ENERGY

FABC_ND_KINETIC_ENERGY

FABC_EL_ENERGY_LOSS

FABC_EL_FORCE

FABC_EL_FLUID PRESSURE

FABC_EL_STRESS

Point Types The following table lists constants to be used for Point Types. Constant Name

FPT_DEFAULT

Constant Name

FPT_SOLID

Curve Types The following table lists constants to be used for Curve Types. Constant Name

Constant Name

FCU_LINE

FCU_BSPLINE

FCU_ARC

FCU_SOLID

FCU_CIRCLE

FCU_COMPOSITE

FCU_SPLINE

Global String Properties

Curve Orinet Methods The following table lists constants to be used for Curve Orient methods. Constant Name

Constant Name

FCR_BY_VECTOR

FCR_BY_VECTOR_REV

FCR_BY_LOCATION

FCR_BY_LOCATION_REV

Curve Offest Methods The following table lists constants to be used for Curve Offset methods. Constant Name

FCO_BY_VECTOR

Constant Name

FCO_POINT

FCO_RADIAL

Combined Curve Methods The following table lists constants to be used for Combined Curve methods. Constant Name

Constant Name

FCC_BOTH

FCC_OFF FCC_ON

Surface Types The following table lists constants to be used for Surface Types. Constant Name

Constant Name

FSU_BILINEAR

FSU_BEZIER

FSU_RULED

FSU_SOLID

FSU_REVOLUTION

FSU_BSPLINE

FSU_COONS

FSU_BOUNDARY

Surface - Mesh Approaches The following table lists constants to be used for Surface Mesh Apporaches. Constant Name

Constant Name

FMAP_NONE

FMAP_MAP_4CORNER

FMAP_FREE_PARAMETRIC

FMAP_MAP_3CORNER

API-131

API-132

Global String Properties

Constant Name

Constant Name

FMAP_FREE_PLANAR

FMAP_MAP_3CORNERFAN

FMAP_TRI_PARAMETRIC

FMAP_MAP_LINKED

FMAP_TRI_PLANAR

Surface - Mesh Offset Attribute The following table lists constants to be used for Surface Mesh Offset Attribute. Constant Name

FMOF_CENTERLINE

Constant Name

FMOF_BOTTOM

FMOF_TOP

Surface - Triangle Mesher Attribute The following table lists constants to be used for Surface Mesh “Triangle Mesher” Attribute. Constant Name

Constant Name

FMSH_AUTO

FMSH_FASTTRI

FMSH_SUBDIVISION

FMSH_3DTRI

Volume Types The following table lists constants to be used for Volume Types. Constant Name

Constant Name

FVO_BRICK

FVO_PYRAMID

FVO_WEDGE

FVO_TETRA

Node Types The following table lists constants to be used for Node Types. Constant Name

Constant Name

FND_NODE

FND_EPOINT

FND_SPOINT

FND_FLPOINT

Global String Properties

Material Types The following table lists constants to be used for Material Types. Constant Name

Constant Name

FMT_ISOTROPIC

FMT_ANISOTROPIC_3D

FMT_ORTHOTROPIC_2D

FMT_HYPERELASTIC

FMT_ORTHOTROPIC_3D

FMT_GENERAL

FMT_ANISOTROPIC_2D

FMT_FLUID

Element Topology Types The following table lists constants to be used for Element Topology Types. Constant Name

Constant Name

FTO_LINE2

FTO_POINT1

FTO_LINE3

FTO_TETRA10

FTO_TRIA3

FTO_WEDGE15

FTO_TRIA6

FTO_BRICK20

FTO_QUAD4

FTO_RIGIDLIST

FTO_QUAD8

FTO_PYRAMID5

FTO_TETRA4

FTO_MULTILIST2

FTO_WEDGE6

FTO_CONTACT2

FTO_BRICK8

FTO_WELD2

FTO_RIGIDLIST2

Element Types The following table lists constants to be used for Element Types. Constant Name

Constant Name

FET_NONE

FET_P_PLANE_STRAIN

FET_L_ROD

FET_L_LAMINATE_PLATE

FET_L_BAR

FET_P_LAMINATE_PLATE

FET_L_TUBE

FET_L_AXISYM

FET_L_LINK

FET_P_AXISYM

API-133

API-134

Global String Properties

Constant Name

Constant Name

FET_L_BEAM

FET_L_SOLID

FET_L_SPRING

FET_P_SOLID

FET_L_DOF_SPRING

FET_L_MASS

FET_L_CURVED_BEAM

FET_L_MASS_MATRIX

FET_L_GAP

FET_L_RIGID

FET_L_PLOT

FET_L_STIFF_MATRIX

FET_L_SHEAR

FET_L_CURVED_TUBE

FET_P_SHEAR

FET_L_PLOT_PLATE

FET_L_MEMBRANE

FET_L_SLIDE_LINE

FET_P_MEMBRANE

FET_L_CONTACT

FET_L_BENDING

FET_L_AXISYM_SHELL

FET_P_BENDING

FET_P_AXISYM_SHELL

FET_L_PLATE

FET_P_BEAM

FET_P_PLATE

FET_L_WELD

FET_L_PLANE_STRAIN

Beam Section Calculator Orientation The following table lists constants used to set the orientation for the beam section calculator. Constant Name

Constant Name

FSOR_RIGHT

FSOR_LEFT

FSOR_UP

FSOR_DOWN

Beam Section Calculator Shape The following table lists constants to be used to set the shape for the beam section calculator. Constant Name

Constant Name

FSHP_RECT_BAR

FSHP_NAS_I

FSHP_RECT_TUBE

FSHP_NAS_CHAN

FSHP_TRAP_BAR

FSHP_NAS_T

FSHP_TRAP_TUBE

FSHP_NAS_BOX

Global String Properties

Constant Name

API-135

Constant Name

FSHP_CIRC_BAR

FSHP_NAS_BAR

FSHP_CIRC_TUBE

FSHP_NAS_CROSS

FSHP_HEX_BAR

FSHP_NAS_H

FSHP_HEX_TUBE

FSHP_NAS_T1

FSHP_I

FSHP_NAS_I1

FSHP_C

FSHP_NAS_CHAN1

FSHP_L

FSHP_NAS_Z

FSHP_T

FSHP_NAS_CHAN2

FSHP_Z

FSHP_NAS_T2

FSHP_HAT

FSHP_NAS_BOX1

FSHP_NAS_ROD

FSHP_NAS_HEXA

FSHP_NAS_TUBE

FSHP_NAS_HAT

FSHP_NAS_L

FSHP_NAS_HAT1

Beam Section Evaluation Method The following table lists constants used to set the beam section calculator evaluation method. Constant Name

Constant Name

FSEV_AUTO

FSEV_ALT

FSEV_ORIG

FSEV_PBEAML

Coordinate System Types The following table lists constants to be used for Coordinate System Types. Constant Name

FCS_RECTANGULAR FCS_CYLINRICAL

Constant Name

FCS_SPHERICAL

API-136

Global String Properties

Connection Region Types The following table lists constants to be used for Connection Region Types. Constant Name

Constant Name

FRT_CONNECTION

FRT_BOLT

FRT_FLUID

FRT_ROTOR

Connection Property Types The following table lists constants to be used for Connection Property Types. Constant Name

FCPT_CONTACT

Constant Name

FCPT_GLUED

Geometric Boundary Condition Types The following table lists constants to be used for Geometric Boundary Condition Types. Constant Name

Constant Name

FBG_DOF

FBG_SURFNONSLIDING

FBG_GENERAL

FBG_SURFDIRSLIDING

FBG_SURFSLIDING

FBG_CYLINDER

Load Direction Methods The following table lists constants to be used for Load Direction Methods. Constant Name

Constant Name

FLD_NONE

FLD_NORMALTOPLANE

FLD_VECTOR

FLD_NORMALTOSURFACE

FLD_ALONGCURVE

Load Variation Methods The following table lists constants to be used for Load Variation Methods. Constant Name

Constant Name

FLV_NONE

FLV_FUNCTION

FLV_EQUATION

FLV_INTERPOLATION

FLV_DATASURFACE

Global String Properties

API-137

Load Types The following table lists constants to be used for Nodal Load Types except for FLT_NBODY which represents a Body Load. Constant Name

Constant Name

FLT_NBODY

FLT_NTRANSIENT

FLT_NFORCE

FLT_NPRESSURE

FLT_NMOMENT

FLT_NTOTALPRESSURE

FLT_NDISPLACEMENT

FLT_NSCALAR

FLT_NROTDISPLACEMENT

FLT_NSTEAMQUALITY

FLT_NVELOCITY

FLT_NHUMIDITY

FLT_NROTVELOCITY

FLT_NFLUIDHEIGHT

FLT_NACCELERATION

FLT_NUNKNOWNCONDITION

FLT_NROTACCELERATION

FLT_NSLIPCONDITION

FLT_NTEMPERATURE

FLT_NFANCURVE

FLT_NHEATFLUX

FLT_NPERIODIC

FLT_NHEATGEN The following table lists constants to be used for Elemental Load Types. Constant Name

Constant Name

FLT_ELINELOAD

FLT_ECONVECTION

FLT_EPRESSURE

FLT_ERADIATION

FLT_ETEMPERATURE

FLT_EHEATGEN

FLT_EHEATFLUX

FLT_EBOLTPRELOAD

The following table lists constants to be used for Loads Types on Geometric Points which are expanded to nodes. Constant Name

Constant Name

FLT_PNFORCE

FLT_PNPRESSURE

FLT_PNMOMENT

FLT_PNTOTALPRESSURE

FLT_PNDISPLACEMENT

FLT_PNSCALAR

FLT_PNROTDISPLACEMENT

FLT_PNSTEAMQUALITY

API-138

Global String Properties

Constant Name

Constant Name

FLT_PNVELOCITY

FLT_PNHUMIDITY

FLT_PNROTVELOCITY

FLT_PNFLUIDHEIGHT

FLT_PNACCELERATION

FLT_PNUNKNOWNCONDITION

FLT_PNROTACCELERATION

FLT_PNSLIPCONDITION

FLT_PNTEMPERATURE

FLT_PNFANCURVE

FLT_PNHEATFLUX

FLT_PNPERIODICFLT_NPRESSURE

FLT_PNHEATGEN The following table lists constants to be used for Loads Types on Geometric Curves which are expanded to nodes. Constant Name

Constant Name

FLT_CNFORCE

FLT_CNHEATFLUXPERLEN

FLT_CNFORCEPERLEN

FLT_CNHEATFLUXATNODE

FLT_CNFORCEATNODE

FLT_CNHEATGEN

FLT_CNMOMENT

FLT_CNPRESSURE

FLT_CNMOMENTPERLEN

FLT_CNTOTALPRESSURE

FLT_CNMOMENTATNODE

FLT_CNSCALAR

FLT_CNDISPLACEMENT

FLT_CNSTEAMQUALITY

FLT_CNROTDISPLACEMENT

FLT_CNHUMIDITY

FLT_CNVELOCITY

FLT_CNFLUIDHEIGHT

FLT_CNROTVELOCITY

FLT_CNUNKNOWNCONDITION

FLT_CNACCELERATION

FLT_CNSLIPCONDITION

FLT_CNROTACCELERATION

FLT_CNFANCURVE

FLT_CNTEMPERATURE

FLT_CNPERIODIC

FLT_CNHEATFLUX

Global String Properties

API-139

The following table lists constants to be used for Loads Types on Geometric Curves which are expanded to elements. Constant Name

Constant Name

FLT_CEPRESSURE

FLT_CECONVECTION

FLT_CETEMPERATURE

FLT_CERADIATION

FLT_CEHEATFLUX

FLT_CEHEATGEN

The following table lists constants to be used for Loads Types on Geometric Surfaces which are expanded to nodes. Constant Name

Constant Name

FLT_SNFORCE

FLT_SNHEATFLUXPERAREA

FLT_SNFORCEPERAREA

FLT_SNHEATFLUXATNODE

FLT_SNFORCEATNODE

FLT_SNHEATGEN

FLT_SNMOMENT

FLT_SNPRESSURE

FLT_SNMOMENTPERAREA

FLT_SNTOTALPRESSURE

FLT_SNMOMENTATNODE

FLT_SNSCALAR

FLT_SNDISPLACEMENT

FLT_SNSTEAMQUALITY

FLT_SNROTDISPLACEMENT

FLT_SNHUMIDITY

FLT_SNVELOCITY

FLT_SNFLUIDHEIGHT

FLT_SNROTVELOCITY

FLT_SNUNKNOWNCONDITION

FLT_SNACCELERATION

FLT_SNSLIPCONDITION

FLT_SNROTACCELERATION

FLT_SNFANCURVE

FLT_SNTEMPERATURE

FLT_SNPERIODIC

FLT_SNHEATFLUX

FLT_SNTORQUE

The following table lists constants to be used for Loads Types on Geometric Surfaces which are expanded to elements. Constant Name

Constant Name

FLT_SEPRESSURE

FLT_SECONVECTION

FLT_SETEMPERATURE

FLT_SERADIATION

API-140

Global String Properties

Constant Name

FLT_SEHEATFLUX

Constant Name

FLT_SEHEATGEN

Load Selection Types The following table lists constants to be used when selecting particular load types to perform an operation on them, such as deleting loads. Constant Name

Constant Name

FLS_ANY

FLS_NTEMP

FLS_BODY

FLS_ETEMP

FLS_NONLINEAR

FLS_ECONVECTION

FLS_NHTGEN

FLS_ERADIATION

FLS_NHTFLUX

FLS_NTRANSIENT

FLS_FORCE

FLS_FLPRESSURE

FLS_DISP

FLS_FLTRACKING

FLS_ACCEL

FLS_FLUNKNOWN

FLS_LINELOAD

FLS_FLSLIP

FLS_VELOCITY

FLS_FLFAN

FLS_PRESS

FLS_FLPERIODIC

FLS_EHTGEN

FLS_NONE

FLS_EHTFLUX

Function Types The following table lists constants to be used for Function Types. Constant Name

Constant Name

FTB_NONE

FTB_CURVEPARAM

FTB_TIME

FTB_STRAINSTRESS

FTB_TEMP

FTB_PLASTICSTRAIN

FTB_FREQ

FTB_FUNCVAL

FTB_STRESSSTRAIN

FTB_DAMPFUNC

FTB_FUNCTEMP

FTB_ANGLEINCIDENCE

Global String Properties

Constant Name

API-141

Constant Name

FTB_GDAMP

FTB_DIRECTIONINCIDENCE

FTB_CRITDAMP

FTB_TBLM1LINLIN

FTB_QDAMP

FTB_TBLM1LOGLIN

FTB_STRAINRATE

FTB_TBLM1LINLOG

FTB_FUNCSTRAINRATE

FTB_TBLM1LOGLOG

FTB_CURVELENGTH

FTB_MODE

FTB_VELFREQ

FTB_DISPFREQ

FTB_ANGVELFREQ

FTB_ROTFREQ

FTB_ACCFREQ

FTB_ANGACCFREQ

FTB_FORCEFREQ

FTB_MOMENTFREQ

FTB_STRESSFREQ

FTB_STRAINFREQ

FTB_MACHFREQ

FTB_AEROFACTOR

MapOutput Constants The following table lists constants to be used for “LoadType” that can be mapped from output using MapFromModelToSet method Constant Name

Constant Name

FMLT_NTEMPERATURE

FMLT_NACCELERATION

FMLT_NFORCE

FMLT_NROTACCELERATION

FMLT_NMOMENT

FMLT_ETEMPERATURE

FMLT_NDISPLACEMENT

FMLT_EHEATFLUX

FMLT_NROTDISPLACEMENT

FMLT_EHEATGEN

FMLT_NVELOCITY

FMLT_EPRESSURE

FMLT_NROTVELOCITY The following table lists constants to be used for “MapOption” that can be used to specify algorithm to map output to loads where meshes do not coincide.

API-142

Global String Properties

These constants are used for the MapFromModelToSet method. Constant Name

Constant Name

FMO_ZERO

FMO_INTERP

FMO_VALUE

FMO_NONE

FMO_EXTEND The following table lists constants to be used for “MapToType” that can be used to specify target mapping type. FMP_STANDARD is used if source output is from same entity type (Node or Element) as the desired target load. These constants are used for MapFromModelToSet method. Constant Name

FMP_STANDARD

Constant Name

FMP_ELEMENT

FMP_NODE

Data Surface Constants The following table lists constants to be used for Data Surface Cell Types Constant Name

Constant Name

FDT_VALUE_X

FDT_PAGEVALUE

FDT_VALUE_Y

FDT_BASECOLUMNTITLE

FDT_VALUE_Z

FDT_COLUMNTITLE

FDT_ROWVALUE

FDT_PAGETITLE

FDT_COLUMNVALUE

FDT_PAGESIZE

The following table lists constants to be used for Data Surface Dimension Constant Name

FDM_1D

Constant Name

FDM_3D

FDM_2D

Data Table Constants The Data Table is used to create tables of data extracted from Model(s) currently open in FEMAP which are presented in a “spread sheet” format.

Global String Properties

API-143

The following table lists constants to be used for the Data Table Column Type. Constant Name

Constant Name

FCT_BOOL

FCT_DOUBLE

FCT_INT

FCT_STRING

The following table lists constants to be used for the Data Table Alignment. Constant Name

Constant Name

FAL_RIGHT

FAL_LEFT FAL_CENTER

The following table lists constants to be used for the Data Table Save to a File Format Constant Name

FSF_TEXT

Constant Name

FSF_RTF

FSF_CSV

Optimization Constants The following table lists constants to be used for Optimization Methods. Constant Name

Constant Name

FOP_NONE

FOP_VARY

FOP_GOAL

FOP_LIMIT

The following table lists constants to be used for Optimization Goal Method. Constant Name

FOG_NONE

Constant Name

FOG_MINWEIGHT

The following table lists constants to be used for Optimization Vary Method. Constant Name

Constant Name

FOV_NONE

FOV_BARI1

FOV_RODAREA

FOV_BARI2

FOV_RODTORSION

FOV_BARTORSION

FOV_BARAREA

FOV_PLATETHICKNESS

API-144

Global String Properties

The following table lists constants to be used for Optimization Limit Method. Constant Name

Constant Name

FOL_NONE

FOL_BARMAXSTRAIN

FOL_NODXDISP

FOL_BARMINSTRAIN

FOL_NODYDISP

FOL_PLTXNORMALSTRESS

FOL_NODZDISP

FOL_PLTYNORMALSTRESS

FOL_NODXRDISP

FOL_PLTXYSHEARSTRESS

FOL_NODYRDISP

FOL_PLTMAXPRINSTRESS

FOL_NODZRDISP

FOL_PLTMINPRINSTRESS

FOL_RODAXIALSTRESS

FOL_PLTVONMISESSTRESS

FOL_RODTORSIONSTRESS

FOL_PLTXNORMALSTRAIN

FOL_RODAXIALSTRAIN

FOL_PLTYNORMALSTRAIN

FOL_RODTORSIONSTRAIN

FOL_PLTXYSHEARSTRAIN

FOL_BARAXIALSTRESS

FOL_PLTMAXPRINSTRAIN

FOL_BARMAXSTRESS

FOL_PLTMINPRINSTRAIN

FOL_BARMINSTRESS

FOL_PLTVONMISESSTRAIN

FOL_BARAXIALSTRAIN

Output Types The following table lists constants to be used for Output Types. Constant Name

Constant Name

FOT_ANY

FOT_STRESS

FOT_DISP

FOT_STRAIN

FOT_ACCEL

FOT_TEMP

FOT_FORCE

Global String Properties

API-145

Output - Complex Types The following table lists constants to be used for Complex Output Types. Constant Name

Constant Name

FOC_ANY

FOC_REAL

FOC_MAGNITUDE

FOC_IMAGINARY

FOC_PHASE

Output - Transformation Types The following table lists constants to be used for Output Transformation Types. Constant Name

Constant Name

FOD_NONE

FOD_PLATE_TO_CSYS

FOD_VECTOR_TO_CSYS

FOD_PLATE_TO_VECTOR

FOD_VECTOR_TO_NODE_OUTPUT_CSYS

FOD_SOLID_TO_CSYS

FOD_PLATE_TO_MATL

FOD_SOLID_TO_MATL

View Modes The following table lists constants to be used for View Modes. Constant Name

Constant Name

FVM_DRAW

FVM_XY_VS_ID

FVM_FEATURE

FVM_XY_VS_CASE

FVM_SORT

FVM_XY_VS_VALUE

FVM_HIDE

FVM_XY_VS_POSITION

FVM_FREE

FVM_XY_OF_FUNCTION

FVM_FREE_FACE

View Options A list of the View Options constants for use with Draw, Label, Color, and ColorMode can be found in Section 5.56.1.2, "View Option Types" with Text in View Options and Index number.

API-146

Global String Properties

Deformed Formats The following table lists constants to be used for Deformed Formats . Constant Name

Constant Name

FDF_NONE

FDF_ANIMATE_MULTICASE

FDF_MODEL_UNDEF

FDF_ARROW

FDF_DEFORMED

FDF_TRACE

FDF_ANIMATE

FDF_STREAMLINE

Contour Formats The following table lists constants to be used for Contour Formats . Constant Name

Constant Name

FCF_NONE

FCF_BEAM_DIAGRAM

FCF_MODEL_COLOR

FCF_ISOSURFACE

FCF_CONTOUR

FCF_SECTION_CUT

FCF_CRITERIA

FCF_CONTOUR_VECTOR

Group Data Types The following table lists constants to be used when selecting DataTypes for Groups. Constant Name

Constant Name

FGR_CSYS

FGR_BEQ

FGR_POINT

FGR_PLOAD

FGR_CURVE

FGR_CLOAD

FGR_SURFACE

FGR_SLOAD

FGR_VOLUME

FGR_PBCO

FGR_TEXT

FGR_CBCO

FGR_NODE

FGR_SBCO

FGR_ELEM

FGR_SOLID

FGR_MATL

FGR_CONTACT

FGR_PROP

FGR_CONNECTIONPROP

Global String Properties

Constant Name

Constant Name

FGR_NLOAD

FGR_CONNECTION

FGR_ELOAD

FGR_LAYUP

FGR_BCO

FGR_REGLOAD

Group Definition Types The following table lists constants to be used for adding Text to Groups Constant Name

FGD_TEXT_ID

Constant Name

FGD_TEXT_BYLAYER

FGD_TEXT_BYCOLOR The following table lists constants to be used for adding Points to Groups Constant Name

Constant Name

FGD_POINT_ID

FGD_POINT_BYCOLOR

FGD_POINT_BYDEFCSYS

FGD_POINT_BYLAYER

FGD_POINT_ONCURVE

FGD_POINT_BYPROP

The following table lists constants to be used for adding Curves to Groups Constant Name

Constant Name

FGD_CURVE_ID

FGD_CURVE_BYLAYER

FGD_CURVE_BYPOINT

FGD_CURVE_BYPROP

FGD_CURVE_ONSURFACE

FGD_CURVE_ONSOLID

FGD_CURVE_BYCOLOR The following table lists constants to be used for adding Surfaces to Groups Constant Name

Constant Name

FGD_SURFACE_ID

FGD_SURFACE_BYLAYER

FGD_SURFACE_BYCURVE

FGD_SURFACE_BYPROP

FGD_SURFACE_ONVOLUME

FGD_SURFACE_ONSOLID

FGD_SURFACE_BYCOLOR

API-147

API-148

Global String Properties

The following table lists constants to be used for adding Volumes to Groups Constant Name

Constant Name

FGD_VOLUME_ID

FGD_VOLUME_BYLAYER

FGD_VOLUME_BYSURFACE

FGD_VOLUME_BYPROP

FGD_VOLUME_BYCOLOR The following table lists constants to be used for adding Solids to Groups Constant Name

Constant Name

FGD_SOLID_ID

FGD_SOLID_BYCOLOR

FGD_SOLID_BYCURVE

FGD_SOLID_BYLAYER

FGD_SOLID_BYSURFACE

FGD_SOLID_BYPROP

The following table lists constants to be used for adding Connection Properties to Groups Constant Name

Constant Name

FGD_CONNECTIONPROP_ID

FGD_CONNECTIONPROP_BYCOLOR

FGD_CONNECTIONPROP_BYCOLOR

FGD_CONNECTIONPROP_ONCONNE CTION

The following table lists constants to be used for adding Regions to Groups Constant Name

Constant Name

FGD_CONNECTION_ID

FGD_CONNECTION_BYPROP

FGD_CONNECTION_BYCOLOR

FGD_CONNECTION_BYCONTACT

FGD_CONNECTION_BYLAYER The following table lists constants to be used for adding Connectors (contact pairs) to Groups. Constant Name

Constant Name

FGD_CONTACT_ID

FGD_CONTACT_BYNODE

FGD_CONTACT_BYCOLOR

FGD_CONTACT_BYCURVE

FGD_CONTACT_BYLAYER

FGD_CONTACT_BYSURFACE

FGD_CONTACT_ONCONNECTION

FGD_CONTACT_BYPROP

FGD_CONTACT_BYELEM

Global String Properties

API-149

The following table lists constants to be used for adding Coordinate Systems to Groups Constant Name

Constant Name

FGD_CSYS_IDF

FGD_CSYS_ONNODE

FGD_CSYS_BYDEFCSYS

FGD_CSYS_ONPOINT

FGD_CSYS_BYTYPE

FGD_CSYS_ONCSYS

FGD_CSYS_BYCOLOR

FGD_CSYS_ONPROP

FGD_CSYS_BYLAYER The following table lists constants to be used for adding Nodes to Groups. Constant Name

Constant Name

FGD_NODE_ID

FGD_NODE_ATSURFACE

FGD_NODE_BYDEFCSYS

FGD_NODE_ATSOLID

FGD_NODE_BYOUTCSYS

FGD_NODE_BYCOLOR

FGD_NODE_ONELEM

FGD_NODE_BYLAYER

FGD_NODE_ATPOINT

FGD_NODE_ONELEMASORIENT

FGD_NODE_ATCURVE

FGD_NODE_BYSUPERELEMENT

The following table lists constants to be used for adding Elements to Groups. Constant Name

Constant Name

FGD_ELEM_ID

FGD_ELEM_ATSOLID

FGD_ELEM_BYMATL

FGD_ELEM_BYCOLOR

FGD_ELEM_BYPROP

FGD_ELEM_BYLAYER

FGD_ELEM_BYTYPE

FGD_ELEM_BYSHAPE

FGD_ELEM_BYNODE

FGD_ELEM_BYLAYUP

FGD_ELEM_ATPOINT

FGD_ELEM_BYALLNODES

FGD_ELEM_ATCURVE

FGD_ELEM_BYGLOBALPLY

FGD_ELEM_ATSURFACE The following table lists constants to be used for adding Materials to Groups. Constant Name

FGD_MATL_ID

Constant Name

FGD_MATL_BYTYPE

API-150

Global String Properties

Constant Name

Constant Name

FGD_MATL_ONPROP

FGD_MATL_BYCOLOR

FGD_MATL_ONELEM

FGD_MATL_BYLAYER

The following table lists constants to be used for adding Properties to Groups. Constant Name

Constant Name

FGD_PROP_ID

FGD_PROP_BYCOLOR

FGD_PROP_ONELEM

FGD_PROP_BYLAYER

FGD_PROP_BYMATL

FGD_PROP_BYLAYUP

FGD_PROP_BYTYPE The following table lists constants to be used for adding Layups to Groups Constant Name

Constant Name

FGD_LAYUP_ID

FGD_LAYUP_ONPROP

FGD_LAYUP_BYMATL

FGD_LAYUP_BYGLOBALPLY

The following table lists constants to be used for adding Loads to Groups. Constant Name

Constant Name

FGD_LOAD_BYNODE

FGD_LOAD_BYCURVE

FGD_LOAD_BYELEM

FGD_LOAD_BYSURFACE

FGD_LOAD_BYPOINT

FGD_LOAD_BYREGION

The following table lists constants to be used for adding Boundary Conditions to Groups. Constant Name

Constant Name

FGD_BCO_ID

FGD_BCO_BYCURVE

FGD_BEQ_BYNODE

FGD_BCO_BYSURFACE

FGD_BCO_BYPOINT The following table lists constants to be used for adding Aero Entities to Femap Sets Although Aero entities are not currently supported in Femap groups the group rules can be used for adding Aero entities to Femap Set Objects. Constant Name

Constant Name

FGD_AEROPROP_ID

FGD_AEROSPLINE_BYCOLOR

FGD_AEROPROP_BYCOLOR

FGD_AEROSPLINE_BYLAYER

Global String Properties

Constant Name

API-151

Constant Name

FGD_AEROPROP_BYLAYER

FGD_AEROSPLINE_BYPANEL

FGD_AEROPANEL_ID

FGD_AEROCTRLSURF_ID

FGD_AEROPANEL_BYCOLOR

FGD_AEROCTRLSURF_BYCOL OR

FGD_AEROPANEL_BYLAYER

FGD_AEROCTRLSURF_BYLAY ER

FGD_AEROSPLINE_ID

Print Source Options The following table lists constants to be used for Print Source Options. Constant Name

Constant Name

FPS_VIEW

FPS_MESSAGES

FPS_DESKTOP

FPS_PROGRAMFILE

FPS_FILE

FPS_ENTITYINFO

FPS_LAYOUT

FPS_APIPROGRAM

Return Codes The following table lists constants to be used for Return Codes. These can be helpful when testing and debugging a program created with the FEMAP API. Constant Name

Constant Name

FE_OK

FE_TOO_SMALL

FE_FAIL

FE_BAD_TYPE

FE_CANCEL

FE_BAD_DATA

FE_INVALID

FE_NO_MEMORY

FE_NOT_EXIST

FE_NEGATIVE_MASS_VOLUME

FE_SECURITY

FE_NO_FILENAME

FE_NOT_AVAILABLE

API-152

Global String Properties

FEMAP Events The following table lists constants to be used for FEMAP Events. Constant Name

Constant Name

FEVENT_INITIALIZE

FEVENT_PROGEND

FEVENT_NEWMODEL

FEVENT_DRAWSTART

FEVENT_ENDMODEL

FEVENT_DRAWEND

FEVENT_SHUTDOWN

FEVENT_ANALYSISEND

FEVENT_COMMAND

FEVENT_RESULTSEND

FEVENT_PROGSTART

FEVENT_SWITCHMODEL

FEMAP Colors The following table lists constants to be used for Colors located in the First Row of the FEMAP color palette..Color Number in Parentheses. Constant Name

Constant Name

FCL_BLACK (0)

FCL_DARKGOLDENROD (13)

FCL_SEPIA (1)

FCL_ORANGE (14)

FCL_DARKRED (2)

FCL_LIMEGREEN (15)

FCL_MAROON (3)

FCL_YELLOWLIMEGREEN (16)

FCL_RED (4)

FCL_AVOCADO (17)

FCL_DARKESTGREEN (5)

FCL_OLIVEYELLOW (18)

FCL_DARKOLIVEGREEN (6)

FCL_GOLD (19)

FCL_BROWN (7)

FCL_LIME (20)

FCL_SIENNA (8)

FCL_BRIGHTLIME (21)

FCL_ORANGERED (9)

FCL_CHARTREUSE (22)

FCL_GREEN (10)

FCL_BRIGHTCHARTREUSE (23)

FCL_FERNGREEN (11)

FCL_YELLOW (24)

FCL_OLIVE (12)

Global String Properties

API-153

The following table lists constants to be used for Colors located in the Second Row of the FEMAP color palette.. Constant Name

Constant Name

FCL_MIDNIGHTBLUE (25)

FCL_PERU (38)

FCL_EGGPLANT (26)

FCL_CORAL (39)

FCL_DARKRASPBERRY (27)

FCL_DARKPASTELGREEN (40)

FCL_RASPBERRY (28)

FCL_PALELIMEGREEN (41)

FCL_CRIMSON (29)

FCL_YELLOWGREEN (42)

FCL_DARKSLATEGRAY (30)

FCL_OLDGOLD (43)

FCL_DARKGRAY (31)

FCL_GOLDENROD (44)

FCL_CAMOUFLAGEGREEN (32)

FCL_BLUELIME (45)

FCL_FIREBRICK (33)

FCL_PALELIME (46)

FCL_TOMATO (34)

FCL_PALEBRIGHTGREEN (47)

FCL_PINEGREEN (35)

FCL_GREENYELLOW (48)

FCL_FORESTGREEN (36)

FCL_NOTEYELLOW (49)

FCL_PALEOLIVE (37) The following table lists constants to be used for Colors located in the Third Row of the FEMAP color palette.. Constant Name

Constant Name

FCL_DARKBLUE (50)

FCL_ROSYBROWN (63)

FCL_INDIGO (51)

FCL_LIGHTSALMON (64)

FCL_PURPLE (52)

FCL_JADE (65)

FCL_MEDIUMVIOLETRED (53)

FCL_SEAGREEN (66)

FCL_DEEPPINK (54)

FCL_DARKSEAGREEN (67)

FCL_DARKCERULEAN (55)

FCL_DARKKHAKI (68)

FCL_DARKSLATEBLUE (56)

FCL_SANDYBROWN (69)

FCL_PALEPURPLE (57)

FCL_SPRINGGREEN (70)

FCL_MAUVE (58)

FCL_LIGHTSPRINGGREEN (71)

API-154

Global String Properties

Constant Name

Constant Name

FCL_CERISE (59)

FCL_LIGHTGREEN (72)

FCL_DARKCYAN (60)

FCL_TEAGREEN (73)

FCL_VIRIDIAN (61)

FCL_PALEYELLOW (74)

FCL_GRAY (62) The following table lists constants to be used for Colors located in the Fourth Row of the FEMAP color palette.. Constant Name

Constant Name

FCL_MEDIUMBLUE (75)

FCL_PLUM (88)

FCL_BLUEINDIGO (76)

FCL_REDPINK (89)

FCL_DARKVIOLET (77)

FCL_DARKTURQUOISE (90)

FCL_VIOLETEGGPLANT (78)

FCL_MEDIUMTURQUOISE (91)

FCL_FUCHSIA (79)

FCL_MEDIUMAQUAMARINE (92)

FCL_COBALT (80)

FCL_SILVER (93)

FCL_PALEBLUEPURPLE (81)

FCL_PALEREDVIOLET (94)

FCL_MEDIUMPURPLE (82)

FCL_MEDIUMSPRINGGREEN (95)

FCL_ORCHID (83)

FCL_TURQUOISE (96)

FCL_PINKCERISE (84)

FCL_AQUAMARINE (97)

FCL_CERULEAN (85)

FCL_MINTCREAM (98)

FCL_STEELBLUE (86)

FCL_LEMONCHIFFON (99)

FCL_SLATEBLUE (87) The following table lists constants to be used for Colors located in the Fifth Row of the FEMAP color palette.. Constant Name

Constant Name

FCL_BLUE (100)

FCL_WISTERIA (113)

FCL_PERSIANBLUE (101)

FCL_PINK (114)

FCL_VIOLET (102)

FCL_DEEPSKYBLUE (115)

Global String Properties

Constant Name

API-155

Constant Name

FCL_BRIGHTVIOLET (103)

FCL_SKYBLUE (116)

FCL_MAGENTA (104)

FCL_PALESKYBLUE (117)

FCL_BRIGHTCOBALT (105)

FCL_THISTLE (118)

FCL_PALECOBALT (106)

FCL_PALEPINK (119)

FCL_BLUEVIOLET (107)

FCL_CYAN (120)

FCL_MEDIUMORCHID (108)

FCL_BRIGHTTURQUOISE (121)

FCL_HOTPINK (109)

FCL_PALEBLUE (122)

FCL_DODGERBLUE (110)

FCL_POWDERBLUE (123)

FCL_ROYALBLUE (111)

FCL_WHITE (124)

FCL_MEDIUMSLATEBLUE (112) The following table lists constants to be used for Colors located in the Grayscale Row of the FEMAP color palette.. Constant Name

Constant Name

FCL_GRAY10 (125)

FCL_GRAY140 (138)

FCL_GRAY20 (126)

FCL_GRAY150 (139)

FCL_GRAY30 (127)

FCL_GRAY160 (140)

FCL_GRAY40 (128)

FCL_GRAY170 (141)

FCL_GRAY50 (129)

FCL_GRAY180 (142)

FCL_GRAY60 (130)

FCL_GRAY190 (143)

FCL_GRAY70 (131)

FCL_GRAY200 (144)

FCL_GRAY80 (132)

FCL_GRAY210 (145)

FCL_GRAY90 (133)

FCL_GRAY220 (146)

FCL_GRAY100 (134)

FCL_GRAY230 (147)

FCL_GRAY110 (135)

FCL_GRAY240 (148)

FCL_GRAY120 (136)

FCL_GRAY250 (149)

FCL_GRAY130 (137)

API-156

Global String Properties

FEMAP Brush Patterns The following table lists constants to be used for FEMAP Brush Patterns. These can be added to a FEMAP color using an “or” between the Color Name and the Brush Pattern Constant. For Example, to make a green color with level 4 transparency, you would put “FCL_GREEN or

FPF_TRANSPARENT4”. Constant Name

Constant Name

FPF_SOLID

FPF_TRANSPARENT7

FPF_HORIZONTAL

FPF_TRANSPARENT6

FPF_VERTICAL

FPF_TRANSPARENT5

FPF_FDIAGONAL

FPF_TRANSPARENT4

FPF_BDIAGONAL

FPF_TRANSPARENT3

FPF_CROSS

FPF_TRANSPARENT2

FPF_DIAGCROSS

FPF_TRANSPARENT1

FPF_TRANSPARENT8

FEMAP Pen Linestyles The following table lists constants to be used for FEMAP Pen Linstyles. These can be added to a FEMAP color using an “or” between the Brush Pattern Constant and the Pen Linestyle. Constant Name

Constant Name

FPL_SOLID

FPL_DASHDOTDOT

FPL_DASH

FPL_THICK2

FPL_DOT

FPL_THICK3

FPL_DASHDOT

FPL_THICK4

FEMAP Picture Regions The following table lists constants to be used to determine which portion of the FEMAP interface to copy or save. Constant Name

FPRG_WINDOW FPRG_LAYOUT

Constant Name

FPRG_DESKTOP

Global String Properties

API-157

FEMAP Picture Formats The following table lists constants to be used for FEMAP Picture Formats. Constant Name

Constant Name

FPM_BMP

FPM_JT

FPM_METAFILE

(Constant Reserved)

FPM_PLACEMF

FPM_GIF

FPM_JPEG

FPM_GIFANIM

FPM_BMPSERIES

FPM_TIF

FPM_AVI

FPM_PNG

FEMAP Default Picture Formats The following table lists constants to be used for FEMAP Default Picture Formats which can be set via the Preferences. Constant Name

Constant Name

PPFM_BMP

PPFM_GIF

PPFM_JPEG

PPFM_TIF

PPFM_PNG

FEMAP Default Animation Formats The following table lists constants to be used for FEMAP Default Animation Formats which can be set via the Preferences. Constant Name

Constant Name

PAFM_BMP

PAFM_AVI

PAFM_BMPSERIES

PAFM_GIF

FEMAP GIF Options The following table lists constants to be used for GIF Formats which can be set via the Preferences. Constant Name

GIFC_NET GIFC_OCTREE

Constant Name

GIFC_DITHER

API-158

Global String Properties

Messages Window Text Colors The following table lists constants to be used for Messages Window Text Colors.. Constant Name

Constant Name

FCM_NORMAL

FCM_ERROR

FCM_HIGHLIGHT

FCM_COMMAND

FCM_WARNING

Coordinate Dialog Methods The following table lists constants to be used for Coordinate Dialog Methods. These can be helpful when testing and debugging a program created with the FEMAP API. Constant Name

Constant Name

FCD_COORDINATES

FCD_BETWEEN

FCD_WORKPLANE_COORDINATES

FCD_INTERSECTION

FCD_USE_POINTS

FCD_MIDPOINT

FCD_USE_NODES

FCD_PROJECT_ON_CURVE

FCD_OFFSET

FCD_PROJECT_ON_SURFACE

FCD_DISTANCE

FCD_ON_SURFACE

FCD_CENTER

FCD_INTERSECTCURVESURFACE

FCD_ALONG

FCD_CG_SURFACE

FCD_MESH_LOCATION

FCD_ALONGLENGTH

Vector Dialog Methods The following table lists constants to be used for Vector Dialog Methods.. Constant Name

Constant Name

FVD_POSITION

FVD_NORMAL_TO_SURFACE

FVD_POSITION_LENGTH

FVD_BISECT

FVD_USE_POINTS

FVD_NORMAL

FVD_USE_NODES

FVD_DEFCS_AXIS

FVD_COMPONENTS

FVD_GLOBAL_AXIS

FVD_DIRECTION

FVD_NORMAL_TO_VIEW

Global String Properties

Constant Name

FVD_TANGENT

API-159

Constant Name

FVD_AXIS_OF_SURFACE

Plane Dialog Methods The following table lists constants to be used for Plane Dialog Methods.. Constant Name

Constant Name

FPD_POSITION

FPD_DEFCS_AXIS

FPD_USE_POINTS

FPD_GLOBAL_AXIS

FPD_USE_NODES

FPD_NORMAL_TO_VIEW

FPD_COMPONENTS

FPD_NORMAL_TO_CURVE

FPD_BISECT

FPD_NORMAL_TO_SURFACE

FPD_NORMAL

Selector Constants The Selector (Select Toolbar) is used to create “Selection sets” in FEMAP which may contain different entity types and can also be used to load entities into the Data Table and Entity Editor. The following table lists constants to be used for the Selector Entity Type. Constant Name

Constant Name

FS_POINT

FS_LOAD_NODAL

FS_CURVE

FS_LOAD_ELEMENTAL

FS_SURFACE

FS_LOAD_ON_POINT

FS_SOLID

FS_LOAD_ON_CURVE

FS_CONNECTION_PROP

FS_LOAD_ON_SURFACE

FS_CONNECTION_REGION

FS_BC_NODAL

FS_CONNECTION

FS_BC_EQUATION

FS_CSYS

FS_BC_ON_POINT

FS_NODE

FS_BC_ON_CURVE

FS_ELEM

FS_BC_ON_SURFACE

FS_MATL

FS_TEXT

FS_PROP

API-160

Global String Properties

The following table lists constants to be used for Selector Pick (Drill) Method Constant Name

Constant Name

FSD_FRONT

FSD_OFF FSD_QUERY

Real Number Formats The following table lists formats available for writing out real numbers. Constant Name

FRFM_NORMAL FRFM_EXPONENTIAL

Constant Name

FRFM_NASTRAN

API-161 3.4 File Methods The File Methods include: •

Section 3.4.1, "File Open/Exit"



Section 3.4.2, "File Save"



Section 3.4.3, "Import Geometry"



Section 3.4.4, "Import Analysis Model"



Section 3.4.5, "Import Analysis Results"



Section 3.4.6, "Import/Export Neutral File"



Section 3.4.7, "Export Geometry"



Section 3.4.8, "Export Analysis Model"



Section 3.4.9, "Notes"



Section 3.4.10, "Print and Copy"



Section 3.4.11, "Rebuild and Preferences"

API-162

feFileNew

3.4.1 File Open/Exit 3.4.1.1 feFileNew

feFileNew ( void ) Description: This function starts a new model. It works like the File, New command. Input: None Output: None Return Code: FE_FAIL

Unable to create a new file.

Remarks/Usage: In releases prior to v9, this API function required 2 arguments because multiple models were not supported and the previous model needed to be closed prior to opening the new model. Example: None

feFileOpen

API-163

3.4.1.2 feFileOpen

feFileOpen ( useDlg, fName ) Description: This function opens an existing model, or starts a new model and loads the contents of a file in one of the supported analysis formats. It works like the File, Open command. Input: BOOL useDlg

If True, fName is ignored and the standard dialog boxes are displayed allowing the user to choose a model to open. If False, the model specified in fName is opened.

STRING fName

The filename of the file to be opened. In general, this name should be specified with a complete path. If no path is supplied, the file will be opened from the current FEMAP directory.

Output: None Return Code: FE_FAIL

Unable to open file.

FE_NOT_EXIST

Specified file does not exist.

Remarks/Usage: feFileOpen( True, “wing.mod” ) - interactive use, even though you specified a filename, it will not be opened - the user will be asked to choose a model. feFileNew( False, “C:\Models\Bracket.mod” ) - Opens the model “C:\Models\Bracket.mod” without asking for user input. Example: None

API-164

feFileClose

3.4.1.3 feFileClose

feFileClose ( saveChanges ) Description: This function closes the active model Input: BOOL saveChanges

If True, any changes in the model will be saved. If False, the model will simply close, discarding any changes.

Output: None Return Code: None Remarks/Usage: This function will always display a dialog box asking for a filename if you are saving changes to a model that has never been saved previously. To prevent this, you must either discard the changes, or save the model prior to calling this method. Example: None

feFileExit

API-165

3.4.1.4 feFileExit

feFileExit ( void ) Description: This function causes FEMAP to exit. Input: None Output: None Return Code: None Remarks/Usage: This function will always display a dialog box asking for confirmation to save the current model unless it has not been modified since the last save. Therefore, to exit with no user interaction, you must either use one of the FileSave functions or feFileNew immediately prior to calling this function. Example: None

API-166

feFileSave

3.4.2 File Save 3.4.2.1 feFileSave

feFileSave ( useDlg ) Description: This function saves the current model to the current model name, like the File, Save command. Input: BOOL useDlg

If True, the function runs interactively. In this mode, if the model name has not been specified, the Save As dialog will be displayed to allow you to choose the name. If a model filename has been specified, the model will simply be saved. If False, the model will be saved if the filename has been selected, or the function will fail if the model has never been saved before.

Output: None Return Code: FE_FAIL

The save operation failed. Either the filename specified cannot be written, or some other error occurred during the save operation.

FE_NO_FILENAME

useDlg=False and the model name has never been specified. Use feFileSaveAs instead to specify a name to be used to save the model.

Remarks/Usage: None Example: None

feFileSaveAs

API-167

3.4.2.2 feFileSaveAs

feFileSaveAs ( useDlg, fName ) Description: This function saves the current model, like the File, Save As command. The filename can either be specified or chosen interactively. Input: BOOL useDlg

If True, the filename to be used to save the current model will be chosen interactively by display the Save As dialog box. If False, operation is automatic and the fName parameter must be specified.

STRING fName

The filename to use to save the current model. This is only used if useDlg=False.

Output: None Return Code: FE_FAIL

The save operation failed. Either the filename specified cannot be written, or some other error occurred during the save operation.

FE_CANCEL

useDlg=True and the user cancelled the save operation.

FE_INVALID

The filename is not valid to save the model.

Remarks/Usage: feFileSaveAs( True, “ “ ) - ask the user for a filename and save the current model to that file. feFileSaveAs( False, “c:\models\car.modfem” ) - automatically save the current model to the specified file. Example: None

API-168

feFileTimedSave

3.4.2.3 feFileTimedSave

feFileTimedSave ( useDlg, saving, notify, interval, commands ) Description: This function controls whether or not timed save is turned on, and sets the available parameters for timed save operation. It works like the File, Timed Save command. Input: BOOL useDlg

If True, the function runs interactively and displays the dialog box displayed by the File, Timed Save command. In this case, all other parameters are ignored. If False, the other parameters automatically define the timed save options.

BOOL saving

Turns on/off timed save ( True = on, False = off).

BOOL notify

If this is on, then the user will be notified prior to a timed save taking place.

INT4 interval

Time in minutes between timed saves ( 1..999 ).

INT4 commands

Number of commands between timed saves ( 0, 1..999 ). If you set this to 0, then timed saves will be done based on time only.

Output: None Return Code: FE_CANCEL

The user aborted the operation by cancelling a dialog box.

FE_INVALID

At least one of the arguments contains data that is invalid or out of the allowable range.

Remarks/Usage: Calling this function automatically stops any previous timed save operations. When the function is complete, if timed save is turned on, it is reinitialized. Example: None

feFileReadAcisOpt

API-169

3.4.3 Import Geometry 3.4.3.1 feFileReadAcisOpt

feFileReadAcisOpt ( useDlg, fName, title, layer, color, increment_layer, increment_color, assign_color, convert_to_splines, convert_format, clean, heal, check, stringent, delete_invalid, faces, scale ) Description: This function loads geometry from an ACIS .SAT file. It works like File, Import, Geometry, when you pick an ACIS file. The file is loaded into the current model. Input: BOOL useDlg

If True, the function runs interactively and displays a dialog box to allow the user to define the options. Only the fName option is used; all others are ignored. If False, the other parameters automatically define the ACIS read options.

STRING fName

The filename/path of the ACIS file to be read.

STRING title

The title that is assigned to created layers and the solid.

INT4 layer

The ID of the layer for new geometry. Set to -1 to use the active layer.

INT4 color

The color used for the geometry that is created. Set to -1 to use the active solid color. Only used if assign_color=True

BOOL increment_layer

If True and you read an assembly, geometry for each solid is placed on a different layer; otherwise all geometry is on the specified layer.

BOOL increment_color

If True and you read an assembly, geometry for each solid is colored differently.

BOOL assign_color

If True, the specified color value is used for geometry; otherwise the default colors are used.

BOOL convert_to_splines

If True, surfaces are all converted to B-Spline surfaces. If False, surfaces retain their original definition.

BOOL convert_format

Should always be set to True. ACIS geometry can no longer be read in native format - it is always converted to Parasolid.

BOOL clean

Only used if convert_format=True. If True, this attempts to detect and remove sliver faces or other geometric problems.

BOOL heal

Only used if convert_format=True. If True, attempts to close gaps and correct geometric inaccuracies.

BOOL check

Only used if convert_format=True. If True, checks converted Parasolid geometry to find and report any problems.

API-170

feFileReadAcisOpt

feFileReadAcisOpt ( useDlg, fName, title, layer, color, increment_layer, increment_color, assign_color, convert_to_splines, convert_format, clean, heal, check, stringent, delete_invalid, faces, scale ) BOOL stringent

Only used if convert_format=True. If True, checks for surface discontinuities or irregularities in the converted Parasolid geometry.

BOOL delete_invalid

Only used if convert_format=True. If True and geometry was checked, this deletes any geometry that failed the checking.

BOOL faces

Only used if convert_format=True. If True and it was not possible to convert a complete solid, this will allow unstitched, free surfaces to be retained.

REAL8 scale

Only used if convert_format=True. This is a scale factor that is applied to the geometry during conversion. It is used to ensure that the geometry lies inside the Parasolid modeling box (+/- 500 units).

Output: None Return Code: FE_CANCEL

The user aborted the operation by cancelling a dialog box.

FE_INVALID

You specified a parameter that was not in the supported range.

FE_NOT_AVAILABLE

The required module for this function is not loaded on this system.

FE_SECURITY

The required module for this function is not properly licensed.

Remarks/Usage: In general, you will not want to convert geometry to Parasolid format. In that case, all of the parameters after convert_format are ignored. Example: None

feFileReadAcis

API-171

3.4.3.2 feFileReadAcis

feFileReadAcis ( fName ) Description: Short form of feFileReadAcisOpt( ). Input: STRING fName

The filename/path of the ACIS file to be read.

Remarks/Usage: Using this function is equivalent to calling: feFileReadAcisOpt( FALSE, fName, "", -1, -1, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 1.0 ) For details, see Section 3.4.3.1, "feFileReadAcisOpt". Example: None

API-172

feFileReadCatia

3.4.3.3 feFileReadCatia

feFileReadCatia ( useDlg, fName, rdAnalytical, rdTopology, rdCurves, stitch, heal ) Description: This function loads geometry from a CATIA (.model, mdl, .exp) file. It works like File, Import, Geometry, when you pick a CATIA file. The file is loaded into the current model. Input: BOOL useDlg

If True, the function runs interactively and displays a dialog box to allow the user to define the options. Only the fName option is used; all others are ignored. If False, the other parameters automatically define the CATIA read options.

STRING fName

The filename/path of the CATIA file to be read.

BOOL rdAnalytical

Set to True to read the analytical definition for surfaces defined as splines.

BOOL rdTopology

Set to True to read the CATIA topology to create a solid. Generally, it is better to set to False to read the surfaces as individual surfaces.

BOOL rdCurves

Set to True to read 3D trimming curves, or False to read 2D trimming curves.

BOOL stitch

Set to True to automatically stitch surfaces into a solid. If False, individual surfaces will be read.

BOOL heal

Set to True to attempt to repair tolerance and gap problems.

Output: None Return Code: FE_CANCEL

The user aborted the operation by cancelling a dialog box.

FE_INVALID

You specified a parameter that was not in the supported range.

FE_NOT_AVAILABLE

The required module for this function is not loaded on this system.

FE_SECURITY

The required module for this function is not properly licensed.

Remarks/Usage: None Example: None

feFileReadCatiaV5

API-173

3.4.3.4 feFileReadCatiaV5

feFileReadCatiaV5 ( useDlg, fName, fPath, rdNoShow, rdInactiveLayers, rdPoints, rdCurves, rdSurfaces, rdBodies, simplify ) Description: This function loads geometry from a CATIA V5 (.CATpart or .CATproduct) file. It works like File, Import, Geometry, when you pick a CATIA V5 file. The file is loaded into the current model. Input: BOOL useDlg

If True, the function runs interactively and displays a dialog box to allow the user to define the options. The fName and fPath options can not be set using this method, other options set the defaults for the dialog box. If False, the other parameters automatically define the CATIA V5 read options.

STRING fName

The filename/path of the CATIA V5 file to be read.

STRING fPath

The search path for other assembly parts. If all parts are in the same directory as the file you specify, you can pass this as a blank string. If you need to search multiple directories, you must separate the paths with semicolons in this string.

BOOL rdNoShow

If True, reads “No Show” geometry.

BOOL rdInactiveLayers

If True, reads geometry from layers marked as Inactive.

BOOL rdPoints

Set to True to read points

BOOL rdCurves

Set to True to read curves

BOOL rdSurfaces

Set to True to read surfaces

BOOL rdBodies

Set to True to read bodies

BOOL simplify

If True, simplifies the underlying geometry for curves and surfaces

Output: None Return Code: FE_CANCEL

The user aborted the operation by cancelling a dialog box.

FE_NOT_AVAILABLE

The required module for this function is not loaded on this system.

FE_SECURITY

The required module for this function is not properly licensed.

Remarks/Usage: None Example:

API-174

feFileReadCatiaV5

feFileReadCatiaV5 ( useDlg, fName, fPath, rdNoShow, rdInactiveLayers, rdPoints, rdCurves, rdSurfaces, rdBodies, simplify ) None

feFileReadDxf

API-175

3.4.3.5 feFileReadDxf

feFileReadDxf ( useDlg, fName, rdText, rd3DFace, rdBlocks, rdPolyelem, rdTraceBoundary, rdTraceCenterline, rdLayer, firstLayer, mergePoints, mergeDist ) Description: This function loads geometry (and other entities) from a DXF formatted file. It works like File, Import, Geometry, when you pick a DXF file. The file is loaded into the current model. Input: BOOL useDlg

If True, the function runs interactively and displays a dialog box to allow the user to define the options. Only the fName option is used; all others are ignored. If False, the other parameters automatically define the DXF read options.

STRING fName

The filename/path of the DXF file to be read.

BOOL rdText

If True, reads text or notes. Skipped if False.

BOOL rd3DFace

If True, reads 3DFaces as elements. If False, lines are created to form the outline of the face.

BOOL rdBlocks

If True, entities inside block references will be read.

BOOL rdPolyelem

If True, reads polygon meshes as elements.

BOOL rdTraceBoundary

If True, creates lines to represent the edges of a traceline.

BOOL rdTraceCenterline

If True, creates lines to represent the center of a traceline.

BOOL rdLayer

If True, reads color and layer information and assigns it to the geometry.

INT4 firstLayer

If rdLayer=True, this is the ID of the first layer that will be created. A unique layer is created for each unique layer name in the DXF file.

BOOL mergePoints

If True, coincident points will be merged after geometry is read.

REAL8 mergeDist

If mergePoints=True, this is the distance used to determine coincident points. Points that are closer than this distance from each other will be merged.

Output: None Return Code: FE_CANCEL

The user aborted the operation by cancelling a dialog box.

FE_INVALID

You specified an layer that was not in the supported range.

API-176

feFileReadDxf

feFileReadDxf ( useDlg, fName, rdText, rd3DFace, rdBlocks, rdPolyelem, rdTraceBoundary, rdTraceCenterline, rdLayer, firstLayer, mergePoints, mergeDist ) Remarks/Usage: None Example: None

feFileReadIdeas

API-177

3.4.3.6 feFileReadIdeas

feFileReadIdeas ( fName ) Description: This function loads geometry from an I-DEAS (.IDI) file. It works like File, Import, Geometry, when you pick an I-DEAS file. The file is loaded into the current model. Input: STRING fName

The filename/path of the I-DEAS file to be read.

Output: None Return Code: FE_NOT_AVAILABLE

The required module for this function is not loaded on this system.

FE_SECURITY

The required module for this function is not properly licensed.

Remarks/Usage: None Example: None

API-178

feFileReadIgesAdv

3.4.3.7 feFileReadIgesAdv

feFileReadIgesAdv ( useDlg, fName, read_curves, read_untrimmed_surfaces, read_trimmed_surfaces, read_solids, flavor, trim_curve_option ) Description: This function loads geometry from a IGES (.IGS) file. It works like File, Import, Geometry, when you pick an IGES file, and choose the Alternate/Advanced interface. The file is loaded into the current model. Input: BOOL useDlg

If True, the function runs interactively and displays a dialog box to allow the user to define the options. Only the fName option is used; all others are ignored. If False, the other parameters automatically define the IGES read options.

STRING fName

The filename/path of the IGES file to be read.

BOOL read_curves

Set to True to read free curves (curves that are not connected to surfaces or solids).

BOOL read_untrimmed_surfaces

Set to True to read free untrimmed surfaces.

BOOL read_trimmed_surfaces

Set to True to read free trimmed surfaces.

BOOL read_solids

Set to True to read solid data.

INT4 flavor

=0 for No flavoring, =1 for AutoCAD customization (old versions of AutoCAD only).

INT4 trim_curve_option

=0 for default trim curves, =1 for 2D trim curves, =2 for 3D trim curves

Output: None Return Code: FE_CANCEL

The user aborted the operation by cancelling a dialog box.

FE_INVALID

You specified a parameter that was not in the supported range.

FE_NOT_AVAILABLE

The required module for this function is not loaded on this system.

FE_SECURITY

The required module for this function is not properly licensed.

Remarks/Usage: If you are having trouble reading solid data, try turning off read_solids, and just read the trimmed surfaces. These surfaces can then be stitched into a solid.

feFileReadIgesAdv

API-179

feFileReadIgesAdv ( useDlg, fName, read_curves, read_untrimmed_surfaces, read_trimmed_surfaces, read_solids, flavor, trim_curve_option ) Example: None

API-180

feFileReadIges

3.4.3.8 feFileReadIges

feFileReadIges ( useDlg, fName, merge_points, read_layer, read_geom_only, read_surface_data, trim_preference, min_resolution ) Description: This function loads geometry from a IGES (.IGS) file. It works like File, Import, Geometry, when you pick an IGES file, and you do not choose the Alternate/Advanced interface. The file is loaded into the current model. Input: BOOL useDlg

If True, the function runs interactively and displays a dialog box to allow the user to define the options. Only the fName option is used; all others are ignored. If False, the other parameters automatically define the IGES read options.

STRING fName

The filename/path of the IGES file to be read.

BOOL merge_points

Set to True to merge all coincident points that are created.

BOOL read_layer

Set to True to read layer information and assign geometry to the appropriate layers.

BOOL read_geom_only

Set to True to only read data marked as geometry.

BOOL read_surface_data

Set to True to read trimmed surface data. If you set this to True, you must have the appropriate license.

INT4 trim_preference

=0 for Default Trim curves per the IGES file specification. =1 for 2D trim curves, =2 for 3D trim curves.

REAL8 min_resolution

Set to the minimum resolution for coincident points in the file. Used for tolerances of surface data, and for merging coincident points.

Output: None Return Code: FE_CANCEL

The user aborted the operation by cancelling a dialog box.

FE_SECURITY

The required module for this function is not properly licensed.

Remarks/Usage: None Example: None

feFileReadParasolidOpt

API-181

3.4.3.9 feFileReadParasolidOpt

feFileReadParasolidOpt ( useDlg, fName, title, layer, color, increment_layer, increment_color, assign_color, convert_format, clean, heal, check, stringent, delete_invalid, faces, scale ) Description: This function loads geometry from a Parasolid .X_T file. It works like File, Import, Geometry, when you pick a Parasolid file. The file is loaded into the current model. Input: BOOL useDlg

If True, the function runs interactively and displays a dialog box to allow the user to define the options. Only the fName option is used; all others are ignored. If False, the other parameters automatically define the Parasolid read options.

STRING fName

The filename/path of the Parasolid file to be read.

STRING title

The title that is assigned to created layers and the solid.

INT4 layer

The ID of the layer for new geometry. Set to -1 to use the active layer.

INT4 color

The color used for the geometry that is created. Set to -1 to use the active solid color. Only used if assign_color=True.

BOOL increment_layer

If True and you read an assembly, geometry for each solid is placed on a different layer; otherwise, all geometry is on the specified layer.

BOOL increment_color

If True and you read an assembly, geometry for each solid is colored differently.

BOOL assign_color

If True, the specified color value is used for geometry; otherwise, the default colors are used.

BOOL convert_format

Should always be set to False. Parasolid geometry can no longer be converted to ACIS format.

BOOL clean

Only used if convert_format=True. If True, this attempts to detect and remove sliver faces or other geometric problems.

BOOL heal

Only used if convert_format=True. If True, attempts to close gaps and correct geometric inaccuracies.

BOOL check

Only used if convert_format=True. If True, checks converted ACIS geometry to find and report any problems.

BOOL stringent

Only used if convert_format=True. If True, checks for surface discontinuities or irregularities in the converted ACIS geometry.

BOOL delete_invalid

Only used if convert_format=True. If True and geometry was checked, this deletes any geometry that failed the checking.

API-182

feFileReadParasolidOpt

feFileReadParasolidOpt ( useDlg, fName, title, layer, color, increment_layer, increment_color, assign_color, convert_format, clean, heal, check, stringent, delete_invalid, faces, scale ) BOOL faces

Only used if convert_format=True. If True and it was not possible to convert a complete solid, this will allow unstitched, free surfaces to be retained.

REAL8 scale

Only used if convert_format=True. This is a scale factor that is applied to the geometry during conversion. It is used to ensure that the geometry lies inside the ACIS modeling box.

Output: None Return Code: FE_CANCEL

The user aborted the operation by cancelling a dialog box.

FE_INVALID

You specified a parameter that was not in the supported range.

FE_NOT_AVAILABLE

The required module for this function is not loaded on this system.

FE_SECURITY

The required module for this function is not properly licensed.

Remarks/Usage: In general, you will not want to convert geometry to ACIS format. In that case, all of the parameters after convert_format are ignored. Example: None

feFileReadParasolid

API-183

3.4.3.10 feFileReadParasolid

feFileReadParasolid ( fName ) Description: Short form of feFileReadParasolidOpt( ). Input: STRING fName

The filename/path of the Parasolid file to be read.

Remarks/Usage: Using this function is equivalent to calling: feFileReadParasolidOpt( FALSE, fName, "", -1, -1, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 1.0 ) For more detailed documentation, see Section 3.4.3.9, "feFileReadParasolidOpt". Example: None

API-184

feFileReadProe

3.4.3.11 feFileReadProe

feFileReadProe ( fName ) Description: This function loads geometry from a Pro/E (.PRT) file. It works like File, Import, Geometry, when you pick a Pro/E file. The file is loaded into the current model. Input: STRING fName

The filename/path of the Pro/E file to be read.

Output: None Return Code: FE_NOT_AVAILABLE

The required module for this function is not loaded on this system.

FE_SECURITY

The required module for this function is not properly licensed.

Remarks/Usage: None Example: None

feFileReadSolidEdge

API-185

3.4.3.12 feFileReadSolidEdge

feFileReadSolidEdge ( fName ) Description: This function loads geometry from a Solid Edge (.PAR) file. It works like File, Import, Geometry, when you pick a Solid Edge file. The file is loaded into the current model. Input: STRING fName

The filename/path of the Solid Edge file to be read.

Output: None Return Code: FE_NOT_AVAILABLE

The required module for this function is not loaded on this system.

FE_SECURITY

The required module for this function is not properly licensed.

Remarks/Usage: None Example: None

API-186

feFileReadStepOpt

3.4.3.13 feFileReadStepOpt

feFileReadStepOpt ( useDlg, fName, title, layer, color, increment_layer, increment_color, assign_color, class_VI, class_V, class_IV, class_III, class_II_wf, class_II_curv, class_II_rect, class_II_2d, smooth_g1, explode, analytics, stitch, closed_orient, pro_e, check_input, check_output ) Description: This function loads geometry from a STEP (.STP) file. It works like File, Import, Geometry, when you pick a STEP file. The file is loaded into the current model. Input: BOOL useDlg

If True, the function runs interactively and displays a dialog box to allow the user to define the options. Only the fName option is used; all others are ignored. If False, the other parameters automatically define the STEP read options.

STRING fName

The filename/path of the STEP file to be read.

STRING title

The title that is assigned to created layers and the solid.

INT4 layer

The ID of the layer for new geometry. Set to -1 to use the active layer.

INT4 color

The color used for the geometry that is created. Set to -1 to use the active solid color. Only used if assign_color=True.

BOOL increment_layer

If True and you read an assembly, geometry for each solid is placed on a different layer; otherwise all geometry is on the specified layer.

BOOL increment_color

If True and you read an assembly, geometry for each solid is colored differently.

BOOL assign_color

If True, the specified color value is used for geometry; otherwise, the default colors are used.

BOOL class_VI

Set to True if you want to read Class VI solids.

BOOL class_V

Set to True if you want to read Class V faceted solids.

BOOL class_IV

Set to True if you want to read Class IV surfaces.

BOOL class_III

Set to True if you want to read Class III wireframe - edge based and shell based wireframe geometry.

BOOL class_II_wf

Set to True if you want to read Class II wireframe - wireframe without topology or other underlying surfaces.

BOOL class_II_curv

Set to True if you want to read Class II curve bounded surfaces.

feFileReadStepOpt

API-187

feFileReadStepOpt ( useDlg, fName, title, layer, color, increment_layer, increment_color, assign_color, class_VI, class_V, class_IV, class_III, class_II_wf, class_II_curv, class_II_rect, class_II_2d, smooth_g1, explode, analytics, stitch, closed_orient, pro_e, check_input, check_output ) BOOL class_II_rect

Set to True if you want to read Class II rectangular trimmed surfaces. Normally this is False, because these surfaces are usually used for construction geometry, not part geometry.

BOOL class_II_2d

Set to True to read 2D trimming curves for surfaces. These are curves in the surface parametric coordinates. If you set this to False, 3D trimming curves will be read.

BOOL smooth_g1

If True, attempts to eliminate discontinuities in the STEP geometry which cannot be represented in Parasolid. Set this to True for the best conversion.

BOOL explode

If True, STEP geometry will be read as independent faces, then Parasolid will be used to restitch the solid. If False, the topology will be constructed directly from the data in the STEP file. Setting this to True will help to eliminate geometric tolerancing problems.

BOOL analytics

If True, geometry will be simplified to analytical surfaces whenever possible.

BOOL stitch

If True, surfaces will be stitched into a solid.

BOOL closed_orient

If True, extra checking is done to eliminate problems that can occur in closed analytical (sphere and torus) surfaces that produce complementary surfaces.

BOOL pro_e

If True, forces angle units to degrees to work around a problem in old Pro/E STEP files. Always set to False unless you are having specific problems with Pro/E files.

BOOL check_input

If True, syntax checking of the STEP file is done prior to reading.

BOOL check_output

If True, the Parasolid geometry is checked for validity after the conversion.

Output: None Return Code: FE_CANCEL

The user aborted the operation by cancelling a dialog box.

FE_INVALID

You specified a parameter that was not in the supported range.

FE_NOT_AVAILABLE

The required module for this function is not loaded on this system.

FE_SECURITY

The required module for this function is not properly licensed.

API-188

feFileReadStepOpt

feFileReadStepOpt ( useDlg, fName, title, layer, color, increment_layer, increment_color, assign_color, class_VI, class_V, class_IV, class_III, class_II_wf, class_II_curv, class_II_rect, class_II_2d, smooth_g1, explode, analytics, stitch, closed_orient, pro_e, check_input, check_output ) Remarks/Usage: None Example: None

feFileReadStep

API-189

3.4.3.14 feFileReadStep

feFileReadStep ( fName ) Description: Short form of feFileReadStepOpt( ). Input: STRING fName

The filename/path of the STEP file to be read.

Remarks/Usage: Using this function is equivalent to calling: feFileReadStepOpt( FALSE, fName, "", -1, -1, FALSE, TRUE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, TRUE, FALSE ) For more detailed documentation, see Section 3.4.3.13, "feFileReadStepOpt". Example: None

API-190

feFileReadStl

3.4.3.15 feFileReadStl

feFileReadStl ( useDlg, fName, skip_short_edges, merge_nodes, close_gaps, PATRAN_file, min_distance ) Description: This function loads geometry from a Stereolithography (.STL) file. It works like File, Import, Geometry, when you pick an STL file. The file is loaded into the current model. Input: BOOL useDlg

If True, the function runs interactively and displays a dialog box to allow the user to define the options. Only the fName option is used; all others are ignored. If False, the other parameters automatically define the STL read options.

STRING fName

The filename/path of the STL file to be read.

BOOL skip_short_edges

Set to True to skip edges that are shorter than the min_distance setting.

BOOL merge_nodes

Set to True to merge all coincident nodes after the file is loaded.

BOOL close_gaps

Set to True to attempt to close gaps in the STL mesh.

BOOL PATRAN_file

Set to True to read a PATRAN generated STL file where negative coordinates can run together with no spaces between them.

REAL8 min_distance

The minimum distance of short edges to be skipped.

Output: None Return Code: FE_CANCEL

The user aborted the operation by cancelling a dialog box.

FE_INVALID

You specified a parameter that was not in the supported range.

FE_FAIL

An error occurred while reading the file.

Remarks/Usage: None Example: None

feFileReadUg

API-191

3.4.3.16 feFileReadUg

feFileReadUg ( useDlg, fName, rdBlanked, rdLayers ) Description: This function loads geometry from a Unigraphics (.PRT) file. It works like File, Import, Geometry, when you pick a Unigraphics file. The file is loaded into the current model. Input: BOOL useDlg

If True, the function runs interactively and displays a dialog box to allow the user to define the options. Only the fName option is used; all others are ignored. If False, the other parameters automatically define the Unigraphics read options.

STRING fName

The filename/path of the Unigraphics file to be read.

BOOL rdBlanked

Set to True to read parts that are blanked. If False, only unblanked parts will be read.

BOOL rdLayers

Set to True to read parts that are on invisible layers. If False, only parts on visible layers will be read.

Output: None Return Code: FE_CANCEL

The user aborted the operation by cancelling a dialog box.

FE_INVALID

You specified a parameter that was not in the supported range.

FE_NOT_AVAILABLE

The required module for this function is not loaded on this system.

FE_SECURITY

The required module for this function is not properly licensed.

Remarks/Usage: None Example: None

API-192

feFileReadAbaqus

3.4.4 Import Analysis Model 3.4.4.1 feFileReadAbaqus

feFileReadAbaqus ( brand, fName ) Description: This function loads finite element model data from an existing ABAQUS file. Input: INT4 brand

Used to select the format of the ABAQUS file. 0=Abaqus Input File (.INP), 1=Abaqus Results File (.FIL)

STRING fName

The filename of the ABAQUS input file to read.

Output: None Return Code: FE_INVALID Remarks/Usage: None Example: None

You specified an invalid value for the brand option.

feFileReadAnsys

API-193

3.4.4.2 feFileReadAnsys

feFileReadAnsys ( brand, fName ) Description: This function loads finite element model data from an existing ANSYS file. Input: INT4 brand

Used to select the format of the ANSYS input file. 4 = Version 4, 5 = Version 5+.

STRING fName

The filename of the ANSYS input file to read.

Output: None Return Code: FE_INVALID Remarks/Usage: None Example: None

You specified an invalid value for the brand option.

API-194

feFileReadDyna

3.4.4.3 feFileReadDyna

feFileReadDyna ( brand, fName ) Description: This function loads finite element model data from an existing LS-DYNA file. Input: INT4 brand

Used to select the format of the DYNA file. Currently this MUST be specified as 1=DYNA Results file.

STRING fName

The filename of the DYNA file to read.

Output: None Return Code: FE_INVALID Remarks/Usage: None Example: None

You specified an invalid value for the brand option.

feFileReadMarc

API-195

3.4.4.4 feFileReadMarc

feFileReadMarc ( brand, fName ) Description: This function loads finite element model data from an existing Marc file. Input: INT4 brand

Used to select the format of the Marc file. Currently this MUST be specified as 1=Marc Results file.

STRING fName

The filename of the Marc file to read.

Output: None Return Code: FE_INVALID Remarks/Usage: None Example: None

You specified an invalid value for the brand option.

API-196

feFileReadNastran

3.4.4.5 feFileReadNastran

feFileReadNastran ( brand, fName ) Description: This function loads finite element model data from an existing NASTRAN file. Input: INT4 brand

Used to select the format of the NASTRAN input file: 0=MSC, 1=NE, 2=UAI, 3=CSA, 4=SSS, 5=Cosmic, 6=ME, 7=VR, 8=NX.

STRING fName

The filename of the NASTRAN input file to read.

Output: None Return Code: FE_INVALID Remarks/Usage: None Example: None

You specified an invalid value for the brand option.

feFileReadPatran

API-197

3.4.4.6 feFileReadPatran

feFileReadPatran ( fName, bSaveZeroDispAsBC ) Description: This function loads finite element model data from an existing Patran file. Input: STRING fName

The filename of the Patran input file to read.

BOOL bSaveZeroDispAsBC

If True, Zero Nodal Displacements are stored as Constraints. If False, they are stored as loads.

Output: None Return Code: FE_NOT_EXIST Remarks/Usage: None Example: None

The file you specified does not exist.

API-198

feFileReadAbaqusResults

3.4.5 Import Analysis Results 3.4.5.1 feFileReadAbaqusResults

feFileReadAbaqusResults ( brand, fName ) Description: This function loads finite element results data from an existing ABAQUS file. Input: INT4 brand

Used to select the format of the ABAQUS file. Currently this MUST be specified as 1=Abaqus Results file.

STRING fName

The filename of the ABAQUS results file to read.

Output: None Return Code: FE_INVALID Remarks/Usage: None Example: None

You specified an invalid value for the brand option.

feFileReadAnsysResults

API-199

3.4.5.2 feFileReadAnsysResults

feFileReadAnsysResults ( brand, fName ) Description: This function loads finite element results data from an existing ANSYS file. Input: INT4 brand

Used to select the format of the ANSYS results file. 4 = Version 4, 5 = Version 5..9, 10 = 10 and up.

STRING fName

The filename of the ANSYS results file to read.

Output: None Return Code: FE_INVALID

You specified an invalid value for the brand option.

Remarks/Usage: This function can read results files from structural (.RST) and thermal analyses (.RTH). Example: None

API-200

feFileReadDynaResults

3.4.5.3 feFileReadDynaResults

feFileReadDynaResults ( brand, fName ) Description: This function loads finite element results data from an existing LS-DYNA file. Input: INT4 brand

Used to select the format of the DYNA file. Currently this MUST be specified as 1=DYNA Results file.

STRING fName

The filename of the DYNA results file to read.

Output: None Return Code: FE_INVALID Remarks/Usage: None Example: None

You specified an invalid value for the brand option.

feFileReadMarcResults

API-201

3.4.5.4 feFileReadMarcResults

feFileReadMarcResults ( brand, fName ) Description: This function loads finite element results data from an existing Marc file. Input: INT4 brand

Used to select the format of the Marc file. Currently this MUST be specified as 1=Marc Results file.

STRING fName

The filename of the Marc file to read.

Output: None Return Code: FE_INVALID Remarks/Usage: None Example: None

You specified an invalid value for the brand option.

API-202

feFileReadNastranResults

3.4.5.5 feFileReadNastranResults

feFileReadNastranResults ( brand, fName ) Description: This function loads finite element results data from an existing NASTRAN file. Input: INT4 brand

Used to select the format of the NASTRAN results file: 0=MSC, 1=NE, 2=UAI, 3=CSA, 4=SSS, 5=Cosmic, 6=ME, 7=VR, 8=NX.

STRING fName

The filename of the NASTRAN results file to read.

Output: None Return Code: FE_INVALID

You specified an invalid value for the brand option.

Remarks/Usage: This function can read both NASTRAN printed results file (.F06) or OUTPUT2 files (.OP2). Example: None

feFileReadNeutral

API-203

3.4.6 Import/Export Neutral File 3.4.6.1 feFileReadNeutral

feFileReadNeutral ( brand, fName, read_geometry, read_model, read_output, status_messages, offsetID ) Description: This method is the same as calling feFileReadNeutral2 with read_groups and read_views equal to read_model. Refer to that method for more information. 3.4.6.2 feFileReadNeutral2

feFileReadNeutral2 ( brand, fName, read_geometry, read_model, read_output, read_groups, read_views, status_messages, offsetID ) Description: This method is the same as calling feFileReadNeutral3 with renumber_layers and renumber_load_bc set to True, and create_new_output set to False. 3.4.6.3 feFileReadNeutral3

feFileReadNeutral3 ( brand, fName, read_geometry, read_model, read_output, read_groups, read_views, status_messages, offsetID, renumber_layers, renumber_load_bc, create_new_output ) Description: This function reads a FEMAP Neutral file. Input: INT4 brand

Used to select the format of the Neutral file. Not currently used.

STRING fName

The filename of the Neutral file to read.

BOOL read_geometry

If True, geometry is read from the file.

BOOL read_model

If True, finite element model data is read from the file.

BOOL read_output

If True, analysis results will be read from the file.

BOOL read_groups

If True, groups will be read from the file.

BOOL read_views

If True, views will be read from the file.

BOOL status_messages

If True, status messages will be written to the Messages and Lists window to show how many entities are read.

API-204

feFileReadNeutral3

feFileReadNeutral3 ( brand, fName, read_geometry, read_model, read_output, read_groups, read_views, status_messages, offsetID, renumber_layers, renumber_load_bc, create_new_output ) INT4 offsetID

Normally set to 0. If you specify another value, all IDs that are read are offset by this value.

BOOL renumber_layers

If True, layers will be renumbered by the offsetID along with the rest of the model. If False, they are not renumbered.

BOOL renumber_load_bc

If True, Load and Constraint sets are renumbered by offsetID along with the rest of the model. If False, they are not renumbered.

BOOL create_new_output

If True, Output Sets are never overwritten - new ones are always created. The Output Set IDs in the file are used to determine the order in which they are created - the ID is added to the previous maximum Output Set ID in the model. For example, if your model already contained Output Sets up to 10, then if you read Output Set 1 it would be stored as 11, Set 2 would become 12 and so on. If your model did not contain output, this option has no effect.

Output: None Return Code: None Remarks/Usage: None Example: None

feFileWriteNeutral

API-205

3.4.6.4 feFileWriteNeutral

feFileWriteNeutral ( brand, fName, write_geometry_model, write_analysis_model, write_output, write_addl_info, expand_geometric, minimize_size, digits, version, groupID ) Description: This method is the same as calling feFileWriteNeutral2 with write_selector and write_palette equal to True, and write_groups and write_views equal to write_analysis_model. Refer to that method for more information. 3.4.6.5 feFileWriteNeutral2

feFileWriteNeutral2 ( brand, fName, write_geometry_model, write_analysis_model, write_output, write_selector, write_palette, write_groups, write_views, write_addl_info, expand_geometric, minimize_size, digits, version, groupID ) Description: This function writes a FEMAP Neutral file. Input: INT4 brand

Used to select the format of the Neutral file: 0=FEMAP Neutral (the default), 1=CAEFEM, 2=CDA/Sprint, 3=CFDesign, 4=SINDA. The formats other than 0 should not be used unless you are writing a file specifically to be used with that program.

STRING fName

The filename of the Neutral file to write.

BOOL write_geometry_model

If True, geometry is written to the file.

BOOL write_analysis_model

If True, finite element model data is written to the file.

BOOL write_output

If True, analysis results will be written to the file.

BOOL write_selector

If True, selector information will be written to the file

BOOL write_palette

If True, color palette information will be written to the file

BOOL write_groups

If True, groups will be written to the file

BOOL write_views

If True, views will be written to the file

BOOL write_addl_info

If True, some additional data blocks will be written to the file. This should normally be False if the Neutral file is to be reloaded into FEMAP.

BOOL expand_geometric

If True, geometric loads and constraints will be expanded before being written.

BOOL minimize_size

If True, spaces are compressed out of the file to reduce its size.

API-206

feFileWriteNeutral2

feFileWriteNeutral2 ( brand, fName, write_geometry_model, write_analysis_model, write_output, write_selector, write_palette, write_groups, write_views, write_addl_info, expand_geometric, minimize_size, digits, version, groupID ) INT4 digits

The number of digits of precision for all real numbers (must be 2 to 20).

REAL8 version

The version of the Neutral file to produce. Set to 0.0 to create the latest version. If you do not use 0.0, some model data may not be compatible with the file you write and will be lost.

INT4 groupID

The ID of the group to write to the file. Specify 0 to write the entire model.

Output: None Return Code: FE_INVALID

You specified an invalid value for digits.

FE_NOT_EXIST

You chose a group that does not exist.

FE_FAIL

An error occurred processing the group.

Remarks/Usage: None Example: None

feFileWriteAcis

API-207

3.4.7 Export Geometry 3.4.7.1 feFileWriteAcis

feFileWriteAcis ( useDlg, fName, version, solidSET ) Description: This function writes solids from your model into a ACIS SAT file. Input: BOOL useDlg

If True, the function runs interactively. The dialog box that asks you to pick the solids to write will be displayed.

STRING fName

The filename of the ACIS SAT file to write.

REAL8 version

The ACIS version number of the file to be written. Set this to 0 to use the current version of ACIS. Available previous versions are the same numbers as displayed in the dialog box when you run the File, Export, Geometry command.

INT4 solidSET

The ID of a selection set that contains the IDs of the solids to write. Alternatively, if you specify a negative value, this is simply the ID of the single solid to write. Not used if useDlg=True.

Output: None Return Code: None Remarks/Usage: None Example: None

API-208

feFileWriteIges

3.4.7.2 feFileWriteIges

feFileWriteIges ( fName, spline_curves, spline_surfaces, bounded_surfaces, customization, surface_options, export_as, solidSET ) Description: This function writes selected solids to an IGES file. Input: STRING fName

The filename of the IGES file to write.

BOOL spline_curves

If True, all curves are written as splines.

BOOL spline_surfaces

If True, surfaces are written as splines.

BOOL bounded_surfaces

If True, surfaces will be written as Type 143, bounded surfaces. Otherwise, Type 144 trimmed surfaces will be written.

INT4 customization

Controls the IGES customization options: 0=None, 1=AutoCAD, 2=JAMA-IS, 3=I-DEAS.

INT4 surface_options

Controls how trimming curves will be written: 0=Both, 1=2D Curves, 2=3D Curves.

INT4 export_as

Controls how to write solids: 0=Solid MSBO, 1=Trimmed Surfaces, 2=Wireframe.

INT4 solidSET

The ID of a selection set that contains the IDs of the solids to write. Alternatively, if you specify a negative value, this is simply the ID of the single solid to write.

Output: None Return Code: FE_CANCEL

The user aborted the operation by cancelling a dialog box.

FE_INVALID

You specified a parameter that was not in the supported range.

FE_NOT_AVAILABLE

The required module for this function is not loaded on this system.

FE_SECURITY

The required module for this function is not properly licensed.

Remarks/Usage: Only Parasolid solids can be written to an IGES file. Example: None

feFileWriteParasolid

API-209

3.4.7.3 feFileWriteParasolid

feFileWriteParasolid ( useDlg, fName, version, solidSET ) Description: This function writes solids from your model into a Parasolid X_T file. Input: BOOL useDlg

If True, the function runs interactively. The dialog box that asks you to pick the solids to write will be displayed.

STRING fName

The filename of the Parasolid X_T file to write.

REAL8 version

The Parasolid version number of the file to be written. Set this to 0 to use the current version of Parasolid. Available previous versions are the same numbers as displayed in the dialog box when you run the File, Export, Geometry command.

INT4 solidSET

The ID of a selection set that contains the IDs of the solids to write. Alternatively, if you specify a negative value, this is simply the ID of the single solid to write. Not used if useDlg=True.

Output: None Return Code: None Remarks/Usage: None Example: None

API-210

feFileWriteStep

3.4.7.4 feFileWriteStep

feFileWriteStep ( fName, solidSET ) Description: This function writes selected solids to a STEP file. Input: STRING fName

The filename of the STEP file to write.

INT4 solidSET

The ID of a selection set that contains the IDs of the solids to write. Alternatively, if you specify a negative value, this is simply the ID of the single solid to write.

Output: None Return Code: FE_CANCEL

The user aborted the operation by cancelling a dialog box.

FE_INVALID

You specified a parameter that was not in the supported range.

FE_NOT_AVAILABLE

The required module for this function is not loaded on this system.

FE_SECURITY

The required module for this function is not properly licensed.

Remarks/Usage: None Example: None

feFileWriteStl

API-211

3.4.7.5 feFileWriteStl

feFileWriteStl ( fName, elemSET ) Description: This function writes elements, or the faces of elements (solids) into a stereolithography (STL) file. Input: STRING fName

The filename of the STL file to write.

INT4 elemSET

The ID of a selection set that contains the IDs of the elements to write. Alternatively, if you specify a negative value, this is simply the ID of the single element to write.

Output: None Return Code: None Remarks/Usage: All entities written to the STL file are in the form of triangles. Any quadrilateral faces that are selected are split into two triangles. Faces with midside nodes are split into multiple triangles. Planar elements are written “as-is”, while solid elements are combined and only their “free-faces” are written. Example: None

API-212

feFileWriteVrml

3.4.7.6 feFileWriteVrml

feFileWriteVrml ( fName, version, write_solid, single_color, write_deformed, write_contour, write_background, background_color, color, solidSET ) Description: This function writes either elements or solids to a VRML file. Input: STRING fName

The filename of the VRML file to write.

REAL8 version

Either 1.0 or 2.0. Specifies the version of VRML to write.

BOOL write_solid

If True, the solids selected in solidSET will be written to the VRML file; otherwise, the elements displayed in the active view will be written.

BOOL single_color

If True, all entities are written in the color specified.

BOOL write_deformed

If True and elements are written and the current view style is deformed, then the geometry written is in its deformed location.

BOOL write_contour

If True and elements are written and the current view style is contour, then the geometry written will include contour information.

BOOL write_background

If True, a plane representing the background is written along with the model geometry.

INT4 background_color

If the background is written, this is its color.

INT4 color

If single_color=True, this is the color used for all entities.

INT4 solidSET

If write_solid=True, then this is the ID of a selection set that contains the solids to write. Alternatively, you can specify a negative number that will be the ID of a single solid to write.

Output: None Return Code: FE_INVALID Remarks/Usage: None Example: None

One of the color values is outside of its acceptable range.

feFileWriteAbaqus

API-213

3.4.8 Export Analysis Model 3.4.8.1 feFileWriteAbaqus

feFileWriteAbaqus ( brand, fName ) Description: This function writes an ABAQUS input file. Input: INT4 brand

Not currently used.

STRING fName

The filename of the ABAQUS input file to write.

Output: None Return Code: None Remarks/Usage: This function will display dialog boxes to collect whatever data that it needs to complete the file. If you have an active analysis set that selects ABAQUS as the solver, then no dialog boxes will be displayed. The global variable Pref_AnalysisType is used to determine the type of analysis that is to be performed by the file. Example: None

API-214

feFileWriteAnsys

3.4.8.2 feFileWriteAnsys

feFileWriteAnsys ( brand, fName ) Description: This function writes an ANSYS input file. Input: INT4 brand

Not currently used.

STRING fName

The filename of the ANSYS input file to write.

Output: None Return Code: None Remarks/Usage: This function will display dialog boxes to collect whatever data that it needs to complete the file. The global variable Pref_AnalysisType is used to determine the type of analysis that is to be performed by the file. Example: None

feFileWriteDyna

API-215

3.4.8.3 feFileWriteDyna

feFileWriteDyna ( brand, fName ) Description: This function writes an LS-DYNA input file. Input: INT4 brand

Not currently used.

STRING fName

The filename of the DYNA file to write.

Output: None Return Code: None Remarks/Usage: This function will display dialog boxes to collect whatever data that it needs to complete the file. The global variable Pref_AnalysisType is used to determine the type of analysis that is to be performed by the file. Example: None

API-216

feFileWriteMarc

3.4.8.4 feFileWriteMarc

feFileWriteMarc ( brand, fName ) Description: This function writes a Marc input file. Input: INT4 brand

Not currently used.

STRING fName

The filename of the Marc file to read.

Output: None Return Code: None Remarks/Usage: This function will display dialog boxes to collect whatever data that it needs to complete the file. The global variable Pref_AnalysisType is used to determine the type of analysis that is to be performed by the file. Example: None

feFileWriteNastran

API-217

3.4.8.5 feFileWriteNastran

feFileWriteNastran ( brand, fName ) Description: This function writes a NASTRAN input file. Input: INT4 brand

Used to select the format of the NASTRAN file. 0=MSC, 1=NE, 2=UAI, 3=CSA, 4=SSS, 5=Cosmic, 6=ME, 7=VR, 8=NX.

STRING fName

The filename of the NASTRAN input file to write.

Output: None Return Code: FE_INVALID

You specified an invalid value for the brand option.

Remarks/Usage: This function will display dialog boxes to collect whatever data that it needs to complete the file. If you have an active analysis set that selects NASTRAN as the solver, then no dialog boxes will be displayed. The global variable Pref_AnalysisType is used to determine the type of analysis that is to be performed by the file. Example: None

API-218

feNotesGet

3.4.9 Notes 3.4.9.1 feNotesGet

feNotesGet ( noteSET, notes ) Description: This function retrieves the currently defined model notes. Input: INT4 noteSET

=1 for Model Notes, =2 for Translation Text

Output: STRING notes

The string containing the notes.

Return Code: FE_FAIL

An error occurred allocating the notes string.

FE_NOT_EXIST

There are no currently defined notes.

Remarks/Usage: This function automatically allocates/reallocates the string for the returned notes. Notes can contain multiple lines and will have carriage return (CR) and linefeed (LF) characters between the lines. It is the responsibility of the calling program to free the memory allocated to the returned string. Example: None

feNotesPut

API-219

3.4.9.2 feNotesPut

feNotesPut ( noteSET, clear, notes ) Description: This function updates the currently defined model notes. Input: INT4 noteSET

=1 for Model Notes, =2 for Translation Text

BOOL clear

If True, any existing notes are deleted before these notes are added; otherwise, this function appends to the current notes.

STRING notes

The string containing the notes to add.

Output: None Return Code: FE_FAIL

An error occurred creating the notes.

Remarks/Usage: If you want to create notes with multiple lines, you must add carriage return (CR) and linefeed (LF) characters between the lines. For example, from Basic, you could use: s = "First Line" & Chr(13) & Chr(10) & "Second Line" rc = femap.feNotesPut(1, True, s) Example: None

API-220

feFilePageSetupSave

3.4.10 Print and Copy 3.4.10.1 feFilePageSetupSave

feFilePageSetupSave ( void ) Description: This function permanently saves the current page setup settings. It is the same as pressing the Permanent button in the Page Setup command. Input: None Output: None Return Code: None Remarks/Usage: None Example: None

feFilePageSetupReset

API-221

3.4.10.2 feFilePageSetupReset

feFilePageSetupReset ( void ) Description: This function sets all of the page setup settings back to their default values. It is the same as pressing the Reset button in the Page Setup command. Input: None Output: None Return Code: None Remarks/Usage: None Example: None

API-222

feFilePrint

3.4.10.3 feFilePrint

feFilePrint ( useDlg, asBitmap, source, fromFile, toFile ) Description: This function is obsolete. You should use feFilePrint2( ) instead This function invokes the printing function. It can be used to print data that is in the current session, or saved in a file. Input: BOOL useDlg

If True, the function runs interactively and displays a dialog box to allow the user to define the options. If False, the other parameters automatically define the printing options.

BOOL asBitmap

If True, printing is done at screen (bitmap) resolution. If False, printing is in printer resolution.

INT4 source

Selects the data to print. (Active View=0, Desktop=1, File=2, MultiView Layout=3, Messages=4, Program File=5, Entity Info=6, API Programming=7, Data Table=8)

STRING fromFile

Only used if source=2, print from file. In this case, this is the full pathname of the file to print.

STRING toFile

Complete path/filename of print destination. If blank, print will go to the current printer.

Output: None Return Code: FE_CANCEL

User cancelled the dialog box.

FE_FAIL

An error occurred while printing.

Remarks/Usage: None Example: None

feFilePrint2

API-223

3.4.10.4 feFilePrint2

feFilePrint2 ( useDlg, source, toFile ) Description: This function invokes the printing function. Input: BOOL useDlg

If True, the function runs interactively and displays a dialog box to allow the user to define the options. If False, the other parameters automatically define the printing options.

INT4 source

Selects the data to print. (Active View=0, Desktop=1, File=2, MultiView Layout=3, Messages=4, Program File=5, Entity Info=6, API Programming=7, Data Table=8)

STRING toFile

Complete path/filename of print destination. If blank, print will go to the current printer.

Output: None Return Code: FE_CANCEL

User cancelled the dialog box.

FE_FAIL

An error occurred while printing.

Remarks/Usage: None Example: None

API-224

feFilePictureCopy

3.4.10.5 feFilePictureCopy

feFilePictureCopy ( void ) Description: This function copies the contents of the current Graphics window to the clipboard. Input: None Output: None Return Code: None Remarks/Usage: This method is obsolete. For new applications you should use feFilePictureCopy2( ) If you are copying a bitmap, then view that you are copying must be visible on the screen. If it is partially or fully obscured by other applications, then the picture that you copy will not be correct. Example: None

feFilePictureCopy2

API-225

3.4.10.6 feFilePictureCopy2

feFilePictureCopy2 ( saveRegion ) Description: This function copies portions of the screen to the clipboard. Input: INT4 saveRegion

0=Graphics Window, 1=Layout, 2=Entire Desktop

Output: None Return Code: None Remarks/Usage: If you are copying a bitmap, then view that you are copying must be visible on the screen. If it is partially or fully obscured by other applications, then the picture that you copy will not be correct. Example: None

API-226

feFilePictureSave

3.4.10.7 feFilePictureSave

feFilePictureSave ( useDlg, saveDesktop, format, fName ) Description: This function copies the contents of the current Graphics window (or the entire desktop) to a file. Input: BOOL useDlg

If True, this function runs interactively and displays a dialog box to ask the user to define the format and fName options.

BOOL saveDesktop

If True, the entire desktop (screen) is copied to the file. If False, only the contents of the active Graphics window are copied. If you are copying the desktop, the only valid formats are Bitmap, JPEG, PNG, GIF, and TIFF

INT4 format

The format of the file to create. 1=Bitmap, 2=Metafile, 3=Placeable Metafile, 4=JPEG, 5=Bitmap Series, 6=AVI, 7=JT, 8=“Reserved for internal use”, 9=GIF, 10=Animated GIF, 11=TIF, 12=PNG. Bitmap Series, Animated GIF, and AVI formats are only available for animating windows. Metafiles and Placeable Metafiles are only available for non-Render windows.

STRING fName

The name of the file to create.

Output: None Return Code: FE_INVALID

You specified an invalid format.

FE_FAIL

An error occurred saving the file.

Remarks/Usage: This method is obsolete - you should use feFilePictureSave2 for new applications. If you are saving a bitmap, then view that you are saving must be visible on the screen. If it is partially or fully obscured by other applications, then the file that you create will not be correct. Example: None

feFilePictureSave2

API-227

3.4.10.8 feFilePictureSave2

feFilePictureSave2 ( useDlg, saveRegion, format, fName ) Description: This function copies the contents of the current Graphics window (or the entire desktop) to a file. Input: BOOL useDlg

If True, this function runs interactively and displays a dialog box to ask the user to define the format and fName options.

INT32 saveRegion

0=Graphics Window, 1=Layout, 2=Entire Desktop

INT4 format

The format of the file to create. 1=Bitmap, 2=Metafile, 3=Placeable Metafile, 4=JPEG, 5=Bitmap Series, 6=AVI, 7=JT, 8=“Reserved for internal use”, 9=GIF, 10=Animated GIF, 11=TIF, 12=PNG. Bitmap Series, Animated GIF, and AVI formats are only available for animating windows. Metafiles and Placeable Metafiles are only available for non-Render windows.

STRING fName

The name of the file to create.

Output: None Return Code: FE_INVALID

You specified an invalid format.

FE_FAIL

An error occurred saving the file.

Remarks/Usage: If you are saving a bitmap, then view that you are saving must be visible on the screen. If it is partially or fully obscured by other applications, then the file that you create will not be correct. Example: None

API-228

feFilePictureReplay

3.4.10.9 feFilePictureReplay

feFilePictureReplay ( fName ) Description: This function replays an existing bitmap or metafile. Input: STRING fName

The name of the picture to replay - must be a bitmap or metafile.

Output: None Return Code: FE_FAIL

An error occurred replaying the picture - most likely the file does not exist.

Remarks/Usage: This function displays the picture using the FEMAP Replay program, which is launched in a separate window. There is no function available to automatically close this replay window. The Replay program can only replay bitmaps and metafiles. Other picture file formats can be saved, but cannot be replayed using this method. Example: None

feFileMessageCopy

API-229

3.4.10.10 feFileMessageCopy

feFileMessageCopy ( void ) Description: This function copies the selected messages from the Messages and Lists window to the clipboard. Input: None Output: None Return Code: None Remarks/Usage: If no messages are selected, then all messages will be copied; otherwise, only the selected ones are copied. Example: None

API-230

feFileMessageSave

3.4.10.11 feFileMessageSave

feFileMessageSave ( useDlg, fName ) Description: This function copies the selected messages to a file. Input: BOOL useDlg

If True, this function runs interactively and displays a dialog box to ask the user to define the filename.

STRING fName

The name of the file to create.

Output: None Return Code: FE_FAIL

An error occurred saving the file.

Remarks/Usage: If no messages are selected, then all messages will be copied; otherwise, only the selected ones are copied. Example: None

feFileMessageSelect

API-231

3.4.10.12 feFileMessageSelect

feFileMessageSelect ( firstLine, lastLine ) Description: This function selects the specified lines in the Messages and Lists window. Input: INT4 firstLine

The line number of the first line of text to be selected.

INT4 lastLine

The line number of the last line of text to be selected.

Output: None Return Code: FE_INVALID

One of the line numbers that you selected was outside of the range of lines that are available.

Remarks/Usage: If either firstLine or lastLine are -1, the selection will be reset - no lines will be selected. Setting firstLine = 0, will automatically select starting at the first available line. Setting lastLine = 0 will automatically select up to the last available line. You can use the global integer Message_LineNumber to retrieve the current line number in the Messages and Lists window. You can then save this value and later use it as a line number to select. Example: None

API-232

feFileMessageLineNumber

3.4.10.13 feFileMessageLineNumber

feFileMessageLineNumber ( nLine ) Description: This function returns the line number of the last line currently in the message window Input: None Output: INT4 nLine

The line number of the last line in the message window

Return Code: FE_INVALID

Either the message window is closed or the last line can not be retrieved.

Remarks/Usage: You can use this function to retrieve the current line number in the Messages and Lists window. You can then save this value and later use it as a line number to call feFileMessageSelect. Example: None

feFileRebuild

API-233

3.4.11 Rebuild and Preferences 3.4.11.1 feFileRebuild

feFileRebuild ( useDlg, fullRebuild ) Description: This function is similar to the File,Rebuild command. It rebuilds the current FEMAP database and checks it for integrity. Input: BOOL useDlg

If True, this function runs interactively and displays a dialog box to ask whether to do a full or partial rebuild. An additional dialog box may also be displayed if solid geometry is found that cannot be loaded.

BOOL fullRebuild

Only used if useDlg=False. If True, a full rebuild is performed and all internal database pointers are reconstructed. If False, a partial rebuild is performed. This simply checks data references to make sure that all required entities still exist, and resets all usage counters.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

An error occurred during rebuild. Some data is missing or corrupted. (or the rebuild was cancelled if useDlg=True)

API-234

feFilePreferencesSave

3.4.11.2 feFilePreferencesSave

feFilePreferencesSave ( void ) Description: This function permanently saves the current preference settings. It is the same as saving the preferences when you leave the File, Preferences command. Input: None Output: None Return Code: FE_FAIL

A problem occurred trying to save the settings.

Remarks/Usage: This command does not allow you to change the preference settings. All preference settings can be accessed and changed using global variables. You should change the settings that you want to modify, then call this function to make those changes permanent. Example: None

feFilePreferencesReset

API-235

3.4.11.3 feFilePreferencesReset

feFilePreferencesReset ( void ) Description: This function permanently resets the preference settings back to their default values. It is the same as pressing the Reset button in the File, Preferences command. Input: None Output: None Return Code: None Remarks/Usage: None Example: None

API-236

feRunIOTest

3.4.11.4 feRunIOTest

feRunIOTest ( sPath, nMethod ) Description: This function runs the “Read/Write Test” found in the Database tab of the File, Preferences command. Input: STRING sPath

Directory path to the current Scratch directory, where the test will take place.

Output: INT4 nMethod Return Code: None Remarks/Usage: None Example: None

Preferred result of test. 0=Windows I/O, 1=C I/O, 2=Windows 64K I/O, or 3=C 64K I/O.

API-237 3.5 Tool Methods Tool Methods include: •

Section 3.5.1, "Units"



Section 3.5.2, "Variables"



Section 3.5.3, "Layers"



Section 3.5.4, "Text"



Section 3.5.5, "Measure"



Section 3.5.6, "Checks"

API-238

feToolUnitConvertFactors

3.5.1 Units 3.5.1.1 feToolUnitConvertFactors

feToolUnitConvertFactors ( baseMult, baseAdd, factorMult, factorAdd ) Description: This function computes the “computed” factors to use in a unit conversion of the current model. Input: REAL8 baseMult[0..5]

Base factors used to multiply dimensions.

REAL8 baseAdd[0..5]

Base factors added to converted dimensions.

Output: REAL8 factorMult[0..25]

Computed factors used to multiply dimensions

REAL8 factorAdd[0..25]

Computed factors added to converted dimensions.

Return Code: FE_TOO_SMALL

One of the arrays has dimensions that are too small to be used where you specified it.

FE_NOT_AVAILABLE

One of the arrays does not contain the required data.

FE_INVALID

Data in the input arrays is outside the acceptable bounds.

FE_BAD_TYPE

Data in the input arrays is not of the correct type (e.g. REAL8 or INT4).

Remarks/Usage: For baseMult[ ] and baseAdd[ ] the array indices are: 0=Length, 1=Force, 2=Time, 3=Mass, 4=Temperature, 5=Energy For factorMult[ ] and factorAdd[ ], the array indices are: 0=Length, 1=Area, 2=Inertia, 3=Force, 4=Moment, 5=Spring, 6=SpringRot, 7=Pressure, 8=Acceleration, 9=AccelRot, 10=VelocityRot, 11=Damping, 12=DampingRot, 13=Mass, 14=Mass-Len, 15=MassPerLen, 16=MassPerArea, 17=Density, 18=MassInertia, 19=Temperature, 20=ThermalExpansion, 21=ThermConductivity, 22=SpecificHeat, 23=HeatGenRate, 24=Velocity, 25=EnergyPerMass This method can be called prior to calling feToolUnitConvert to compute the factor arrays needed for that method. Example: None

feToolUnitConvert

API-239

3.5.1.2 feToolUnitConvert

feToolUnitConvert ( baseMult, baseAdd, factorMult, factorAdd ) Description: This function converts the units of the current model. Input: REAL8 baseMult[0..5]

Base factors used to multiply dimensions.

REAL8 baseAdd[0..5]

Base factors added to converted dimensions.

REAL8 factorMult[0..25]

Computed factors used to multiply dimensions

REAL8 factorAdd[0..25]

Computed factors added to converted dimensions.

Output: None Return Code: FE_TOO_SMALL

One of the arrays has dimensions that are too small to be used where you specified it.

FE_NOT_AVAILABLE

One of the arrays does not contain the required data.

FE_INVALID

Data in the input arrays is outside the acceptable bounds.

FE_BAD_TYPE

Data in the input arrays is not of the correct type (e.g. REAL8 or INT4).

Remarks/Usage: For baseMult[ ] and baseAdd[ ] the array indices are: 0=Length, 1=Force, 2=Time, 3=Mass, 4=Temperature, 5=Energy For factorMult[ ] and factorAdd[ ], the array indices are: 0=Length, 1=Area, 2=Inertia, 3=Force, 4=Moment, 5=Spring, 6=SpringRot, 7=Pressure, 8=Acceleration, 9=AccelRot, 10=VelocityRot, 11=Damping, 12=DampingRot, 13=Mass, 14=Mass-Len, 15=MassPerLen, 16=MassPerArea, 17=Density, 18=MassInertia, 19=Temperature, 20=ThermalExpansion, 21=ThermConductivity, 22=SpecificHeat, 23=HeatGenRate, 24=Velocity, 25=EnergyPerMass You can use the feToolUnitConvertFactors( ) method to automatically compute values for factorMult and factorAdd prior to calling this method. Example: None

API-240

feVarPut

3.5.2 Variables 3.5.2.1 feVarPut

feVarPut ( varName, evalEqn, setConst, varValue, varEqn ) Description: This function adds a variable/equation to the model. Input: STRING varName

Specifies the name of the variable to define. Must follow normal FEMAP variable naming conventions - start with a letter, unique to 5 characters.

BOOL evalEqn

If True, the varEqn equation is evaluated to compute varValue.

BOOL setConst

If True, the varValue value is converted to a text string and used as a constant equation in varEqn.

REAL8 varValue

Current evaluated value for the variable. Should be the current value of the equation specified.

STRING varEqn

The defining equation for the variable.

Output: None Return Code: FE_BAD_DATA

The equation that you specified in varEqn cannot be evaluated.

FE_INVALID

You specified an invalid variable name.

Remarks/Usage: Normally you will not specify both evalEqn=True and setConst=True, but if you do, evalEqn is done first. Your original varEqn will be evaluated to find a constant which will then overwrite the original equation. Example: None

feVarGet

API-241

3.5.2.2 feVarGet

feVarGet ( varName, varValue, varEqn ) Description: This function retrieves a variable including its current value and defining equation. Input: STRING varName

Specifies the name of the variable to retrieve. Must follow normal FEMAP variable naming conventions - start with a letter, unique to 5 characters.

Output: REAL8 varValue

Current evaluated value for the variable.

STRING varEqn

The defining equation for the variable.

Return Code: FE_NOT_EXIST

The variable name that you specified has not been defined.

FE_INVALID

You specified an invalid variable name.

Remarks/Usage: None Example: None

API-242

feVarEval

3.5.2.3 feVarEval

feVarEval ( varEqn, varValue ) Description: This function evaluates an equation. Input: STRING varEqn

The equation to be evaluated. This string can follow the syntax of any equation that you can define in FEMAP, including the use of functions and other variables.

Output: REAL8 varValue

Evaluated value for the equation.

Return Code: FE_BAD_DATA

The equation cannot be evaluated.

Remarks/Usage: This function does not store its results or create any variables. It simply evaluates the expression that you supply. Example: None

feLayerPut

API-243

3.5.3 Layers 3.5.3.1 feLayerPut

feLayerPut ( layID, layColor, layTitle ) Description: This function creates or updates a layer. Input: INT4 layID

The ID of the layer to create or update.

INT4 layColor

The color used for the layer that is created. Set to -1 to use the active layer color.

STRING layTitle

The title to be used for the layer.

Output: None Return Code: None Remarks/Usage: None Example: None

API-244

feLayerGet

3.5.3.2 feLayerGet

feLayerGet ( layID, layColor, layTitle ) Description: This function retrieves information about a layer. Input: INT4 layID

The ID of the layer to create or update.

Output: INT4 layColor

The layer color.

STRING layTitle

The title of the layer.

Return Code: FE_NOT_EXIST Remarks/Usage: None Example: None

The layer that you requested has not been defined.

feTextPut

API-245

3.5.4 Text 3.5.4.1 feTextPut

feTextPut ( textID, drawPointer, drawBorder, modelPos, horzJust, vertJust, visView, layer, fontID, backColor, bordColor, textColor, textLoc, pointerLoc, text) Description: This function creates or updates a text annotation. Input: INT4 textID

The ID of the text entity to create or update.

BOOL drawPointer

If True, a pointer will be drawn from the text to a location that you specify in pointerLoc.

BOOL drawBorder

If True, a border will be drawn around the text.

BOOL modelPos

If True, both the textLoc and pointerLoc are in global Cartesian model coordinates. If False, they are in screen coordinates.

INT4 horzJust

The horizontal justification: 0=Center, 1=Left, 2=Right.

INT4 vertJust

The vertical justification: 0=Center, 1=Top, 2=Bottom.

INT4 visView

Specifies the views where the text will be visible: -1=All Views, 0=Currently Active View, >0=Specified View ID.

INT4 layer

The layer attribute for the text.

INT4 fontID

The ID of the font for the text. Same fonts as in the Tools, Text command.

INT4 backColor

The color of the background of the border (if drawBorder=True).

INT4 bordColor

The color of the edge of the border (if drawBorder=True).

INT4 textColor

The color of the text.

REAL8 textLoc[0..2]

The location of the text. If in model coordinates, the X,Y,Z coordinates in global Cartesian. If in screen, the X and Y screen coordinates. In this case, the third coordinate should always be 0.0

REAL8 pointerLoc[0..2]

The location of the tip of the pointer.

STRING text

The text to create.

Output: None Return Code: None

API-246

feTextPut

feTextPut ( textID, drawPointer, drawBorder, modelPos, horzJust, vertJust, visView, layer, fontID, backColor, bordColor, textColor, textLoc, pointerLoc, text) Remarks/Usage: If you want to create text with multiple lines, you must add carriage return (CR) and linefeed (LF) characters between the lines. For example, from Basic, you could use: s = "First Line" & Chr(13) & Chr(10) & "Second Line" Example: None

feTextMultiPut

API-247

3.5.4.2 feTextMultiPut

feTextMultiPut ( drawPointer, drawBorder, modelPos, horzJust, vertJust, visView, layer, fontID, backColor, bordColor, textColor, nCount, textLoc, pointerLoc, text) Description: This function creates multiple text annotations. Input: BOOL drawPointer

If True, a pointer will be drawn from the text to a location that you specify in pointerLoc.

BOOL drawBorder

If True, a border will be drawn around the text.

BOOL modelPos

If True, both the textLoc and pointerLoc are in global Cartesian model coordinates. If False, they are in screen coordinates.

INT4 horzJust

The horizontal justification: 0=Center, 1=Left, 2=Right.

INT4 vertJust

The vertical justification: 0=Center, 1=Top, 2=Bottom.

INT4 visView

Specifies the views where the text will be visible: -1=All Views, 0=Currently Active View, >0=Specified View ID.

INT4 layer

The layer attribute for the text.

INT4 fontID

The ID of the font for the text. Same fonts as in the Tools, Text command.

INT4 backColor

The color of the background of the border (if drawBorder=True).

INT4 bordColor

The color of the edge of the border (if drawBorder=True).

INT4 textColor

The color of the text.

INT4 nCount

The number of text items to create. This value specifies the number of entries in the remaining parameters

REAL8 textLoc[0..3*nCount1]

The location of the text. If in model coordinates, the X,Y,Z coordinates in global Cartesian. If in screen, the X and Y screen coordinates. In this case, the third coordinate should always be 0.0. Entries in this array are stored [Text1X,Text1Y,Text1Z,Text2X,...TextNZ]

REAL8 pointerLoc[0..3*nCount-1]

The location of the tip of the pointer. Stored the same as textLoc.

STRING text[0..nCount-1]

The text items to create. Each string creates a unique Text entity.

Output: None Return Code:

API-248

feTextMultiPut

feTextMultiPut ( drawPointer, drawBorder, modelPos, horzJust, vertJust, visView, layer, fontID, backColor, bordColor, textColor, nCount, textLoc, pointerLoc, text) None Remarks/Usage: If you want to create text with multiple lines, you must add carriage return (CR) and linefeed (LF) characters between the lines. For example, from Basic, you could use: s = "First Line" & Chr(13) & Chr(10) & "Second Line" Example: Sub Main Dim App As femap.model Set App = feFemap() Dim xyz(8) As Double Dim t(2) As String Dim n As femap.Node Set n = App.feNode() n.Get(1) xyz(0) = n.x xyz(1) = n.y xyz(2) = n.z n.Get(2) xyz(3) = n.x xyz(4) = n.y xyz(5) = n.z n.Get(3) xyz(6) = n.x xyz(7) = n.y xyz(8) = n.z t(0) = "AA" t(1) = "This is" & Chr(13) & Chr(10) & "Multi line" t(2) = "XYZDEF" App.feTextMultiPut ( False, False, True, 0, 0, -1, 1, 2, FCL_RED, FCL_BLUE, FCL_RED, 3, xyz, xyz, t ) End Sub

feTextGet

API-249

3.5.4.3 feTextGet

feTextGet ( textID, drawPointer, drawBorder, modelPos, horzJust, vertJust, visView, layer, fontID, backColor, bordColor, textColor, textLoc, pointerLoc, text) Description: This function retrieves a text entity. Input: INT4 textID

The ID of the text entity to create or update.

Output: BOOL drawPointer

The status of the pointer (True=On).

BOOL drawBorder

The status of the border (True=On).

BOOL modelPos

If True, both the textLoc and pointerLoc are in global Cartesian model coordinates. If False, they are in screen coordinates.

INT4 horzJust

The horizontal justification: 0=Center, 1=Left, 2=Right.

INT4 vertJust

The vertical justification: 0=Center, 1=Top, 2=Bottom.

INT4 visView

Specifies the views where the text will be visible: -1=All Views, 0=Currently Active View, >0=Specified View ID.

INT4 layer

The layer attribute for the text.

INT4 fontID

The ID of the font for the text. Same fonts as in the Tools, Text command.

INT4 backColor

The color of the background of the border (if drawBorder=True).

INT4 bordColor

The color of the edge of the border (if drawBorder=True).

INT4 textColor

The color of the text.

REAL8 textLoc[0..2]

The location of the text. If in model coordinates, the X,Y,Z coordinates in global Cartesian. If in screen, the X and Y screen coordinates. In this case the third coordinate should always be 0.0.

REAL8 pointerLoc[0..2]

The location of the tip of the pointer.

STRING text

The text. If there are multiple lines of text, there will be carriage return and linefeed characters in the string.

Return Code: FE_NOT_EXIST Remarks/Usage: None

The text entity that you requested does not exist.

API-250

feTextGet

feTextGet ( textID, drawPointer, drawBorder, modelPos, horzJust, vertJust, visView, layer, fontID, backColor, bordColor, textColor, textLoc, pointerLoc, text) Example: None

feMeasureDistance

API-251

3.5.5 Measure 3.5.5.1 feMeasureDistance

feMeasureDistance ( p1, p2, dist ) Description: This function measures the distance between two coordinates. Input: REAL8 p1[0..2]

The first coordinate location.

REAL8 p2[0..2]

The second coordinate location.

Output: REAL8 dist

The distance between the coordinate locations.

Return Code: None Remarks/Usage: The coordinate locations must be in the same rectangular coordinate system for this function to work properly - preferably in global rectangular. Example: None

API-252

feMeasureDistanceToPlane

3.5.5.2 feMeasureDistanceToPlane

feMeasureDistanceToPlane ( p1, planePt, planeNorm, dist ) Description: This function measures the distance between a coordinate location and a plane. The distance is the length of the perpendicular projection onto the plane. Input: REAL8 p1[0..2]

The coordinate location.

REAL8 planePt[0..2]

The coordinates of any point on the plane.

REAL8 planeNorm[0..2]

The components of the perpendicular vector to the plane.

Output: REAL8 dist

The distance from the coordinate location to its projection onto the plane.

Return Code: None Remarks/Usage: The coordinate locations and components must be in the same rectangular coordinate system for this function to work properly - preferably in global rectangular. Example: None

feMeasureDistanceBetweenNodes

API-253

3.5.5.3 feMeasureDistanceBetweenNodes

feMeasureDistanceBetweenNodes ( nFrom, nTo, nOutSetID, nOutVecID, nCSysID, vecBase, vecDist, magDist ) Description: This function measures the distance between two nodes which are optionally deformed using selected results. Input: INT4 nFrom

The ID of the node to measure from

INT4 nTo

The ID of the node to measure to

INT4 nOutSetID

The ID of the output set which contains the results to use to deform the nodes. If 0, use the undeformed location of the nodes.

INT4 nOutVecID

The ID of the output vector in nOutSetID which contains the results to use to deform the nodes. If 0, use the undeformed locations.

INT4 nCSysID

The ID of the coordinate system in which the results are returned.

Output: REAL8 vecBase[0..2]

The coordinates of the nFrom node (possibly deformed) in CSys nCSysID

REAL8 vecDist[0..2]

The components of the vector from nFrom to nTo in CSys nCSysID

REAL8 magDist

The distance between the nodes

Return Code: FE_NOT_AVAILABLE

Selected results Set/Vector do not exist

FE_INVALID

No output available for one or more of the nodes in the selected results vector.

FE_NOT_EXIST

One or more of the nodes does not exist

Remarks/Usage: None Example: None

API-254

feMeasureDistanceBetweenLines

3.5.5.4 eMeasureDistanceBetweenLines

feMeasureDistanceBetweenLines ( pA1, pA2, pB1, pB2, dist ) Description: This function measures the minimum distance between two line segments in space which are specified by the coordinates of their endpoints. Input: REAL8 pA1[0..2]

The coordinates at the first end of the first line.

REAL8 pA2[0..2]

The coordinates at the second end of the first line.

REAL8 pB1[0..2]

The coordinates at the first end of the second line.

REAL8 pB2[0..2]

The coordinates at the second end of the second line.

Output: REAL8 dist

The minimum distance between the two line segments.

Return Code: None Remarks/Usage: The coordinate locations must be in the same rectangular coordinate system for this function to work properly - preferably in global rectangular. The minimum distance will be the perpendicular distance if the closest point of approach lies within the lengths of the segments. If it does not, then the distance will be the distance from one of the endpoints to the other line. Example: None

feMeasureAngle

API-255

3.5.5.5 feMeasureAngle

feMeasureAngle ( center, p1, p2, angle ) Description: This function measures the angle between three coordinate locations. Input: REAL8 center[0..2]

The coordinates of the center location.

REAL8 p1[0..2]

The first coordinate location.

REAL8 p2[0..2]

The second coordinate location.

Output: REAL8 angle

The angle between the coordinate locations (in degrees).

Return Code: None Remarks/Usage: The coordinate locations must be in the same rectangular coordinate system for this function to work properly - preferably in global rectangular. The center location is the point about which the angle is measured. The angle is the angle between the vector from the center to p1 and the vector from the center to p2. The angle returned is always less than 180 degrees. There is no indication of the direction swept by the angle. Example: None

API-256

feMeasureAngleBetweenNodes

3.5.5.6 feMeasureAngleBetweenNodes

feMeasureAngleBetweenNodes ( nVertex, nFrom, nTo, nOutSetID, nOutVecID, nCSysID, vecBase, vecNormal, magAngle ) Description: This function measures the angle between three coordinate locations. Input: INT4 nVertex

The ID of a node at the vertex of the angle

INT4 nFrom

The ID of a node to measure the angle from

INT4 nTo

The ID of a node to measure the angle to

INT4 nOutSetID

The ID of the output set which contains the results to use to deform the nodes. If 0, use the undeformed location of the nodes.

INT4 nOutVecID

The ID of the output vector in nOutSetID which contains the results to use to deform the nodes. If 0, use the undeformed locations.

INT4 nCSysID

The ID of the coordinate system in which the results are returned.

Output: REAL8 vecBase[0..2]

The coordinates of the nVertex node (possibly deformed) in CSys nCSysID

REAL8 vecNormal[0..2]

The components of the vector that is normal to the plane formed by the three (possibly deformed) nodes, in CSys nCSysID

REAL8 magAngle

The angle between the nodes

Return Code: None Remarks/Usage: None Example: None

feMeasureCurve

API-257

3.5.5.7 feMeasureCurve

feMeasureCurve ( curveSET, totalLength ) Description: This function measures the length of one or more curves. Input: INT4 curveSET

The ID of a selection set that contains the IDs of the curves to measure. Alternatively, if you specify a negative value, this is simply the ID of the single curve to measure.

Output: REAL8 totalLength

The total length of all the curves.

Return Code: None Remarks/Usage: The total length of the curves is simply the sum of the lengths of the individual curves, it does not account for any overlap in the curves. Example: None

API-258

feMeasureSurfaceArea

3.5.5.8 feMeasureSurfaceArea

feMeasureSurfaceArea ( surfaceSET, totalArea ) Description: This function measures the area of one or more surfaces. Input: INT4 surfaceSET

The ID of a selection set that contains the IDs of the surfaces to measure. Alternatively, if you specify a negative value, this is simply the ID of the single surface to measure.

Output: REAL8 totalArea

The total area of the selected surfaces.

Return Code: FE_NOT_EXIST

One or more of the surfaces that you selected did not exist. totalArea is still the area of the existing surfaces.

FE_BAD_TYPE

One or more of the surfaces that you selected was not a solid surface.

Remarks/Usage: This function only works for solid surfaces. Surfaces created with the standard geometry engine and boundary surfaces cannot be measured for area. Example: None

feMeasureSolidMassProp

API-259

3.5.5.9 feMeasureSolidMassProp

feMeasureSolidMassProp ( solidID, area, volume, cg, inertia ) Description: This function computes the mass properties of a solid. Input: INT4 solidID

The ID of the solid to compute the mass properties.

Output: REAL8 area

The total surface area of the solid.

REAL8 volume

The volume of the solid (if closed).

REAL8 cg[0..2]

The location of the center of gravity of the solid.

REAL8 inertia[0..9]

The 3x3 inertia matrix stored in row order [0][0], [0][1], [0][2], [1][0]...[2][2].

Return Code: FE_NOT_EXIST

The solid that you have selected does not exist.

Remarks/Usage: The cg and inertia terms are in global rectangular coordinates. Example: None

API-260

feMeasureMeshMassProp

3.5.5.10 feMeasureMeshMassProp

feMeasureMeshMassProp ( elemSET, csysID, printResults, printDetails, len, area, volume, structMass, nonstructMass, totalMass, structCG, nonstructCG, totalCG, inertia, inertiaCG ) Description: This function computes the mass properties of a mesh. Input: INT4 elemSET

The ID of a selection set that contains the IDs of the elements to measure. Alternatively, if you specify a negative value, this is simply the ID of the single element to measure.

INT4 csysID

The coordinate system used to compute the mass properties.

BOOL printResults

If True, the mass properties are also listed to the print destination.

BOOL printDetails

If True, and printResults=True, the detailed properties for each element are listed.

Output: REAL8 len

The total length of all selected line elements.

REAL8 area

The total area of all selected planar elements.

REAL8 volume

The total volume of all selected elements.

REAL8 structMass

The structural mass of all selected elements.

REAL8 nonstructMass

The nonstructural mass of all selected elements.

REAL8 totalMass

The total (structural+nonstructural) mass of all selected elements.

REAL8 structCG[0..2]

The center of gravity of the structural mass.

REAL8 nonstructCG[0..2]

The center of gravity of the nonstructural mass.

REAL8 totalCG[0..2]

The center of gravity of the total mass.

REAL8 inertia[0..5]

The inertias of the selected elements ( 0=I11, 1=I21, 2=I22, 3=I31, 4=I32, 5=I33) about the origin of the selected coordinate system.

REAL8 inertiaCG[0..5]

The inertias of the selected elements ( 0=I11, 1=I21, 2=I22, 3=I31, 4=I32, 5=I33) about the center of gravity.

Return Code: FE_NOT_EXIST

The solid that you have selected does not exist.

FE_NEGATIVE_MASS_VOL UME

Some of the elements that you have selected have either negative mass or volume. Returned values may be less than the total absolute mass or volume.

feMeasureMeshMassProp

API-261

feMeasureMeshMassProp ( elemSET, csysID, printResults, printDetails, len, area, volume, structMass, nonstructMass, totalMass, structCG, nonstructCG, totalCG, inertia, inertiaCG ) Remarks/Usage: Only total mass properties are returned. If you want to get individual properties, you must call this function and just select a single element. Example: None

API-262

feMeasureSurfSectionProp

3.5.5.11 feMeasureSurfSectionProp

feMeasureSurfSectionProp ( surfID, vecBase, vecDir, sectProp ) Description: This function computes the section properties for a planar surface. Input: INT4 surfID

The ID of the surface to compute the properties.

REAL8 vecBase[0..2]

The coordinates of the origin of the orientation vector. Section properties are reported about this point.

REAL8 vecDir[0..2]

A vector in the direction of the Y axis of the section. Section properties are reported about this axis.

Output:

REAL8 sectProp[0..24]

The computed properties. 0= Area, 1= Y centroid, 2= Z centroid, 3= Y moment of inertia, 4= Z moment of inertia, 5= YZ product of inertia, 6= Angle to principal axes, 7= Y radius of gyration, 8= Z radius of gyration, 9= Polar moment of inertia, 10= Max Principal moment of inertia, 11= Min Principal moment of inertia, 12= Y Principal moment of inertia, 13= Z Principal moment of inertia, 14= YZ Principal moment of inertia, 15= Y Shear Center - from origin, 16= Z Shear Center - from origin, 17= Y Shear Center - from centroid, 18= Z Shear Center - from centroid, 19= Y Shear Area, 20= Z Shear Area, 21= YZ Shear Area, 22= Warping Constant, 23= Torsional Constant, 24= Not Used.

Return Code: FE_TOO_SMALL

One of the arrays has dimensions which are too small to be used where you specified it.

FE_NOT_AVAILABLE

One of the arrays does not contain the required data.

FE_INVALID

Data in the input arrays is outside the acceptable bounds.

FE_BAD_TYPE

Data in the input arrays is not of the correct type (e.g. REAL8 or INT4).

Remarks/Usage: None Example: None

feMeasureMeshSectionProp

API-263

3.5.5.12 feMeasureMeshSectionProp

feMeasureMeshSectionProp ( elemSET, vecBase, vecDir, sectProp ) Description: This function computes the section properties for a selected set of elements. Input: INT4 elemSET

The ID of a selection set that contains the IDs of the elements to measure. Alternatively, if you specify a negative value, this is simply the ID of the single element to measure.

REAL8 vecBase[0..2]

The coordinates of the origin of the orientation vector. Section properties are reported about this point.

REAL8 vecDir[0..2]

A vector in the direction of the Y axis of the section. Section properties are reported about this axis.

Output:

REAL8 sectProp[0..24]

The computed properties: 0= Area, 1= Y centroid, 2= Z centroid, 3= Y moment of inertia, 4= Z moment of inertia, 5= YZ product of inertia, 6= Angle to principal axes, 7= Y radius of gyration, 8= Z radius of gyration, 9= Polar moment of inertia, 10= Max Principal moment of inertia, 11= Min Principal moment of inertia, 12= Y Principal moment of inertia, 13= Z Principal moment of inertia, 14= YZ Principal moment of inertia, 15= Y Shear Center - from origin, 16= Z Shear Center - from origin, 17= Y Shear Center - from centroid, 18= Z Shear Center - from centroid, 19= Y Shear Area, 20= Z Shear Area, 21= YZ Shear Area, 22= Warping Constant, 23= Torsional Constant, 24= Not Used.

Return Code: FE_TOO_SMALL

One of the arrays has dimensions which are too small to be used where you specified it.

FE_NOT_AVAILABLE

One of the arrays does not contain the required data.

FE_INVALID

Data in the input arrays is outside the acceptable bounds.

FE_BAD_TYPE

Data in the input arrays is not of the correct type (e.g. REAL8 or INT4).

Remarks/Usage: The elements that you select should all be planar elements. Example: None

API-264

feCheckCoincidentNode

3.5.6 Checks 3.5.6.1 feCheckCoincidentNode

feCheckCoincidentNode ( keepSET, mergeSET, tolerance, merge, messages, coinCount, coinNodes ) Description: This function checks, and optionally merges, coincident nodes. This method is obsolete and should be replaced by feCheckCoincidentNode2( ) Input:

INT4 keepSET

The ID of a selection set that contains the IDs of the nodes to check for coincidence. Alternatively, if you specify a negative value, this is simply the ID of the single node to check. The nodes in this set are retained if they are merged with a node in the mergeSET.

INT4 mergeSET

The ID of a selection set that contains the IDs of the nodes to check for coincidence. Alternatively, if you specify a negative value, this is simply the ID of the single node to check. The nodes in this set are removed if they are merged with a node in the keepSET. You can specify the same value for both the keepSET and the mergeSET.

REAL8 tolerance

The distance below which nodes will be considered to be coincident.

BOOL merge

If True, coincident nodes will be merged.

BOOL messages

If True, messages will be printed listing all coincident nodes that are found.

Output: INT4 coinCount

The number of pairs of coincident nodes in coinNodes.

INT4 coinNodes[0..N]

The IDs of the nodes that are found to be coincident. The entries in this array come in pairs. That is, coinNodes[0] and coinNodes[1] are coincident with each other, as are coinNodes[2] and coinNodes[3]. The entries in coinNodes[0], coinNodes[2], coinNodes[4]... come from the keepSET, coinNodes[1], coinNodes[3]... come from the mergeSET. There are coinCount pairs.

Return Code: FE_TOO_SMALL

One of the arrays has dimensions which are too small to be used where you specified it.

FE_NOT_AVAILABLE

One of the arrays does not contain the required data.

FE_INVALID

Data in the input arrays is outside the acceptable bounds.

FE_BAD_TYPE

Data in the input arrays is not of the correct type (e.g. REAL8 or INT4).

feCheckCoincidentNode

feCheckCoincidentNode ( keepSET, mergeSET, tolerance, merge, messages, coinCount, coinNodes ) Remarks/Usage: None Example: None

API-265

API-266

feCheckCoincidentNode2

3.5.6.2 feCheckCoincidentNode

feCheckCoincidentNode2 ( mergeSET, tolerance, merge, mergeMode, mergeLoc, bMergeAcrossConnections, nMessageMode, bSaveGroups ) Description: This function checks, and optionally merges, coincident nodes. Input: INT4 mergeSET

The ID of a selection set that contains the IDs of the nodes to check for coincidence.

REAL8 tolerance

The distance below which nodes will be considered to be coincident.

BOOL merge

If True, coincident nodes will be merged, otherwise just checked for coincidence

INT4 mergeMode

Select Nodes to Keep 0=Automatic, 1=LowerID, 2=HigherID

INT4 mergeLoc

Location of merged nodes 0=Original, 1=LowerID, 2=HigherID, 3=Middle

BOOL bMergeAcrossConnections

If True, nodes can be merged even though they are on opposite sides of a connection. Otherwise they are not merged.

INT4 nMessageMode

Message Mode 0=Off, 1=On, 2=Detailed

BOOL bSaveGroups

If True, groups are created of the nodes to be kept, and if merge=False of the nodes to be merged.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to check for coincident nodes

feCheckCoincidentPoint

API-267

3.5.6.3 feCheckCoincidentPoint

feCheckCoincidentPoint ( keepSET, mergeSET, tolerance, merge, messages, coinCount, coinPoints ) Description: This function checks, and optionally merges, coincident points. Input:

INT4 keepSET

The ID of a selection set that contains the IDs of the points to check for coincidence. Alternatively, if you specify a negative value, this is simply the ID of the single point to check. The points in this set are retained if they are merged with a point in the mergeSET.

INT4 mergeSET

The ID of a selection set that contains the IDs of the points to check for coincidence. Alternatively, if you specify a negative value, this is simply the ID of the single point to check. The points in this set are removed if they are merged with a point in the keepSET. You can specify the same value for both the keepSET and the mergeSET.

REAL8 tolerance

The distance below which points will be considered to be coincident.

BOOL merge

If True, coincident points will be merged.

BOOL messages

If True, messages will be printed listing all coincident points that are found.

Output: INT4 coinCount

The number of pairs of coincident points in coinPoints.

INT4 coinPoints[0..N]

The IDs of the points that are found to be coincident. The entries in this array come in pairs. That is, coinPoints[0] and coinPoints[1] are coincident with each other, as are coinPoints[2] and coinPoints[3]. The entries in coinPoints[0], coinPoints[2], coinPoints[4]... come from the keepSET, coinPoints[1], coinPoints[3]... come from the mergeSET. There are coinCount pairs.

Return Code: FE_TOO_SMALL

One of the arrays has dimensions which are too small to be used where you specified it.

FE_NOT_AVAILABLE

One of the arrays does not contain the required data.

FE_INVALID

Data in the input arrays is outside the acceptable bounds.

FE_BAD_TYPE

Data in the input arrays is not of the correct type (e.g. REAL8 or INT4).

Remarks/Usage: None

API-268

feCheckCoincidentPoint

feCheckCoincidentPoint ( keepSET, mergeSET, tolerance, merge, messages, coinCount, coinPoints ) Example: None

feCheckCoincidentCurve

API-269

3.5.6.4 feCheckCoincidentCurve

feCheckCoincidentCurve ( curveSET, tolerance ) Description: This function checks and merges coincident curves. Input: INT4 curveSET

The ID of a selection set that contains the IDs of the curves to check for coincidence. Alternatively, if you specify a negative value, this is simply the ID of the single curve to check.

REAL8 tolerance

The distance below which curves (and their endpoints) will be considered to be coincident.

Output: None Return Code: None Remarks/Usage: None Example: None

API-270

feCheckPlanarNodes

3.5.6.5 feCheckPlanarNodes

feCheckPlanarNodes ( nodeSET, messages, project, tolerance, askPlane, planeBase, planeNormal ) Description: This function checks a set of nodes to see if they are planar. The nodes can also be projected onto the plane. Input: INT4 nodeSET

The ID of a selection set that contains the IDs of the nodes to check. Alternatively, if you specify a negative value, this is simply the ID of the single node to check.

BOOL messages

If True, status messages are written showing the nodes that are not on the plane.

BOOL project

If True, nodes that are not in the plane but are less than the tolerance distance out of the plane will be projected onto the plane. Nodes that are greater than the tolerance distance away from the plane will remain in their current location.

REAL8 tolerance

The maximum distance from the plane for nodes to be moved onto the plane. Only used if project=True.

BOOL askPlane

If True, a dialog box will be displayed asking the user to pick a plane. If False, the planeBase and planeNormal will be used to specify the plane location.

REAL8 planeBase[0..2]

A location (in global rectangular coordinates) on the plane.

REAL8 planeNormal[0..2]

A vector that is normal to the plane.

Output: None Return Code: None Remarks/Usage: None Example: None

feCheckCoincidentElem

API-271

3.5.6.6 feCheckCoincidentElem

feCheckCoincidentElem ( elemSET, chkTYPE, chkSHAPE, chkMASS, doLIST, makeGROUP1, makeGROUP2 ) Description: This function checks a set of elements to see if any of them are coincident (share the same nodes). Input: INT4 elemSET

The ID of a selection set that contains the IDs of the elements to check. Alternatively, if you specify a negative value, this is simply the ID of the single element to check.

BOOL chkTYPE

If True, elements of different type can still be considered coincident.

BOOL chkSHAPE

If True, elements of different shape can be considered coincident if all of the nodes of one of the elements are on the other element.

BOOL chkMASS

If True, mass elements are included in the check.

BOOL doLIST

If True, coincident elements are listed in the Messages and Lists window.

BOOL makeGROUP1

If True, a group is made of the first element in the coincident pair.

BOOL makeGROUP2

If True, a group is made of the second element in the coincident pair.

Output: None Return Code: None Remarks/Usage: This function only finds coincident elements that share the same nodes - not ones that may be coincident in physical location, but still have different nodes. Example: None

API-272

feCheckElemFixup

3.5.6.7 feCheckElemFixup

feCheckElemFixup ( elemSET ) Description: This function checks and attempts to fix a set of elements to see if any of them are invalid. Input: INT4 elemSET

The ID of a selection set that contains the IDs of the elements to check. Alternatively, if you specify a negative value, this is simply the ID of the single element to check.

Output: None Return Code: None Remarks/Usage: This function is just like the fixup option in the Tools, Check, Distortion command. Checks include zero length, twisted faces, inverted solids, and element/property mismatch. Example: None

feCheckElemDistortion

API-273

3.5.6.8 feCheckElemDistortion

feCheckElemDistortion ( elemSET, doLIST, makeGROUP, chkASPECT, chkTAPER, chkANGLE, chkWARP, chkALTTAPER, chkTET, chkJDet, chkComb, maxASPECT, maxTAPER, maxANGLE, maxWARP, maxALTTAPER, maxTET, maxJDet, maxComb ) Description: This function checks a set of elements to see if any of them are distorted. Input: INT4 elemSET

The ID of a selection set that contains the IDs of the elements to check. Alternatively, if you specify a negative value, this is simply the ID of the single element to check.

BOOL doLIST

If True, distorted elements are listed in the Messages and Lists window.

BOOL makeGROUP

If True, a group is made of the distorted elements.

BOOL chkASPECT

If True, the aspect ratio check is performed.

BOOL chkTAPER

If True, element taper is checked.

BOOL chkANGLE

If True, the element internal angle check is performed.

BOOL chkWARP

If True, the element warping check is performed.

BOOL chkALTTAPER

If True, the alternate element taper check is performed.

BOOL chkTET

If True, tetrahedral elements are checked for collapse.

BOOL chkJDet

If True, checks element Jacobian

BOOL chkComb

If True, checks for combined element distortion factor

REAL8 maxASPECT

Limit for aspect ratio check.

REAL8 maxTAPER

Limit for taper check.

REAL8 maxANGLE

Limit for internal angle check.

REAL8 maxWARP

Limit for warping check.

REAL8 maxALTTAPER

Limit for alternate element taper check.

REAL8 maxTET

Limit for tet collapse check.

REAL8 maxJDet

Limit for Jacobian check

REAL8 maxComb

Limit for Combined Element Distortion check

Output: None

API-274

feCheckElemDistortion

feCheckElemDistortion ( elemSET, doLIST, makeGROUP, chkASPECT, chkTAPER, chkANGLE, chkWARP, chkALTTAPER, chkTET, chkJDet, chkComb, maxASPECT, maxTAPER, maxANGLE, maxWARP, maxALTTAPER, maxTET, maxJDet, maxComb ) Return Code: Data in the limit values is outside the acceptable bounds. FE_INVALID

Remarks/Usage: This function is just like the Tools, Check, Distortion command. The checks performed and the limit values are identical to that command. Example: None

feCheckElemDistortion2

API-275

3.5.6.9 feCheckElemDistortion2

feCheckElemDistortion2 ( elemSET, doLIST, makeGROUP, chkASPECT, chkTAPER, chkANGLE, chkWARP, chkALTTAPER, chkTET, chkJDet, chkComb, chkExpTime, maxASPECT, maxTAPER, maxANGLE, maxWARP, maxALTTAPER, maxTET, maxJDet, maxComb, maxExpTime ) Description: This function checks a set of elements to see if any of them are distorted. Input: INT4 elemSET

The ID of a selection set that contains the IDs of the elements to check. Alternatively, if you specify a negative value, this is simply the ID of the single element to check.

BOOL doLIST

If True, distorted elements are listed in the Messages and Lists window.

BOOL makeGROUP

If True, a group is made of the distorted elements.

BOOL chkASPECT

If True, the aspect ratio check is performed.

BOOL chkTAPER

If True, element taper is checked.

BOOL chkANGLE

If True, the element internal angle check is performed.

BOOL chkWARP

If True, the element warping check is performed.

BOOL chkALTTAPER

If True, the alternate element taper check is performed.

BOOL chkTET

If True, tetrahedral elements are checked for collapse.

BOOL chkJDet

If True, checks element Jacobian

BOOL chkComb

If True, checks for combined element distortion factor

BOOL chkExpTime

If True, checks for Explicit Time Step factors

REAL8 maxASPECT

Limit for aspect ratio check.

REAL8 maxTAPER

Limit for taper check.

REAL8 maxANGLE

Limit for internal angle check.

REAL8 maxWARP

Limit for warping check.

REAL8 maxALTTAPER

Limit for alternate element taper check.

REAL8 maxTET

Limit for tet collapse check.

REAL8 maxJDet

Limit for Jacobian check

REAL8 maxComb

Limit for Combined Element Distortion check

REAL8 maxExpTime

Limit for Explicit Time Step check

API-276

feCheckElemDistortion2

feCheckElemDistortion2 ( elemSET, doLIST, makeGROUP, chkASPECT, chkTAPER, chkANGLE, chkWARP, chkALTTAPER, chkTET, chkJDet, chkComb, chkExpTime, maxASPECT, maxTAPER, maxANGLE, maxWARP, maxALTTAPER, maxTET, maxJDet, maxComb, maxExpTime ) Output: None Return Code: Data in the limit values is outside the acceptable bounds. FE_INVALID

Remarks/Usage: This function is just like the Tools, Check, Distortion command. The checks performed and the limit values are identical to that command. Example: None

feGetElemDistortion

API-277

3.5.6.10 feGetElemDistortion

feGetElemDistortion ( elemID, valASPECT, valTAPER, valANGLE, valWARP, valNasWARP, valALTTAPER, valTET, valJDet, valComb ) Description: This function checks an element and returns the distortion values. Input: INT4 elemID

The ID of the element to check for distortion.

Output: REAL8 valASPECT

Result of aspect ratio check.

REAL8 valTAPER

Result of taper check.

REAL8 valANGLE

Result of internal angle check.

REAL8 valWARP

Result of warping check.

REAL8 valNasWARP

Result of Nastran warping check

REAL8 valALTTAPER

Result of alternate element taper check.

REAL8 valTET

Result of tet collapse check.

REAL8 valJDet

Result of Jacobian check.

REAL8 valComb

Results of Combined Quality check

Return Code: None Remarks/Usage: This function is just like the Tools, Check, Distortion command. The checks performed and the returned values are identical to that command. Example: None

API-278

feGetElemDistortion2

3.5.6.11 feGetElemDistortion2

feGetElemDistortion2 ( elemID, valASPECT, valTAPER, valANGLE, valWARP, valNasWARP, valALTTAPER, valTET, valJDet, valComb, valExpTime ) Description: This function checks an element and returns the distortion values. Input: INT4 elemID

The ID of the element to check for distortion.

Output: REAL8 valASPECT

Result of aspect ratio check.

REAL8 valTAPER

Result of taper check.

REAL8 valANGLE

Result of internal angle check.

REAL8 valWARP

Result of warping check.

REAL8 valNasWARP

Result of Nastran warping check

REAL8 valALTTAPER

Result of alternate element taper check.

REAL8 valTET

Result of tet collapse check.

REAL8 valJDet

Result of Jacobian check.

REAL8 valComb

Results of Combined Quality check

REAL8 valExpTime

Results of Explicit Time Step check

Return Code: None Remarks/Usage: This function is just like the Tools, Check, Distortion command. The checks performed and the returned values are identical to that command. Example: None

feCheckElemNormal

API-279

3.5.6.12 feCheckElemNormal

feCheckElemNormal ( elemSET, csysID, doLIST, swapNORMAL, autoNORMAL, manNORMAL ) Description: This function checks and optionally reverses element normals. Input: INT4 elemSET

The ID of a selection set that contains the IDs of the elements to check. Alternatively, if you specify a negative value, this is simply the ID of the single element to check.

INT4 csysID

The coordinate system in which the check is done. If you are specifying manNORMAL, it must be in this coordinate system.

BOOL doLIST

If True, swapped elements are listed in the Messages and Lists window.

BOOL swapNORMAL

If True, elements with normals that are opposite to the desired normal are reversed.

BOOL autoNORMAL

If True, the desired normal direction is automatically determined from the first selected element. If False, the normal must be specified in manNORMAL.

REAL8 manNORMAL[0..2]

A unit vector, with coordinates in CSys “csysID”, in the direction of the desired normal. Only used if autoNORMAL=False.

Output: None Return Code: FE_TOO_SMALL

One of the arrays has dimensions which are too small to be used where you specified it.

FE_NOT_AVAILABLE

One of the arrays does not contain the required data.

FE_INVALID

Data in the input arrays is outside the acceptable bounds.

FE_BAD_TYPE

Data in the input arrays is not of the correct type (e.g. REAL8 or INT4)

Remarks/Usage: Only works with planar elements. Example: None

API-280

feCheckConstraints

3.5.6.13 feCheckConstraints

feCheckConstraints ( doPERM, doLIST, bcSUM, bcSEP ) Description: This function checks constraints in the active constraint set. Input: BOOL doPERM

If True, permanent nodal constraints are included in the check.

BOOL doLIST

If True, a summary report is listed.

Output: REAL8 bcSUM[0..5]

The sum of the constraint values in each of the six degrees of freedom.

REAL8 bcSUM[0..8]

The max separation of constraints. [0],[1],[2] are the max XYZ separation of the X constraints. [3],[4],[5] are the XYZ separation of the Y constraints, [6],[7],[8] are the XYZ separation of the Z constraints.

Return Code: FE_TOO_SMALL

One of the arrays has dimensions which are too small to be used where you specified it.

FE_NOT_AVAILABLE

One of the arrays does not contain the required data.

FE_INVALID

Data in the input arrays is outside the acceptable bounds.

FE_BAD_TYPE

Data in the input arrays is not of the correct type (e.g. REAL8 or INT4).

Remarks/Usage: Automatically uses whichever constraint set is active. Example: None

feCheckCoincidentLoads

API-281

3.5.6.14 feCheckCoincidentLoads

feCheckCoincidentLoads ( loadSET, mergeLOADS ) Description: This function checks loads from a group of load sets to see if similar loads are applied to the same geometry or mesh. Input: INT4 loadSET

The ID of a selection set that contains the IDs of the load sets to check. Alternatively, if you specify a negative value, this is simply the ID of the single load set to check.

BOOL mergeLOADS

If True and coincident loads are found, an attempt is made to merge/ combine them.

Output: None Return Code: None Remarks/Usage: Unlike the Tools, Check, Coincident Loads command, this command does not give you the opportunity to selectively merge individual types of loads - either all types, or no types, are merged. Example: None

API-282

feCheckSumForces

3.5.6.15 feCheckSumForces

feCheckSumForces ( expandGEOM, doLIST, useSETS, nodeSET, elemSET, basePOINT, csysID, summedFORCES ) Description: This function checks loads from the active load set and sums the forces around a specific location. Input: BOOL expandGEOM

If True, geometric loads are expanded before the check. If not, nonexpanded geometric loads will be ignored.

BOOL doLIST

If True, a summary report is written.

BOOL useSETS

If True, nodeSET and elemSET must specify the nodes and elements to consider in the summation. If False, the full model is used.

INT4 nodeSET

The ID of a selection set that contains the IDs of the nodes to check. Alternatively, if you specify a negative value, this is simply the ID of the single node to check. Only used if useSETS=True.

INT4 elemSET

The ID of a selection set that contains the IDs of the elements to check. Alternatively, if you specify a negative value, this is simply the ID of the single element to check. Only used if useSETS=True.

REAL8 basePOINT[0..2]

The coordinates of the location to sum about. Must be in global rectangular coordinates.

INT4 csysID

The coordinate system used to report and returned the summed loads.

Output: REAL8 summedFORCES[0..14]

The results of the force summation. Entries [0..5] are the nodal force summations. [6..8] contain the elemental force summation. [9..14] contain the total summation.

Return Code: None Remarks/Usage: Uses the loads in the active load set. Example: None

API-283 3.6 Geometry Methods Geometry Methods include: •

Section 3.6.1, "Lines"



Section 3.6.2, "Arcs"



Section 3.6.3, "Circles"



Section 3.6.4, "Splines"



Section 3.6.5, "Curves from Surfaces Methods"



Section 3.6.6, "Curve Modification Methods"



Section 3.6.7, "Boundaries"



Section 3.6.8, "Surfaces"



Section 3.6.9, "Midsurfaces"



Section 3.6.10, "Solids"



Section 3.6.11, "Geometry and Mesh Generation Methods"

API-284

feLinePoints

3.6.1 Lines 3.6.1.1 feLinePoints

feLinePoints ( ontoWorkplane, p1, p2, messages ) Description: Creates a line between two coordinate locations. Input: BOOL ontoWorkplane

If True, the coordinates specified are projected onto the workplane before the line is created.

REAL8 p1[0..2]

Coordinates at the first end of the line.

REAL8 p2[0..2]

Coordinates at the second end of the line.

BOOL messages

If True, messages are written to the Message and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not create the line.

feLineHorzVert

API-285

3.6.1.2 feLineHorzVert

feLineHorzVert ( horizontal, p1, length, messages ) Description: Creates a horizontal or vertical line in the workplane. Input: BOOL horizontal

If True, the line will be horizontal (workplane X axis). If False, the line will be vertical (workplane Y axis).

REAL8 p1[0..2]

Coordinates that will be projected onto the workplane at the center of the line.

REAL8 length

The overall length of the line.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not create the line.

API-286

feLineAtAngle

3.6.1.3 feLineAtAngle

feLineAtAngle ( angle, curveID, origin, side, messages ) Description: Creates a line at an angle to the workplane, or another curve. Input: REAL8 angle

The angle from the workplane X axis, or the selected curve.

INT4 curveID

The ID of the curve used to measure the angle. Set to 0 if you want to specify the angle from the workplane X axis (toward the Y axis).

REAL8 origin[0..2]

The coordinates at the start of the line. These are projected onto the curve to find location where the tangent vector is determined and at which the angle is measured.

REAL8 side[0..2]

A location on the side of the curve where the line will be drawn toward. Not used if you are measuring from the workplane X axis. The line does not necessarily pass through this point; it is just used to determine which direction to go from the origin location.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not create the line - probably the curve does not exist.

feLineParallel

API-287

3.6.1.4 feLineParallel

feLineParallel ( offset, curveID, side, messages ) Description: Creates a line parallel to another in the workplane. Input: REAL8 offset

The perpendicular distance from the selected curve used to locate the new curve.

INT4 curveID

The ID of the reference curve.

REAL8 side[0..2]

A location on the side of the curve where the line will be drawn. The line does not necessarily pass through this point; it is just used to determine which direction to go from the reference curve location.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not create the line - either the curve does not exist or it is not of the correct type.

API-288

feLineMidline

3.6.1.5 feLineMidline

feLineMidline ( curve1, curve2, messages ) Description: Creates a line that is midway between two other lines. Input: INT4 curve1 INT4 curve2 BOOL messages

The two reference curves used to determine the midline location. If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not create the line - either one of the curves does not exist or is not of the correct type.

feLinePointTangent

API-289

3.6.1.6 feLinePointTangent

feLinePointTangent ( curveID, origin, side, messages ) Description: Creates a line through an origin that is tangent to a selected curve. Input: INT4 curveID

The ID of the curve that the line will be tangent to.

REAL8 origin[0..2]

The location at the start of the line. The line will pass through this location and be tangent to the curve.

REAL8 side[0..2]

A location on the side of the curve where the line will be tangent. The line does not normally pass through this point; it is just used to determine which tangent to select.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not create the line - either the curve does not exist or there is no tangent that could be computed.

API-290

feLine2Tangent

3.6.1.7 feLine2Tangent

feLine2Tangent ( curve1, curve2, side, messages ) Description: Creates a line that is tangent to two selected curves. Input: INT4 curve1 INT4 curve2

The IDs of the curves that the line will be tangent to.

REAL8 side[0..2]

A location on the side of the first curve where the line will be tangent. The line does not normally pass through this point; it is just used to determine which tangent to select.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not create the line - either one of the curves does not exist or there is no tangent that could be computed.

feLineRectangle

API-291

3.6.1.8 feLineRectangle

feLineRectangle ( p1, p2, messages ) Description: Creates four lines that form a rectangle in the workplane between two diagonal locations. Input: REAL8 p1[0..2] REAL8 p2[0..2] BOOL messages

The diagonal locations that define the corners of the rectangle. These locations are projected onto the workplane. If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the curves.

API-292

feLinePointIDs

3.6.1.9 feLinePointIDs

feLinePointIDs ( p1, p2, messages ) Description: Creates a line that joins two points. Input: INT4 p1

The ID of the point at the start of the line.

INT4 p2

The ID of the point at the end of the line.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the line - probably one of the points does not exist.

feArcCenterStartEnd

API-293

3.6.2 Arcs 3.6.2.1 feArcCenterStartEnd

feArcCenterStartEnd ( center, start, end, messages ) Description: Creates an arc in the workplane by specifying the center of the arc, a starting location, and an ending location. Input: REAL8 center[0..2] REAL8 start[0..2] REAL8 end[0..2] BOOL messages

The locations used to define the arc. The center is at the center of the arc. start is a point on the perimeter at the beginning of the arc, and defines the radius. end is not necessarily on the arc, but specifies the ending location. If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the arc.

API-294

feArcRadiusStartEnd

3.6.2.2 feArcRadiusStartEnd

feArcRadiusStartEnd ( radius, start, end, messages ) Description: Creates an arc in the workplane by specifying the radius of the arc, a starting location and an ending location. Input: REAL8 radius

The radius of the arc.

REAL8 start[0..2]

The locations used to define the arc. start is a point on the perimeter at the beginning of the arc, end is on the perimeter at the end of the arc.

REAL8 end[0..2] BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the arc - radius could be too small for locations specified.

feArcAngleStartEnd

API-295

3.6.2.3 feArcAngleStartEnd

feArcAngleStartEnd ( angle, start, end, messages ) Description: Creates an arc in the workplane by specifying the included angle of the arc, a starting location, and an ending location. Input: REAL8 angle

The included angle swept out by the arc.

REAL8 start[0..2]

The locations used to define the arc. start is a point on the perimeter at the beginning of the arc, end is on the perimeter at the end of the arc.

REAL8 end[0..2] BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the arc - angle may not be valid.

API-296

feArcAngleCenterStart

3.6.2.4 feArcAngleCenterStart

feArcAngleCenterStart ( angle, center, start, messages ) Description: Creates an arc in the workplane by specifying the included angle of the arc, a location at the center, and a location on the perimeter. Input: REAL8 angle

The included angle swept out by the arc.

REAL8 center[0..2]

The locations used to define the arc. center is at the center of the arc. start is a point on the perimeter and is used with center to determine the radius.

REAL8 start[0..2] BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the arc - angle may not be valid.

feArcChordCenterStart

API-297

3.6.2.5 feArcChordCenterStart

feArcChordCenterStart ( length, center, start, messages ) Description: Creates an arc in the workplane by specifying the chord length of the arc, a location at the center, and a location on the perimeter. Input: REAL8 length

The chord length of the arc, used to determine the included angle.

REAL8 center[0..2]

The locations used to define the arc. center is at the center of the arc. start is a point on the perimeter and is used with center to determine the radius.

REAL8 start[0..2] BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the arc.

API-298

feArcPoints

3.6.2.6 feArcPoints

feArcPoints ( start, mid, end, messages ) Description: Creates a 3D arc in space, through the three points. Input: REAL8 start[0..2] REAL8 mid[0..2]

The three points on the arc. The arc goes from start, toward mid and stops at end.

REAL8 end[0..2] BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the arc - points may be colinear.

feArcCenterPoints

API-299

3.6.2.7 feArcCenterPoints

feArcCenterPoints ( center, start, mid, end, messages ) Description: Creates a 3D arc in space, about a center and defined by three additional points. Input: REAL8 center[0..2]

The location at the center of the arc.

REAL8 start[0..2]

The location at the start of the arc. This, along with center, determine the radius of the arc.

REAL8 mid[0..2]

A location used to determine the direction of the arc from start - it does not necessarily lie on the arc.

REAL8 end[0..2]

A location used to determine the ending angle of the arc - it does not necessarily lie on the arc.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the arc - points may be colinear or invalid.

API-300

feArcTangentStartEnd

3.6.2.8 feArcTangentStartEnd

feArcTangentStartEnd ( tangent, start, end, messages ) Description: Creates a 3D arc in space, from a point with a specified starting tangent. Input: REAL8 tangent[0..2]

A vector in the direction of the starting tangent of the arc.

REAL8 start[0..2]

The location at the start of the arc.

REAL8 end[0..2]

The location at the end of the arc.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the arc.

feCircleRadius

API-301

3.6.3 Circles 3.6.3.1 feCircleRadius

feCircleRadius ( center, start, messages ) Description: Creates a circle in the workplane defined by a location at the center and one on the perimeter. Input: REAL8 center[0..2]

The location at the center of the circle.

REAL8 start[0..2]

A location on the perimeter of the circle.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the circle.

API-302

feCircleDiameter

3.6.3.2 feCircleDiameter

feCircleDiameter ( dia1, dia2, messages ) Description: Creates a circle in the workplane defined by two locations at the opposite ends of a diameter. Input: REAL8 dia1[0..2] REAL8 dia2[0..2] BOOL messages

The locations at the opposite ends of the diameter of the circle. If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the circle.

feCircleCenter

API-303

3.6.3.3 feCircleCenter

feCircleCenter ( radius, center, messages ) Description: Creates a circle in the workplane defined a center location and the radius. Input: REAL8 radius

The radius of the circle.s

REAL8 center[0..2]

The location of the center of the circle.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the circle.

API-304

feCircle2Point

3.6.3.4 feCircle2Point

feCircle2Point ( radius, pt1, pt2, messages ) Description: Creates a circle in the workplane defined by two points on the circle, and the radius. Input:

REAL8 radius

REAL8 pt1[0..2] REAL8 pt2[0..2] BOOL messages

The radius of the circle. Specify a positive number to go in a counterclockwise direction from “pt1” to “pt2”. Specify a negative number to go in a clockwise direction. This is used to pick which of the two possible circles through the two points that you are trying to define. The locations on the circle. If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the circle.

feCircleConcentric

API-305

3.6.3.5 feCircleConcentric

feCircleConcentric ( radius, curveID, messages ) Description: Creates a circle in the workplane, with a specified radius, that is concentric with another arc or circle. Input: REAL8 radius

The radius of the circle.

INT4 curveID

The ID of another arc or circle - used to define the center.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the circle.

API-306

feCircle3Point

3.6.3.6 feCircle3Point

feCircle3Point ( pt1, pt2, pt3, messages ) Description: Creates a circle, in 3D space, through three points. Input: REAL8 pt1[0..2] REAL8 pt2[0..2]

The locations on the circle.

REAL8 pt3[0..2] BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the circle.

feCircleCenterPoints

API-307

3.6.3.7 feCircleCenterPoints

feCircleCenterPoints ( center, pt1, pt2, messages ) Description: Creates a circle, in 3D space, using a center location, and specified by two other points. Input: REAL8 center[0..2]

The center of the circle.

REAL8 pt1[0..2]

Two additional points on the circle. pt1 is used to define the radius of the circle. Both points (and the center) are used to define the plane of the circle.

REAL8 pt2[0..2] BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the circle.

API-308

feCircleCenterTangent

3.6.3.8 feCircleCenterTangent

feCircleCenterTangent ( curveID, center, messages ) Description: Creates a circle in the workplane that is tangent to a selected curve and uses the specified center. Input: INT4 curveID

ID of the curve that this circle will be tangent to.

REAL8 center[0..2]

The center of the circle.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the circle.

feCircleTangentTangent

API-309

3.6.3.9 feCircleTangentTangent

feCircleTangentTangent ( curve1, curve2, radius, nearloc, messages ) Description: Creates a circle in the workplane that is tangent to two other curves, with a specified radius. Input: INT4 curve1 INT4 curve2

IDs of the curves that this circle will be tangent to.

REAL8 radius

The radius of the circle being created.

REAL8 nearloc[0..2]

A location near the tangency. This is used to select which tangency to use when there are several possible circles that meet the tangency and radius criteria.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the circle.

API-310

feSplinePoints

3.6.4 Splines 3.6.4.1 feSplinePoints

feSplinePoints ( project, controlpoints, count, xyz, messages ) Description: Creates a spline using the specified points. Input: BOOL project

Set to True if you want to project the xyz coordinates onto the workplane before creating the spline.

BOOL controlpoints

Set to True if xys contains coordinates of the spline control points. Set to False if it contains coordinates of points that actually lie on the spline.

INT4 count

The number of coordinates specified in xyz. Count must be at least 4, and can be no larger than 109.

REAL8 xyz[0..3*count-1]

The coordinates of the locations used to define the spline. This array contains 3 * count entries stored as: x1,y1,z1,x2,y2,z2...xN,yN,zN.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example:

Unable to create the spline.

feSplinePoints

feSplinePoints ( project, controlpoints, count, xyz, messages ) This is a sample program to create a spline through 6 points. Sub Main Dim App As femap.model Set App = GetObject(, "femap.model") Dim x(18) As Double Dim v As Variant Dim rc As Integer x(0) = 0# x(1) = 0# x(2) = 0# x(3) = 1# x(4) = 0# x(5) = 0 x(6) = 1 x(7) = 1 x(8) = 0 x(9) = 2 x(10) = 1 x(11) = 0 x(12) = 2 x(13) = 0 x(14) = 0 x(15) = 2.5 x(16) = 1 x(17) = 1 v = x rc = App.feSplinePoints(False, False, 6, v, True) App.feViewRegenerate(0) End Sub

API-311

API-312

feSplineTangent

3.6.4.2 feSplineTangent

feSplineTangent ( x1, v1, x2, v2, messages ) Description: Creates a spline using the tangent vectors at each end. Input: REAL8 x1[0..2]

The coordinates of the start of the spline.

REAL8 v1[0..2]

The components of the starting tangent of the spline.

REAL8 x2[0..2]

The coordinates of the ending location of the spline.

REAL8 v2[0..2]

The components of the ending tangent of the spline.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the spline.

feSplineEllipse

API-313

3.6.4.3 feSplineEllipse

feSplineEllipse ( center, vector, a, b, messages ) Description: Creates splines in the workplane that form an ellipse. Input: REAL8 center[0..2]

The coordinates at the center of the ellipse.

REAL8 vector[0..2]

The components of the vector along one axis of the ellipse.

REAL8 a

The radius of the ellipse along the vector.

REAL8 b

The radius of the ellipse perpendicular to the vector.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the spline.

API-314

feSplineParabola

3.6.4.4 feSplineParabola

feSplineParabola ( center, focus, trim, messages ) Description: Creates a spline in the workplane in the shape of a parabola. Input: REAL8 center[0..2]

The coordinates at the center of the parabola.

REAL8 focus[0..2]

The coordinates of the focus of the parabola.

REAL8 trim[0..2]

The coordinates used to trim the outer end of the parabola.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the spline.

feSplineHyperbola

API-315

3.6.4.5 feSplineHyperbola

feSplineHyperbola ( center, towardfocus, angle, height, trim, messages ) Description: Creates a spline in the workplane in the shape of a hyperbola. Input: REAL8 center[0..2]

The coordinates at the center of the hyperbola.

REAL8 towardfocus[0..2]

The components of a vector in the direction pointing toward the focus from the center.

REAL8 angle

The asymptote angle.

REAL8 height

The vertex height.

REAL8 trim[0..2]

The coordinates used to trim the outer end of the hyperbola.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the spline.

API-316

feSplineBlend

3.6.4.6 feSplineBlend

feSplineBlend ( curve1, near1, curve2, near2, factor, messages ) Description: Creates a spline in that blends the ends of two curves. Input: INT4 curve1

The ID of the first curve.

REAL8 near1[0..2]

Coordinates near the desired end of curve1.

INT4 curve2

The ID of the second curve.

REAL8 near2[0..2]

Coordinates near the desired end of curve2.

REAL8 factor

The blend factor - adjusts the curvature of the spline between the curves.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the spline.

feCurveUpdateSurfaces

API-317

3.6.5 Curves from Surfaces Methods 3.6.5.1 feCurveUpdateSurfaces

feCurveUpdateSurfaces ( update, messages ) Description: This method sets the flag that decides whether the “Curves from Surfaces” methods will update their underlying surface. Input: BOOL update

Set to True to update/split the underlying surfaces as curves are projected or created on the surfaces. If False, then the curves will be created at the same locations, but the surfaces will remain unchanged.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: None Remarks/Usage: None Example: None

API-318

feCurveIntersectSolids

3.6.5.2 feCurveIntersectSolids

feCurveIntersectSolids ( solid1, solid2 ) Description: This method creates curves along the intersections of two solids. It can also be used to intersect two solid surfaces. Input: INT4 solid1 INT4 solid2

The IDs of the two solids to intersect. These solids can be regular solids, or sheet solids (solids with one or more surfaces, but no enclosed volume).

Output: None Return Code: FE_FAIL

Unable to create the curves.

Remarks/Usage: If feCurveUpdateSurfaces is True, the surfaces of the solids will be split at the intersection curves. Example: None

feCurveProjectOntoSolid

API-319

3.6.5.3 feCurveProjectOntoSolid

feCurveProjectOntoSolid ( projectNormal, along, solidID, curveSET, messages ) Description: Creates curves by projecting one or more curves onto a solid. Input: BOOL projectNormal

If True, the projection is done to the closest location on the solid. If False, the projection is along the “along” vector.

REAL8 along[0..2]

The components of the vector to project along. Ignored unless projectNormal is False.

INT4 solidID

The ID of the solid to project onto.

INT4 curveSET

The ID of the set of existing curves to project onto the solid. Specify as a negative value to project a single curve.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL

Unable to create the curves.

Remarks/Usage: If feCurveUpdateSurfaces is True, the surfaces of the solids will be split at the projected curves. Example: None

API-320

feCurveProjectOntoSurfaces

3.6.5.4 feCurveProjectOntoSurfaces

feCurveProjectOntoSurfaces ( projectNormal, along, surfSET, curveSET, messages ) Description: Creates curves by projecting one or more curves onto one or more surfaces. Input: BOOL projectNormal

If True, the projection is done to the closest location on the surface. If False, the projection is along the “along” vector.

REAL8 along[0..2]

The components of the vector to project along. Ignored unless projectNormal is False.

INT4 surfSET

The ID of the set of existing surfaces to project onto. Specify as a negative value to project onto a single surface.

INT4 curveSET

The ID of the set of existing curves to project onto the surfaces. Specify as a negative value to project a single curve.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL

Unable to create the curves.

Remarks/Usage: If feCurveUpdateSurfaces is True, the surfaces will be split at the projected curves. Example: None

feCurveParametricOnSurface

API-321

3.6.5.5 feCurveParametricOnSurface

feCurveParametricOnSurface ( surfID, uDir, location, messages ) Description: Creates a curve on a surface along one of the parametric directions of the surface. Input: INT4 surfID

The ID of the surface used to define the curve.

BOOL uDir

If True, the curve will be along the surface U parametric direction. If False, the V parametric direction will be used.

REAL8 location[0..2]

A location that the curve will pass through. This location is projected onto the surface and used to find the parametric value used to define the curve.

BOOL messages

If True, messages are written to the Messages and Lists window as the curve is created.

Output: None Return Code: FE_FAIL

Unable to create the curves.

Remarks/Usage: If feCurveUpdateSurfaces is True, the surface will be split at the parametric curve. Example: None

API-322

feCurveSlice

3.6.5.6 feCurveSlice

feCurveSlice ( solidID, planeBASE, planeNORMAL, planeX ) Description: Creates curves by slicing a solid with a plane. Input: INT4 solidID

The ID of the solid being sliced.

REAL8 planeBASE[0..2]

Any location that lies on the plane used to slice the solid.

REAL8 planeNORMAL[0..2]

The components of a vector that is normal to the plane.

REAL8 planeX[0..2]

The components of a reference vector that lies in the plane - must be perpendicular to planeNORMAL.

Output: None Return Code: FE_FAIL

Unable to create the curves.

Remarks/Usage: If feCurveUpdateSurfaces is True, the surfaces of the solid will be split at the slicing plane. This does not slice the solid into two solids. It simply splits the surfaces. Example: None

feCurveOffsetCurveWasher

API-323

3.6.5.7 feCurveOffsetCurveWasher

feCurveOffsetCurveWasher ( curveSET, faceID, nMode, bAutoSelect, bSaveSplit, bExtend, dOffset ) Description: Creates curves by offsetting selected curves on a surface Input: INT4 curveSET

The ID of the set of existing curves to create a washer or offset curve.

INT4 faceID

The ID of the surface to offset the curves on.

INT4 nMode

Offset Type: 0 = Curve, 1 = Washer

BOOL bAutoSelect

Offset Only: Flag to automatically offset the selected curves to all of the surfaces connected to those curves

BOOL bSaveSplit

Flag to keep split lines used when creating washer or offset curves.

BOOL bExtend

Offset Only: Flag to extend offset curves to closest edge.

REAL8 dOffset

Distance to offset curves.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create the curves.

API-324

feCurveSplitPointToPoint

3.6.5.8 feCurveSplitPointToPoint

feCurveSplitPointToPoint ( nPtA, nPtB ) Description: Splits a surface between two selected points Input: INT4 nPtA INT4 nPtB

The two points to split the surface between

Output: None Return Code: FE_FAIL

Unable to create the curves / split the surface.

Remarks/Usage: Both points must be on the same surface. Example: None

feCurveSplitPointToEdge

API-325

3.6.5.9 feCurveSplitPointToEdge

feCurveSplitPointToEdge ( nPtA, nCuID ) Description: Splits a surface between a point and an edge Input: INT4 nPtA

The points to split the surface from

INT4 nCuID

The ID of the curve to split to

Output: None Return Code: FE_FAIL

Unable to create the curves / split the surface.

Remarks/Usage: The surface is split from the point to the closest location on the curve. Both the point and the edge must lie on the same surface. Example: None

API-326

feCurveSplitEdgeToEdge

3.6.5.10 feCurveSplitEdgeToEdge

feCurveSplitEdgeToEdge ( nLongEdge, nShortEdgeSet ) Description: Splits a surface between a long edge and the endpoints of one or more selected other edges Input: INT4 nLongEdge

The ID of the edge to be split

INT4 nShortEdgeSet

The ID of a Set that contains the IDs of the edges whose endpoints will be used to split the long edge and associated surface. Alternatively, specify a negative value to choose the ID of a single short edge.

Output: None Return Code: FE_FAIL

Unable to create the curves / split the surface.

Remarks/Usage: The surface is split from the endpoints of the selected edges to point to the closest location on the long edge. All edges must lie on the same surface. Example: None

feCurveTrim

API-327

3.6.6 Curve Modification Methods 3.6.6.1 feCurveTrim

feCurveTrim ( curveID, trimID, nearLoc, extend ) Description: Trims a curve to its intersection with another curve. Input: INT4 curveID

The ID of the curve to be trimmed.

INT4 trimID

The ID of the curve to use as the trimming boundary.

REAL8 nearLoc[0..2]

The coordinates, in global rectangular, of the location near which the curve will be trimmed. This helps to resolve ambiguities of which end of the curve to trim, and to choose between multiple intersections of the curves.

BOOL extend

If True, the trim curve is considered infinite and intersections are found anywhere along its length. If False, intersections must be between the curve endpoints.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Did not trim the curve - possibly there was no intersection.

API-328

feCurveExtend

3.6.6.2 feCurveExtend

feCurveExtend ( curveID, nearLoc ) Description: Extends a curve to a specified location. Input: INT4 curveID

The ID of the curve to be extended.

REAL8 nearLoc[0..2]

The coordinates, in global rectangular, of the location to which the curve will be extended. The location does not have to lie on the extended curve; it is automatically projected as the curve is extended.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Did not extend the curve.

feCurveBreak

API-329

3.6.6.3 feCurveBreak

feCurveBreak ( curveID, nearLoc ) Description: Breaks a curve at a specified location. Input: INT4 curveID

The ID of the curve to be broken.

REAL8 nearLoc[0..2]

The coordinates, in global rectangular, of the location at which the curve will be broken. The location does not have to lie on the curve; it is automatically projected to the break location.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Did not break the curve.

API-330

feCurveJoin

3.6.6.4 feCurveJoin

feCurveJoin ( curve1, curve2, nearLoc, update1, update2 ) Description: Extends or trims two curves to their intersection location. Input: INT4 curve1

The ID of the first curve to be joined.

INT4 curve2

The ID of the second curve to be joined.

REAL8 nearLoc[0..2]

The coordinates, in global rectangular, of the location near which the curves will be joined. This helps to resolve ambiguities of which end of the curves to trim/extend, and to choose between multiple intersections of the curves.

BOOL update1

If True, curve1 is extended or trimmed to the join location. If False, curve1 is left unchanged.

BOOL update2

If True, curve2 is extended or trimmed to the join location. If False, curve2 is left unchanged.

Output: None Return Code: FE_FAIL

Did not join the curves - possibly there was no intersection.

Remarks/Usage: Do not set update1=update2=False. In this case, nothing will be changed. Example: None

feCurveFillet

API-331

3.6.6.5 feCurveFillet

feCurveFillet ( radius, curve1, curve2, nearLoc, update1, update2 ) Description: Fillets the intersection of two curves. Input: REAL8 radius

The fillet radius.

INT4 curve1

The ID of the first curve to be filleted.

INT4 curve2

The ID of the second curve to be filleted.

REAL8 nearLoc[0..2]

The coordinates, in global rectangular, of the location near which the curves will be filleted. Specification of this location is very important. It chooses the quadrant of the intersection that is going to be filleted.

BOOL update1

If True, curve1 is extended or trimmed to the fillet location. If False, curve1 is left unchanged.

BOOL update2

If True, curve2 is extended or trimmed to the fillet location. If False, curve2 is left unchanged.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Did not fillet the curves - possibly there was no intersection.

API-332

feCurveChamfer

3.6.6.6 feCurveChamfer

feCurveChamfer ( len1, len2, curve1, curve2, nearLoc, update1, update2 ) Description: Chamfers the intersection of two curves. Input: REAL8 len1

The chamfer length along curve1.

REAL8 len2

The chamfer length along curve2.

INT4 curve1

The ID of the first curve to be chamfered.

INT4 curve2

The ID of the second curve to be chamfered.

REAL8 nearLoc[0..2]

The coordinates, in global rectangular, of the location near which the curves will be chamfered. Specification of this location is very important. It chooses the quadrant of the intersection that is going to be chamfered.

BOOL update1

If True, curve1 is extended or trimmed to the fillet location. If False, curve1 is left unchanged.

BOOL update2

If True, curve2 is extended or trimmed to the fillet location. If False, curve2 is left unchanged.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Did not chamfer the curves - possibly there was no intersection.

feBoundaryFromPoints

API-333

3.6.7 Boundaries 3.6.7.1 feBoundaryFromPoints

feBoundaryFromPoints ( nCSys, nPoints, pXYZ, nBoundaryID ) Description: Creates a boundary surface from a group of locations specified in order around the surface Input: INT4 nCSys

The ID of a Coordinate System that the pXYZ coordinates are defined in. 0=Global Rectangular

INT4 nPoints

The number of locations specified in the pXYZ array

REAL8 pXYZ[0..3*nPoints-1]

The coordinates of the points used to define the boundary, specified in the selected Coordinate System. The array must be stored as [x0,y0,z0,x1,y1,z1,...xN,yN,zN]

Output: INT4 nBoundaryID

The ID of the boundary that is created.

Return Code: FE_FAIL

Unable to create the boundary - either points and curves failed to be created or the loop is not connected.

Remarks/Usage: This method creates points at the locations specified, and lines between them to form a loop. The points must define a single loop. If you need to create a boundary with multiple loops (holes), then you must use feBoundaryFromCurves. The ID of the boundary created will use the next available surface ID. Example: None

API-334

feBoundaryFromCurves

3.6.7.2 feBoundaryFromCurves

feBoundaryFromCurves ( setID ) Description: Creates a boundary surface from a group of connected curves. Input: INT4 setID

The ID of a set that contains a list of Curve IDs used to define the boundary. Alternatively, if you specify a negative value, this is simply the ID of the single curve to write (which must be closed).

Output: None Return Code: FE_FAIL

Unable to create the boundary - either curves do not exist, or are not connected.

Remarks/Usage: The ID of the boundary created will use the next available surface ID. The curves selected must form one or more closed loops. If there are multiple loops, there must be one outer loop, and one or more internal loops which are used as holes. Loops may not be nested inside holes. Example: This function creates a boundary from four curves. Sub Main Dim App As femap.model Set App = GetObject(, "femap.model") Dim s As Object Set s = femap.feSet() Dim rc As Integer startID = 1 stopID = 4 IDincrement = 1 rc = s.AddRange(startID, stopID, IDincrement) rc = femap.feBoundaryFromCurves(s.Id) App.feViewRegenerate(0) End Sub

feBoundaryFromSurfaces

API-335

3.6.7.3 feBoundaryFromSurfaces

feBoundaryFromSurfaces ( surfaceSET ) Description: Creates a boundary surface from a group of adjacent surfaces on a solid. Input: INT4 surfaceSET

The ID of a set that contains a list of Surface IDs used to define the boundary. Alternatively, if you specify a negative value, this is simply the ID of the single surface to use.

Output: None Return Code: FE_FAIL

Unable to create the boundary - either surfaces do not exist, or are not adjacent.

Remarks/Usage: The ID of the boundary created will use the next available surface ID. Example: This function creates a boundary from two surfaces. Sub Main Dim femap As femap.model Set femap = GetObject(, "femap.model") Dim s As Object Set s = femap.feSet() Dim rc As Integer surf1 = 14 surf2 = 17 rc = s.Add(surf1) rc = s.Add(surf2) rc = femap.feBoundaryFromSurfaces(s.ID) App.feViewRegenerate(0) End Sub

API-336

feBoundaryAddSurfaces

3.6.7.4 feBoundaryAddSurfaces

feBoundaryAddSurfaces ( nBoundaryID, surfaceSET, bAddToExisting ) Description: Adds surfaces to an already defined multi-surface boundary Input: INT4 nBoundaryID

The ID of the boundary to update

INT4 surfaceSET

The ID of a set that contains a list of Surface IDs used to define the boundary. Alternatively, if you specify a negative value, this is simply the ID of the single surface to use.

BOOL bAddToExisting

Set to True, to add the new surfaces into the existing boundary.

Output: None Return Code: FE_FAIL

Unable to create the boundary - either surfaces do not exist, or are not adjacent.

Remarks/Usage: The ID of the boundary created will use the next available surface ID. Example: This function creates a boundary from two surfaces. Sub Main Dim femap As femap.model Set femap = GetObject(, "femap.model") Dim s As Object Set s = femap.feSet() Dim rc As Integer surf1 = 14 surf2 = 17 rc = s.Add(surf1) rc = s.Add(surf2) rc = femap.feBoundaryFromSurfaces(s.ID) App.feViewRegenerate(0) End Sub

feBoundaryUpdateSurfaces

API-337

3.6.7.5 feBoundaryUpdateSurfaces

feBoundaryUpdateSurfaces ( boundaryID ) Description: Updates a boundary that was defined from surfaces, when the underlying surfaces have changed. Input: INT4 boundaryID

The ID of the boundary surface to update.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to update the boundary - possibly the original definition is no longer valid.

API-338

feSurfaceCorners

3.6.8 Surfaces 3.6.8.1 feSurfaceCorners

feSurfaceCorners ( fourCorners, c1, c2, c3, c4 ) Description: Creates a surface defined by three or four corner locations. Input: BOOL fourCorners

Set to True to define a surface from four corners, or False to define a three-corner surface.

REAL8 c1[0..2] REAL8 c2[0..2] REAL8 c3[0..2]

The corner locations. These locations should be specified in global coordinates, and must be specified in a continuous loop around the surface.

REAL8 c4[0..2] Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create surface. Points may be colinear.

feSurfaceEdgeCurves

API-339

3.6.8.2 feSurfaceEdgeCurves

feSurfaceEdgeCurves ( curve1, curve2, curve3, curve4 ) Description: Creates a surface defined by three or four edge curves. Input: INT4 curve1

ID of the first curve to select as a surface edge

INT4 curve2

ID of the second curve

INT4 curve3

ID of the third curve

INT4 curve4

ID of the fourth curve (If curve4=0, create a 3 sided surface)

Output: None Return Code: FE_FAIL

Unable to create surface. Curves may not be connected, or may not form a closed loop to define the surface.

Remarks/Usage: The curve IDs must be specified in order, forming a closed loop around the surface. Example: None

API-340

feSurfaceAlignedCurves

3.6.8.3 feSurfaceAlignedCurves

feSurfaceAlignedCurves ( curveCOUNT, curveID ) Description: Creates a surface defined by multiple aligned curves. Input: INT4 curveCOUNT

The number of curve IDs that are specified in curveID.

INT4 curveID[0..curveCOUNT]

The IDs of the curves that will be used to create the surface. This array must contain as many curveIDs as are specified by curveCOUNT. Furthermore, the curves must be specified in the order that they will be used to create the lofted surface.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example:

Unable to create surface. Curves may not be defined properly to create aligned surface.

feSurfaceAlignedCurves

API-341

feSurfaceAlignedCurves ( curveCOUNT, curveID ) The following shows an example of connecting to a model and creating a surface through six curves. This assumes that the curves already existed. Sub Main Dim App As femap.model Set App = GetObject(, "femap.model") Dim curveID(10) As Long Dim vcurveID As Variant Dim curveCOUNT As Long Dim rc As Long curveCOUNT curveID(0) curveID(1) curveID(2) curveID(3) curveID(4) curveID(5) vcurveID =

= 6 = 5 = 4 = 3 = 2 = 6 = 1 curveID

rc = App.feSurfaceAlignedCurves(curveCOUNT, vcurveID) App.feViewRegenerate(0) End Sub

API-342

feSurfaceRuled

3.6.8.4 feSurfaceRuled

feSurfaceRuled ( c1, c2 ) Description: Creates a ruled surface between two curves. Input: INT4 c1

The ID of the first curve used to define the surface.

INT4 c2

The ID of the second curve used to define the surface.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create surface. Curves may not exist.

feSurfaceExtrude

API-343

3.6.8.5 feSurfaceExtrude

feSurfaceExtrude ( curveSET, axisLEN, axisVEC ) Description: Creates one or more surfaces by extruding a set of curves. Input: INT4 curveSET

ID of set containing the IDs of the curves to be extruded. Alternatively, if you specify a negative value, this is simply the ID of the single curve to extrude.

REAL8 axisLEN

The length of the extrusion.

REAL8 axisVEC[0..2]

The components of the extrusion vector. This vector is normalized and multiplied by axisLEN to find the total extrusion vector.

Output: None Return Code: FE_FAIL

Unable to create surface. Curves may not exist.

Remarks/Usage: Curves are extruded from their current location along the specified vector. Example: None

API-344

feSurfaceRevolve

3.6.8.6 feSurfaceRevolve

feSurfaceRevolve ( curveSET, axisANGLE, axisBASE, axisVEC ) Description: Creates one or more surfaces by revolving a set of curves. Input: INT4 curveSET

ID of set containing the IDs of the curves to be revolved. Alternatively, if you specify a negative value, this is simply the ID of the single curve to revolve.

REAL8 axisANGLE

The angle of revolution, in degrees.

REAL8 axisBASE[0..2]

A location, specified in global coordinates, that defines the base of the axis of revolution.

REAL8 axisVEC[0..2]

The components of the axis of revolution. This vector will be located at the axisBASE location, and the curves will be revolved around it.

Output: None Return Code: FE_FAIL

Unable to create surface. Curves may not exist.

Remarks/Usage: Curves are revolved from their current location around the specified vector. Example: None

feSurfaceSweep

API-345

3.6.8.7 feSurfaceSweep

feSurfaceSweep ( curveSET, pathSET ) Description: Creates one or more surfaces by sweeping a set of curves along a path. Input: INT4 curveSET

ID of set containing the IDs of the curves to be swept. Alternatively, if you specify a negative value, this is simply the ID of the single curve to sweep.

INT4 pathSET

ID of a set containing the IDs of the curves to be used as a path. Alternatively, if you specify a negative value, this is simply the ID of the single curve to use as the path. If you specify a set, the curves must form a single connected path. If you are not using the standard FEMAP geometry engine, then this set must contain a single curve. Only the standard engine can sweep along a multicurve path.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to create surface. Curves may not exist, or path may not be connected.

API-346

feSurfaceNormalDeviation

3.6.8.8 feSurfaceNormalDeviation

feSurfaceNormalDeviation ( surfaceSetID, dAvgNormal, dMaxAngle ) Description: Finds the average normal of a set of surfaces and the maximum deviation of the normal from that average Input: INT4 surfaceSetID

The ID of a Set containing the IDs of one or more Surfaces. If you want to test just one surface, simply specify surfaceSetID equal to the negative of the Surface ID.

Output: REAL8 dAvgNormal[0..2]

The vector components of the average normal to the entire set of selected surfaces

REAL8 dMaxAngle

The maximum angle, in degrees, that any surface normal deviates from the vector returned in dAvgNormal.

Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to determine average normal and deviation.

feSurfaceConvert

API-347

3.6.8.9 feSurfaceConvert

feSurfaceConvert ( surfaceSET, bDelete ) Description: Converts surfaces into Solid (Parasolid) surfaces. Input: INT4 surfaceSetID

The ID of a Set containing the IDs of one or more Surfaces to convert. If you want to convert just one surface, simply specify surfaceSET equal to the negative of the Surface ID.

BOOL bDelete

If True, the original Surfaces are deleted after being converted.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to convert one or more surfaces

API-348

feSurfaceNonManifoldAdd

3.6.8.10 feSurfaceNonManifoldAdd

feSurfaceNonManifoldAdd ( solidSET ) Description: Adds solids and sheet solids (surfaces) together to create a “general body” in parasolid. Input: INT4 solidSET

The ID of a set that contains a list of Solid IDs that will be added to create a “general body”.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not add selected solids and sheet solids into a “general body”

feSurfaceRecoverManifold

API-349

3.6.8.11 feSurfaceRecoverManifold

feSurfaceRecoverManifold ( solidSET ) Description: Recovers “manifold” solids and sheet solids from “General Bodies” created using NonManifold Add command. Input: INT4 solidSET

The ID of a set that contains a list of Solid IDs (General Body IDs) to recover manifold geometry from. Alternatively, if you specify a negative value, this is simply the ID of the single “General Body”.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not recover manifold geometry from “General Body”

API-350

feSurfaceRemoveHole

3.6.8.12 feSurfaceRemoveHole

feSurfaceRemoveHole ( curveSET ) Description: Removes holes from a surface by curve. Input: INT4 curveSET

The ID of a set that contains a list of Curve IDs that are part of a one or more holes to remove from a surface. Alternatively, if you specify a negative value, this is simply the ID of the single curve.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not remove hole from body.

feSurfaceMidSingle

API-351

3.6.9 Midsurfaces 3.6.9.1 feSurfaceMidSingle

feSurfaceMidSingle ( trim, surfID1, surfID2 ) Description: Creates a midsurface between two existing surfaces. Input: BOOL trim

If True, the new surface is trimmed to lie within the bounds of the solid containing the original surfaces.

INT4 surfID1

The first surface to use to generate the midsurface.

INT4 surfID2

The other surface used to generate the midsurface.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not create the midsurface.

API-352

feSurfaceMidAuto

3.6.9.2 feSurfaceMidAuto

feSurfaceMidAuto ( surfSET, thick ) Description: Creates midsurfaces between a set of selected surfaces Input: INT4 surfSET

ID of set containing the IDs of the surfaces to be used to generate midsurfaces.

REAL8 thick

The target thickness to be used to find midsurfaces.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not create the midsurfaces.

feSurfaceMidAttrib

API-353

3.6.9.3 feSurfaceMidAttrib

feSurfaceMidAttrib ( surfSET, matlID ) Description: Assigns meshing attributes, including thicknesses, to surfaces that were created as midsurfaces. Input: INT4 surfSET

ID of set containing the IDs of the surfaces to have attributes assigned. Alternatively, if you specify a negative value, this is simply the ID of the single surface to use.

INT4 matlID

The ID of the material to assign as a meshing attribute.

Output: None Return Code: FE_FAIL

Could not assign attributes.

Remarks/Usage: The surface set that you specify can include surfaces that were not generated as midsurfaces, but only those surfaces that were midsurfaces will have meshing attributes assigned. This means that you can simply include all surfaces in the model and it will automatically find all the midsurfaces and assign attributes. Example: None

API-354

feSurfaceTrimToSolid

3.6.9.4 feSurfaceTrimToSolid

feSurfaceTrimToSolid ( sheetID, solidID ) Description: Trims an open, sheet solid to the boundaries of a solid that contains it. Input: INT4 sheetID

The ID of the solid that is defined by the surfaces that are to be trimmed.

INT4 solidID

The ID of the bounding solid used to trim the “sheet”.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not trim to the selected surface.

feSurfaceTrimWithCurves

API-355

3.6.9.5 feSurfaceTrimWithCurves

feSurfaceTrimWithCurves ( surfID, curveSET ) Description: Trims a surface with one or more curves. Input: INT4 surfID

The ID of the surface to be trimmed.

INT4 curveSET

ID of set containing the IDs of the curves to be used for trimming. Alternatively, if you specify a negative value, this is simply the ID of the single curve to use.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not trim the selected surface.

API-356

feSurfaceExtend

3.6.9.6 feSurfaceExtend

feSurfaceExtend ( curveSET, Shape, ExtendTo, ExtendToSolidID, ExtendToLoc, ExtendDist ) Description: Extends a surface edge using one of several methods. Input: INT4 curveSET

ID of set containing the IDs of the curves to be used for trimming. Alternatively, if you specify a negative value, this is simply the ID of the single curve to use.

INT4 Shape

The Shape of the extended Surface 0=Linear, 1=Continuous Curvature, 2=Reflective

INT4 ExtendTo

The Location to Extend the surface to 0=ID of Solid, 1=To Specified Location, 2=Specified Distance

INT4 ExtendToSolidID

Only used if ExtendTo=0. The ID of the Solid to extend surface until it hits this solid

REAL8 ExtendToLoc[0..2]

Only used if ExtendTo=1. The location in Global Rectangular coordinates of the location to extend to.

REAL8 ExtendDist

Only used if ExtendTo=2. The distance to extend the surface

Output: None Return Code: FE_FAIL

Could not extend the selected surface.

Remarks/Usage: Although only one of the ExtendToSolidID, ExtendToLoc and ExtendDist are used depending on the value of ExtendTo, all must be provided. The values of the unused ones do not matter. Example: None

feSolidPrimitive

API-357

3.6.10 Solids 3.6.10.1 feSolidPrimitive

feSolidPrimitive ( operation, shape, positive, origin, size, title ) Description: Creates a solid primitive. Input: INT4 operation

The type of operation to perform when creating the solid: 0=Create New Solid, 1=Add to Active Solid, 2=Remove from Active Solid, 3=Common with Active Solid.

INT4 shape

The type of primitive to create: 0=Block (Center), 1=Block (Corner), 2=Cylinder, 3=Cone, 4=Sphere, 5=Sphere (Alt)

BOOL positive

Set to True if the Z direction should be in the positive workplane Z direction, or False to go in the negative workplane Z direction. Dimensions should all be positive.

REAL8 origin[0..1]

The location, in the workplane, of the origin of the solid.

REAL8 size[0..2]

The size of the primitive to create. The exact meaning of these dimensions varies depending on the value of shape. Refer to the table at the end of this command for details.

STRING title

The title to assign to the solid - only used if creating a new solid.

Output: None Return Code: FE_FAIL

Could not create the primitive.

Remarks/Usage: The Add, Remove and Common operations manipulate the active solid. You can select the active solid by setting femap.Info_ActiveID(39) to the ID of the solid that you want to use. Example:

Primitive/Shape

Size size(0) = X length (in workplane)

Block (Center or Corner)

size(1) = Y length (in workplane) size(2) = Z length (in workplane)

API-358

feSolidPrimitive

Primitive/Shape

Size size(0) = Radius

Cylinder

size(1) = not used size(2) = Height size(0) = Bottom Radius

Cone

size(1) = Top Radius size(2) = Height size(0) = Radius

Sphere

size(1) = not used size(2) = not used

feSolidExtrude

API-359

3.6.10.2 feSolidExtrude

feSolidExtrude ( operation, surfID, dirMode, depthMode, dirVec, depthVec ) Description: Extrudes a surface into a solid, or modifies an existing solid by extruding. Input: INT4 operation

The type of operation to perform when creating the solid: 0=Create New Solid, 1=Add to Active Solid, 2=Remove from Active Solid.

INT4 surfID

The surface to extrude. This surface can either be an existing solid surface, or a planar boundary.

INT4 dirMode

Specifies the approach you will use to specify the extrusion direction: 0=Positive Surface Normal, 1=Negative Surface Normal, 2=Surface Normal, Both Positive and Negative, 3=Along the Vector specified in dirVec, 4=Opposite the Vector specified in dirVec, 5=Along and Opposite the Vector specified in dirVec.

INT4 depthMode

Specifies the approach you will use to specify the extrusion length/ depth: 0=Specified Depth - the depth is defined in depthVec[0], 1=To Location - the location to extrude to is specified in depthVec[0..2], in global coordinates, 2=Thru All - Only used for the Remove operation to cut completely through the active solid.

REAL8 dirVec[0..2]

The components, in global rectangular coordinates, of the extrusion vector. Only used if dirMode = 3, 4 or 5.

REAL8 depthVec[0..2]

The extrusion length (depthMode=0) or the location to extrude to, in global rectangular coordinates (depthMode=1). Not used for Thru All extrusions.

Output: None Return Code: FE_FAIL

Could not create the extrusion.

Remarks/Usage: The Add and Remove operations manipulate the active solid. You can select the active solid by setting femap.Info_ActiveID(39) to the ID of the solid that you want to use. Example: None

API-360

feSolidRevolve

3.6.10.3 feSolidRevolve

feSolidRevolve ( operation, surfID, dirMode, angleMode, axisBase, axisVec, angleVec ) Description: Revolves a surface into a solid, or modifies an existing solid by revolving. Input: INT4 operation

The type of operation to perform when creating the solid: 0=Create New Solid, 1=Add to Active Solid, 2=Remove from Active Solid.

INT4 surfID

The surface to revolve. This surface can either be an existing solid surface, or a planar boundary.

INT4 dirMode

Specifies the approach you will use to specify the extrusion direction: 0=Positive Around Axis, 1=Negative Around Axis, 2=Both Positive and Negative Around Axis.

INT4 angleMode

Specifies the approach you will use to specify the angle of revolution: 0=Specified Angle - the angle is defined in angleVec[0], 1=To Location - the location to revolve to is specified in angleVec[0..2], 2=Full 360 degree revolution. All angles are specified in degrees.

REAL8 axisBase[0..2]

The location of the base of the axis of revolution, specified in global rectangular coordinates.

REAL8 axisVec[0..2]

The components of the axis of revolution, specified in global rectangular coordinates.

REAL8 angleVec[0..2]

The angle of revolution (angleMode=0) or the location to revolve to, in global rectangular coordinates (angleMode=1). Not used for Full 360 revolutions.

Output: None Return Code: FE_FAIL

Could not create the revolution.

Remarks/Usage: The Add and Remove operations manipulate the active solid. You can select the active solid by setting femap.Info_ActiveID(39) to the ID of the solid that you want to use. Example: None

feSolidExplode

API-361

3.6.10.4 feSolidExplode

feSolidExplode ( solidSET ) Description: Explodes selected solids into individual surfaces. Input: INT4 solidSET

The ID of a set that contains a list of Solid IDs that will be exploded. Alternatively, if you specify a negative value, this is simply the ID of the single solid to explode.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not explode selected solids.

API-362

feSolidStitch

3.6.10.5 feSolidStitch

feSolidStitch ( surfaceSET, tolerance ) Description: Stitches selected surfaces into solids. A solid cleanup routine is run at the end of the command to remove any redundant geometry and simplify the geometry. Input: INT4 surfaceSET

The ID of a set that contains a list of Surface IDs that will be stitched. Alternatively, if you specify a negative value, this is simply the ID of the single surface to stitch.

REAL8 tolerance

The tolerance to use when stitching the surfaces (Parasolid only). Specify 0.0 to use the default stitching tolerance.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not stitch selected surfaces.

feSolidStitchNoCleanup

API-363

3.6.10.6 feSolidStitchNoCleanup

feSolidStitchNoCleanup ( surfaceSET, tolerance ) Description: Stitches selected surfaces into solids. A solid cleanup routine is NOT run at the end of the command to remove any redundant geometry, therefore all internal curves and individual surfaces remain intact. Input: INT4 surfaceSET

The ID of a set that contains a list of Surface IDs that will be stitched. Alternatively, if you specify a negative value, this is simply the ID of the single surface to stitch.

REAL8 tolerance

The tolerance to use when stitching the surfaces (Parasolid only). Specify 0.0 to use the default stitching tolerance.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not stitch selected surfaces.

API-364

feSolidFillet

3.6.10.7 feSolidFillet

feSolidFillet ( curveSET, radius ) Description: Fillets one or more edges of a solid. Input: INT4 curveSET

The ID of a set that contains a list of Curve IDs that will be filleted. Alternatively, if you specify a negative value, this is simply the ID of the single curve to fillet.

REAL8 radius

The fillet radius.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not fillet selected curves.

feSolidChamfer

API-365

3.6.10.8 feSolidChamfer

feSolidChamfer ( curveSET, length ) Description: Chamfers one or more edges of a solid. Input: INT4 curveSET

The ID of a set that contains a list of Curve IDs that will be chamfered. Alternatively, if you specify a negative value, this is simply the ID of the single curve to chamfer.

REAL8 chamfer

The chamfer length.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not chamfer selected curves.

API-366

feSolidAdd

3.6.10.9 feSolidAdd

feSolidAdd ( solidSET, redraw ) Description: Adds two or more solids to form a new solid. Input: INT4 solidSET

The ID of a set that contains a list of Solid IDs that will be added. This list must contain at least two solids to be added.

BOOL redraw

If True, the graphics will be redrawn to reflect the updated solids following this operation.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not add the selected solids.

feSolidRemove

API-367

3.6.10.10 feSolidRemove

feSolidRemove ( baseID, solidSET, redraw ) Description: Removes (subtracts) one or more solids from a base solid. Input: INT4 baseID

The ID of the base solid, from which the solids in solidSET will be removed.

INT4 solidSET

The ID of a set that contains a list of Solid IDs that will be removed. Alternatively, if you specify a negative value, this is simply the ID of the single solid to remove.

BOOL redraw

If True, the graphics will be redrawn to reflect the updated solids following this operation.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not remove the selected solids.

API-368

feSolidCommon

3.6.10.11 feSolidCommon

feSolidCommon ( baseID, toolID, redraw ) Description: Creates a new solid that represents the common volume between two original solids. Input: INT4 baseID

The ID of the base solid.

INT4 toolID

The ID of the tool solid.

BOOL redraw

If True, the graphics will be redrawn to reflect the updated solids following this operation.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not find the common volume between the selected solids.

feSolidEmbed

API-369

3.6.10.12 feSolidEmbed

feSolidEmbed ( baseID, toolID, redraw ) Description: Embeds one solid (the tool) inside another (the base). Input: INT4 baseID

The ID of the base solid.

INT4 toolID

The ID of the tool solid.

BOOL redraw

If True, the graphics will be redrawn to reflect the updated solids following this operation.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not embed the selected solid.

API-370

feSolidIntersect

3.6.10.13 feSolidIntersect

feSolidIntersect ( solidSET, redraw ) Description: Breaks all of the surfaces of the selected solids at their intersections with other surfaces. Input: INT4 solidSET

The ID of a set that contains a list of solid IDs that will be intersected. This list must contain at least two solids.

BOOL redraw

If True, the graphics will be redrawn to reflect the updated solids following this operation.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not intersect the selected solids.

feSolidShell

API-371

3.6.10.14 feSolidShell

feSolidShell ( baseID, surfaceSET, thickness, redraw ) Description: Converts a solid into a thin-walled solid by offsetting outer surfaces. Input: INT4 baseID

The ID of the base solid to be modified.

INT4 surfaceSET

The ID of a set that contains a list of surface IDs that will be “pierced” by the shelling operation: that is, the list of surfaces that are really on the “thru-the-thickness” edges of the shelled solid. Alternatively, if you specify a negative value, this is simply the ID of the single surface to pierce.

REAL8 thickness

The thickness of the resulting shelled solid. This is the distance that the outer surfaces are offset to form the inner surfaces.

BOOL redraw

If True, the graphics will be redrawn to reflect the updated solids following this operation.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not shell the selected solid.

API-372

feSolidSlice

3.6.10.15 feSolidSlice

feSolidSlice ( solidSET, planeBASE, planeNORMAL, redraw ) Description: Slices one or more solids with a plane. Input: INT4 solidSET

The ID of a set that contains a list of solid IDs that will be sliced. Alternatively, if you specify a negative value, this is simply the ID of the single solid to slice.

REAL8 planeBASE[0..2]

Any location that lies on the plane used to slice the solid.

REAL8 planeNORMAL[0..2]

The components of a vector that is normal to the plane.

BOOL redraw

If True, the graphics will be redrawn to reflect the updated solids following this operation.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not slice the selected solids.

feSolidSliceMatch

API-373

3.6.10.16 feSolidSliceMatch

feSolidSliceMatch ( solidSET, planeBASE, planeNORMAL, redraw ) Description: Slices one or more solids with a plane and leaves matching surfaces on both new solids. Input: INT4 solidSET

The ID of a set that contains a list of solid IDs that will be sliced. Alternatively, if you specify a negative value, this is simply the ID of the single solid to slice.

REAL8 planeBASE[0..2]

Any location that lies on the plane used to slice the solid.

REAL8 planeNORMAL[0..2]

The components of a vector that is normal to the plane.

BOOL redraw

If True, the graphics will be redrawn to reflect the updated solids following this operation.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not slice the selected solids.

API-374

feSolidSliceAlongFace

3.6.10.17 feSolidSliceAlongFace

feSolidSliceAlongFace ( surfaceID ) Description: Separates a solid by slicing it with one of its surfaces. Input: INT4 surfaceID

The ID of the surface used to slice the solid. This surface is also used to determine the solid to slice, since only the solid that contains the surface can be sliced.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not slice the solid with the selected surface.

feSolidEmbedFace

API-375

3.6.10.18 feSolidEmbedFace

feSolidEmbedFace ( surfaceID, dirMode, curveOpt, direction, offset, redraw ) Description: Uses a surface of a solid to divide it. Input: INT4 surfaceID

The ID of the surface used to slice the solid. This surface is also used to determine the solid to slice, since only the solid that contains the surface can be sliced.

INT4 dirMode

The option used to determine which direction the surface will be projected as it is embedded into the solid: 0=Automatic direction and offset selection, 1=Specified direction, Automatic offset, 2= Automatic Direction, Specified offset.

INT4 curveOpt

The option used to determine which curves of the surface will be embedded: 0=Outline only (skip interior curves/holes), 1=All Curves.

REAL8 direction[0..2]

The vector used to specify the direction to embed the face - only used if dirMode=1.

REAL8 offset

The distance that the face will be embedded into the solid. Only used if dirMode=1 or dirMode=2.

BOOL redraw

If True, the graphics will be redrawn to reflect the updated solids following this operation.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not embed the surface into the solid.

API-376

feSolidCleanup

3.6.10.19 feSolidCleanup

feSolidCleanup ( solidSET, redundant, sliver, check ) Description: Performs various cleanup and checking on selected solids. Input: INT4 solidSET

The ID of a set that contains a list of solid IDs that will be checked. Alternatively, if you specify a negative value, this is simply the ID of the single solid to check.

BOOL redundant

If True, redundant geometry that is not required to define the solid will be removed. For example, extra lines or surfaces that were “cut” into the underlying surfaces will be removed.

BOOL sliver

If True, an attempt will be made to remove any and all small sliver surfaces. This option is only available if the solid is a Parasolid solid.

BOOL check

If True, the solids will be checked to ensure that they are still valid. This is especially important if you have attempted to remove sliver surfaces.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not cleanup the selected solids.

feSolidCleanupAdvanced

API-377

3.6.10.20 feSolidCleanupAdvanced

feSolidCleanupAdvanced ( solidSET, RepairEdges, RepairEdgesVal, CleanSmoothDiscont, CleanSmoothDiscontVal, RemoveSelfInt, AllowSurfMod, RemoveSpikes, RemoveSpikesVal, RemoveSmallEdges, RemoveSmallEdgesVal, RemoveSmallFaces, RemoveSmallFacesVal, RemoveSliverFaces, RemoveSliverFacesVal, ConvertToAnalytic, ConvertToAnalyticVal, RecalcEdges, RecalcEdgesVal, MergeEdges, HealSurfaces, HealSurfacesVal, HealSmoothDiscont, HealSmoothDiscontVal, ReplaceMissing ) Description: Performs more advanced cleanup and checking on selected solids. Input: INT4 solidSET

The ID of a set that contains a list of solid IDs that will be checked. Alternatively, if you specify a negative value, this is simply the ID of the single solid to check.

BOOL RepairEdges

If True, turn on Cleaning Repair Edges

REAL8 RepairEdgesVal

Size for repairing edges

BOOL CleanSmoothDiscont

If True, turn on Cleaning Smooth or Split Discontinuities

REAL8 CleanSmoothDiscontVal

Angle for Smooth or Split Discontinuities

BOOL RemoveSelfInt

If True, turn on Cleaning Remove Surface Self-Intersections

BOOL AllowSurfMod

If True, turn on Cleaning Allow Surface Modifications

BOOL RemoveSpikes

If True, turn on Small Feature Remove Spikes

REAL8 RemoveSpikesVal

Size for spike removal

BOOL RemoveSmallEdges

If True, turn on Small Feature Remove Small Edges

REAL8 RemoveSmallEdgesVal

Size for small edge removal

BOOL RemoveSmallFaces

If True, turn on Small Feature Remove Small Faces

REAL8 RemoveSmallFacesVal

Size for small face removal

BOOL RemoveSliverFaces

If True, turn on Small Feature Remove Sliver Faces

REAL8 RemoveSliverFacesVal

Size for sliver face removal

BOOL ConvertToAnalytic

If True, turn on Geometry Simplification Convert to Analytic Geometry

REAL8 ConvertToAnalyticVal

Value for Analytic Geometry conversion

BOOL RecalcEdges

If True, turn on Edge Heal Recalculate Edge Geometry

REAL8 RecalcEdgesVal

Value for recalculating edge geometry

API-378

( solidSET, RepairEdges, RepairEdgesVal, CleanSmoothDiscont, CleanSmooth-

feSolidCleanupAdvanced ( solidSET, RepairEdges, RepairEdgesVal, CleanSmoothDiscont, CleanSmoothDiscontVal, RemoveSelfInt, AllowSurfMod, RemoveSpikes, RemoveSpikesVal, RemoveSmallEdges, RemoveSmallEdgesVal, RemoveSmallFaces, RemoveSmallFacesVal, RemoveSliverFaces, RemoveSliverFacesVal, ConvertToAnalytic, ConvertToAnalyticVal, RecalcEdges, RecalcEdgesVal, MergeEdges, HealSurfaces, HealSurfacesVal, HealSmoothDiscont, HealSmoothDiscontVal, ReplaceMissing ) BOOL MergeEdges

If True, turn on Edge Heal Merge Edges

BOOL HealSurfaces

If True, turn on Surface Heal and Stitch Heal Surfaces

REAL8 HealSurfacesVal

Value for healing surfaces

BOOL HealSmoothDiscont

If True, turn on Surface Heal and Stitch Smooth or Split Discontinuities

REAL8 HealSmoothDiscontVal

Value for Smoothing/Splitting Discontinuities during Surface Healing

BOOL ReplaceMissing

If True, turn on Surface Heal and Stitch Replace Missing Geometry

Output: None Return Code: FE_FAIL

Could not cleanup the selected solids.

Remarks/Usage: For all numeric values used by this method, specifying a value of 0.0 will automatically use the default value that is shown in the dialog when you access this functionality from the user interface. Example: This example calls Advanced Cleanup on Solid 1, with all the default options that would be used had the functionality been accessed from the user interface. Sub Main Dim App As femap.model Set App = feFemap() App.feSolidCleanupAdvanced( -1, True, 0.0, True, 0.0, True, _ True, True, 0.0, True, 0.0, True, 0.0, True, 0.0, True, 0.0, _ True, 0.0, True, False, 0.0, False, 0.0, False ) End Sub

feSolidRemoveFace

API-379

3.6.10.21 feSolidRemoveFace

feSolidRemoveFace ( surfaceSET, aggressive, redraw ) Description: Removes faces from a solid and then heals the gap. Input: INT4 surfaceSET

The ID of a set that contains a list of surface IDs that will be removed. Alternatively, if you specify a negative value, this is simply the ID of the single surface to remove.

BOOL aggressive

Attempts aggressive face removal.

BOOL redraw

Redraw the model after command.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not remove face.

API-380

feGenerateCopy

3.6.11 Geometry and Mesh Generation Methods The methods described in this section are applicable to both geometry and mesh entities. The appropriate entities that can be used with each method are listed in the method tables. 3.6.11.1 feGenerateCopy

feGenerateCopy ( entityTYPE, entitySET, alongVEC, nodeINC, match ) Description: Creates new entities by copying existing entities along a vector. Input: INT4 entityTYPE

The entity type to copy: 3=Point, 4=Curve, 5=Surface, 6=Volume, 7=Node, 8=Element, 39=Solid.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be copied. Alternatively, if you specify a negative value, this is simply the ID of the single entity to copy.

REAL8 alongVEC[0..2]

The components of the vector used to copy the entities. Components must be specified in global rectangular coordinates. This is not a unit vector; the entities are copied a distance equal to the length of the vector.

INT4 nodeINC

Only used if entityTYPE=Element. When you are copying elements, there are two possible approaches that you can take. You can either copy the elements and all of the nodes that they are used to define them, or you can just copy the element connectivity onto another existing set of nodes. If you want to copy the nodes and elements, set nodeINC=0. If you want to copy the elements onto existing nodes, you should set nodeINC equal to the difference in nodeIDs from the nodes on the existing elements to the nodes on the new elements.

BOOL match

If True, then loads and constraints on the original entities are copied to the newly created entities. If False, only the selected entities are duplicated. (only available in v8.2 and later)

Output: None Return Code: FE_FAIL Remarks/Usage: None Example:

Could not copy the entities.

feGenerateCopy

feGenerateCopy ( entityTYPE, entitySET, alongVEC, nodeINC, match ) None

API-381

API-382

feGenerateRadialCopy

3.6.11.2 feGenerateRadialCopy

feGenerateRadialCopy ( entityTYPE, entitySET, origVEC, length, match ) Description: Creates new entities by radially copying existing entities about an origin. Input: INT4 entityTYPE

The entity type to copy: 3=Point, 4=Curve, 5=Surface, 6=Volume, 7=Node, 8=Element. Solids cannot be radially copied.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be copied. Alternatively, if you specify a negative value, this is simply the ID of the single entity to copy.

REAL8 origVEC[0..2]

The coordinates of the origin around which the radial copy will be performed. The coordinates must be in global rectangular.

REAL8 length

The radial distance to copy the entities. A positive value increases the distance from the origin. A negative value decreases the distance.

BOOL match

If True, then loads and constraints on the original entities are copied to the newly created entities. If False, only the selected entities are duplicated. (only available in v8.2 and later)

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not copy the entities.

feGenerateScale

API-383

3.6.11.3 feGenerateScale

feGenerateScale ( entityTYPE, entitySET, origVEC, scaleVEC, csysID, match ) Description: Creates new entities by scaling entities about a location. Input: INT4 entityTYPE

The entity type to scale: 3=Point, 4=Curve, 5=Surface, 6=Volume, 7=Node, 8=Element, 39=Solid.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be scaled. Alternatively, if you specify a negative value, this is simply the ID of the single entity to scale.

REAL8 origVEC[0..2]

The coordinates of the origin around which the scale will be performed. The coordinates must be in the coordinate system specified in csysID - not necessarily global rectangular.

REAL8 scaleVEC[0..2]

The scaling values. The entries in this vector are the scale factors in the X,Y and Z coordinate directions of the csysID coordinate system. If you want a uniform scale, you must still set all three values to the same scale factor.

INT4 csysID

The ID of a coordinate system that will be used to perform the scaling. Usually this will be 0=Global rectangular, unless you want to scale about some rotated set of axes.

BOOL match

If True, then loads and constraints on the original entities are copied to the newly created entities. If False, only the selected entities are duplicated. (only available in v8.2 and later)

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not scale the entities.

API-384

feGenerateRotate

3.6.11.4 feGenerateRotate

feGenerateRotate ( entityTYPE, entitySET, origVEC, axisVEC, rotANGLE, transDIST, match ) Description: Creates new entities by rotating entities about an axis. Input: INT4 entityTYPE

The entity type to rotate: 3=Point, 4=Curve, 5=Surface, 6=Volume, 7=Node, 8=Element, 39=Solid.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be rotated. Alternatively, if you specify a negative value, this is simply the ID of the single entity to rotate.

REAL8 origVEC[0..2]

The coordinates of the origin of the axis of rotation. Must be specified in global rectangular coordinates.

REAL8 axisVEC[0..2]

The components of the axis of rotation, in global rectangular coordinates. The rotation will be in positive, right-hand rule sense about this axis.

REAL8 rotANGLE

The angle of rotation about the axis vector, in degrees.

REAL8 transDIST

The translation distance, through which the entities are translated along the rotation axis, as they are rotated. Usually this is zero.

BOOL match

If True, then loads and constraints on the original entities are copied to the newly created entities. If False, only the selected entities are duplicated. (only available in v8.2 and later)

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not rotate the entities.

feGenerateReflect

API-385

3.6.11.5 feGenerateReflect

feGenerateReflect ( entityTYPE, entitySET, origVEC, normVEC, trapWIDTH, match ) Description: Creates new entities by reflecting entities about a plane. Input: INT4 entityTYPE

The entity type to reflect: 3=Point, 4=Curve, 5=Surface, 6=Volume, 7=Node, 8=Element, 39=Solid.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be reflected. Alternatively, if you specify a negative value, this is simply the ID of the single entity to reflect.

REAL8 origVEC[0..2]

The coordinates of the origin of the reflection plane. Must be specified in global rectangular coordinates.

REAL8 normVEC[0..2]

The components of the normal to the reflection plane, in global rectangular coordinates. It is not necessary for this axis to point toward (or away from) the existing entities - either vector will yield the same result.

REAL8 trapWIDTH

The trapWIDTH of the reflection plane. Entities that fall within this distance from the reflection plane will not be reflected.

BOOL match

If True, then loads and constraints on the original entities are copied to the newly created entities. If False, only the selected entities are duplicated. (only available in v8.2 and later)

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not reflect the entities.

API-386

feGenerateReflect

API-387 3.7 Connection Methods Connection Methods include: •

Section 3.7.1, "Generating Connections"

API-388

feConnectAuto

3.7.1 Generating Connections 3.7.1.1 feConnectAuto

feConnectAuto ( solidSET, linearTolerance, angleTolerance, strategy, bSelfConnect, bCombineAll, nConnectProp, bGlued ) Description: This function is obsolete. It is the same as calling feConnectAuto2( ) with connectType = 1. Refer to the documentation for that function for more information. 3.7.1.2 feConnectAuto2

feConnectAuto2 ( solidSET, connectType, linearTolerance, angleTolerance, strategy, bSelfConnect, bCombineAll, nConnectProp, bGlued ) Description: Automatically generates connections between solids Input:

INT4 solidSET

The ID of a Set object that contains the IDs of solids to connect. Alternatively, if solidSET is negative, it is the ID of a single solid to use (although this will not do anything unless bSelfConnect is also True)

INT4 connectType

The type of connections to search for 0=All, 1=Face to Face, 2=Edge to Face

REAL8 linearTolerance

The maximum distance between adjacent faces to find connections. If 0.0, then use default.

REAL8 angeTolerance

The maximum angle deviation between adjacent planar faces to still consider them for connection. If 0.0, then use default.

INT4 strategy

A value between 1 and 5 that indicates the search strategy. You can also specify strategy = 0 to use the default strategy

BOOL bSelfConnect

If True, allow connections between surfaces of the same solid

BOOL bCombineAll

If True, connections between faces of the same two solids will be combined into a single conneciton

INT32 nConnectProp

The ID of a Connection Property to be used for the connections (if nonzero, this Connection Property must exist). If specified as 0, a new default property will be created.

BOOL bGlued

Only used if nConnectProp is 0. If True, the default property will be a Glued type, otherwise a Contact type.

feConnectAuto2

API-389

feConnectAuto2 ( solidSET, connectType, linearTolerance, angleTolerance, strategy, bSelfConnect, bCombineAll, nConnectProp, bGlued ) Output: None Return Code: FE_FAIL

Creating connections failed

FE_INVALID

The search strategy is invalid

FE_NOT_EXIST

The Connection Property does not exist.

Remarks/Usage: None Example: The following routine automatically connects all solids with a new Glued connection... Sub Main Dim App As femap.model Set App = GetObject(,"femap.model") Dim s As femap.Set Set s = App.feSet s.AddAll( FT_SOLID ) App.feConnectAuto( s.ID, 0.001, 1.0, 0, False, True, 0, True ) End Sub

API-390

feConnectAuto2

feConnectAuto2

API-391

API-392

feLoadCombine

3.8 Model Methods In general, the API does not contain methods that duplicate the functionality that is found on the Model menu. Most of these commands simply create single finite element entities in your model, and those operations are supported through the Entity objects, described in Section 5, "FEMAP Entity Objects". In addition to those basic creation capabilities however, there are several output processing commands that are located on the Model menu. Those are supported directly, and are described in the following sections.

3.8.1 Model Load Methods 3.8.1.1 feLoadCombine

feLoadCombine ( fromSET, toSET, scale ) Description: Combines a Load set into another set Input: INT4 fromSET

The ID of the Load Set to be combined

INT4 toSET

The ID of the Load Set which will contain the combined loads.

REAL8 scale

A scale factor to apply to the loads being combined. Normally set to 1.0 to simply combine loads.

Output: None Return Code: FE_FAIL

Could not combine the load set, most likely it does not exist.

Remarks/Usage: The functionality of this method is identical to the Model, Load, Combine command. All restrictions on combinations and scale factors that apply to that command apply equally to this method. Example: None

feLoadFromFreebody

API-393

3.8.1.2 feLoadFromFreebody

feLoadFromFreebody ( freebodyID, nodeSetID, outSetID, loadSetID, doSummation, doNodes, overrideNodeCheck) Description: Creates applied loads from freebody loads Input: INT4 freebodyID

ID of freebody to use to determine load values

INT4 nodeSetID

Set ID containing node IDs to load; note that given nodes must exist in the specified freebody

INT4 outSetID

Output set ID from which to retrieve load values

INT4 loadSetID

Load set ID to store load definitions

BOOL doSummation

Create loads for total summation

BOOL doNodes

Create loads for nodal summations

BOOL overrideNodeCheck

When set to False, then if you specify a node that is not in the freebody and potentially may not have any nodes, the routine returns FE_FAIL or FE_NOT_EXIST. If True, the loads will be created anyway (has potential to create Zero loads).

Output: None Return Code: FE_FAIL

Invalid freebody, node(s), output set, or load set ID specified

FE_NOT_EXIST

Freebody, node(s), output set, or load set specified does not exist in the database

FE_INVALID

One or more of the nodes specified are not included in the freebody object or doSummation is TRUE when specified freebody is not in interface mode

Remarks/Usage: feLoadFromFreebody creates applied loads from freebody loads. The load components and contributions to be included in the created loads are obtained from the specified freebody. Up four load definitions will be created in the specified load set based on the options specified in this command and the attributes set in the freebody: total resultant forces, total resultant moments, nodal forces, and nodal moments. Example: None

API-394

feBCCombine

3.8.2 Model Constraint Methods 3.8.2.1 feBCCombine

feBCCombine ( fromSET, toSET, overwrite ) Description: Combines a Constraint set into another set Input: INT4 fromSET

The ID of the Constraint Set to be combined

INT4 toSET

The ID of the Constraint Set which will contain the combined constraints.

BOOL overwrite

If True, constraints in the “toSET” will be overwritten with any duplicate constraints on the same node. If False, degrees of freedom on the common nodes will be combined to form a new constraint. Does not apply to constraint equations.

Output: None Return Code: FE_FAIL

Could not combine the constraint set, most likely it does not exist.

Remarks/Usage: The functionality of this method is identical to the Model, Constraint, Combine command. All restrictions on combinations that apply to that command apply equally to this method. Example: None

feOutputProcess

API-395

3.8.3 Model Output Methods 3.8.3.1 feOutputProcess

NOTE: This method is obsolete. There are many combinations of options that could be passed to this method that are invalid and will not work. Please switch to using one of the other “OutputProcess” methods that provide specific access to each of the processing methods.

feOutputProcess ( count, full_set, processing_method, approach, from_setID, from_vectorID, to_setID, to_vectorID, groupID, factor, overwrite, ply_summary, set_info ) Description: Provides the functionality that is available through the Model, Output, Process command to copy, combine, envelope, or convert output. Input: INT4 count

The number of processing operations; that is, the number of entries in the other arrays.

BOOL full_set

Set to True if the operations will process entire sets of output, or False if individual vectors are to be processed. If True, from_vectorID and to_vectorID are ignored.

INT4 processing_method

The type of processing to be done: 0=Copy, 1=Combine, 2=Linear, 3=RSS, 4=Convert, 5=Envelope, 6=Error Estimate.

INT4 approach[0..count-1]

Additional approach required by certain methods. If processing_method=5,Envelope then (0=Max, 1=Min, 2=Max Abs). If processing_method=6, Error Estimate then (0=Max Diff, 1=Diff to Avg, 2=%Max Diff, 3=%Diff to Avg, 4=Norm% Max Diff, 5=Norm% Diff to Avg). If processing_method=4, Convert then (0=Avg, 1=Max).

INT4 from_setID[0..count-1]

The ID of the output set to process.

INT4 from _vectorID[0..count1]

The ID of the output vector to process (not used if full_set=True).

INT4 to_setID[0..count-1]

The ID of the output set where processed data will be created.

INT4 to_vectorID[0..count-1]

The ID of the output vector where processed data will be created (not used if full_set=True).

INT4 groupID[0..count-1]

The ID of the group used to restrict output processing. If 0, all available output, on the full model is processed.

REAL8 factor[0..count-1]

The scale factor for linear and RSS combinations. The Skip Below value for Error Estimates.

BOOL overwrite[0..count-1]

Flag to overwrite existing output if you are combining output.

API-396

feOutputProcess

feOutputProcess ( count, full_set, processing_method, approach, from_setID, from_vectorID, to_setID, to_vectorID, groupID, factor, overwrite, ply_summary, set_info ) BOOL ply_summary[0..count1]

For Envelope, if True, this will compute the ply summary information for laminate output.

BOOL set_info[0..count-1]

For Envelope, if True and doing full sets, this will compute the additional set summary information for the enveloped data.

Output: None Return Code: FE_FAIL

Could not process the requested information.

Remarks/Usage: Only combinations of options that are available in the Model, Output, Process command in FEMAP will correctly process information through the API. Example: None

feOutputProcessCopy

API-397

3.8.3.2 feOutputProcessCopy

feOutputProcessCopy ( bFullSet, from_setID, from_vectorID, to_setID ) Description: Allows you to Copy a single output set or vector. Input: BOOL bFullSet

Set to True if the operation will process entire sets of output, or False if individual vectors are to be processed. If True, from_vectorID and to_setID are ignored.

INT4 from_setID

The ID of the output set to process.

INT4 from _vectorID

The ID of the output vector to process

INT4 to_setID

The ID of the Set to contain the resulting copy. If 0, a new Output Set will be created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not process the requested information.

API-398

feOutputProcessMerge

3.8.3.3 feOutputProcessMerge

feOutputProcessMerge ( bFullSet, bOverwrite, nCount, from_setID, from_vectorID, to_setID ) Description: Allows you to Combine/Merge Output in Sets or Vectors Input: BOOL bFullSet

Set to True if the operation will process entire sets of output, or False if individual vectors are to be processed. If True, from_vectorID and to_setID are ignored.

BOOL bOverwrite

If True, existing Output will be overwritten. If False, output will only be merged onto nodes/elements that have no output.

INT4 nCount

The number of entries in from_setID and from_vectorID

INT4 from_setID[0..nCount-1]

The IDs of the output sets to process.

INT4 from _vectorID[0..nCount-1]

The IDs of the output vectors to process.

INT4 to_setID

The ID of the Set to contain the resulting copy. If 0, a new Output Set will be created.

Output: None Return Code: FE_FAIL

Could not process the requested information.

Remarks/Usage: Each entry in from_setID and from_vectorID is used as a pair. For example from_setID[0] and from_vectorID[0] mean output in the vector from_vectorID[0] in from_setID[0]. Example: None

feOutputProcessLinearCombination

API-399

3.8.3.4 feOutputProcessLinearCombination

feOutputProcessLinearCombination ( bFullSet, nApproach, nCount, dScaleFactor, from_setID, from_vectorID, to_setID ) Description: Performs a linear combination, with a scale factor, of Output Sets or Vectors Input: BOOL bFullSet

Set to True if the operation will process entire sets of output, or False if individual vectors are to be processed. If True, from_vectorID and to_setID are ignored.

INT4 nApproach

0=Combine All Vectors in All Sets, 1=Combine All Vectors in Each Set, 2=Combine Each Vector across All Sets. Ignored and always =2 if bFullSet is True.

INT4 nCount

The number of entries in dScaleFactor, from_setID and from_vectorID

REAL8 dScaleFactor[0..nCount-1]

The scale factor to apply to each set or vector.

INT4 from_setID[0..nCount-1]

The IDs of the output sets to process.

INT4 from _vectorID[0..nCount-1]

The IDs of the output vectors to process.

INT4 to_setID

The ID of the Set to contain the resulting combination. If 0, a new Output Set will be created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not process the requested information.

API-400

feOutputProcessRSSCombination

3.8.3.5 feOutputProcessRSSCombination

feOutputProcessRSSCombination ( bFullSet, nApproach, nCount, dScaleFactor, from_setID, from_vectorID, to_setID ) Description: Performs an RSS (root sum squared) combination, with a scale factor, of Output Sets or Vectors Input: BOOL bFullSet

Set to True if the operation will process entire sets of output, or False if individual vectors are to be processed. If True, from_vectorID and to_setID are ignored.

INT4 nApproach

0=Combine All Vectors in All Sets, 1=Combine All Vectors in Each Set, 2=Combine Each Vector across All Sets. Ignored and always =2 if bFullSet is True.

INT4 nCount

The number of entries in dScaleFactor, from_setID and from_vectorID

REAL8 dScaleFactor[0..nCount-1]

The scale factor to apply to each set or vector.

INT4 from_setID[0..nCount-1]

The IDs of the output sets to process.

INT4 from _vectorID[0..nCount-1]

The IDs of the output vectors to process.

INT4 to_setID

The ID of the Set to contain the resulting combination. If 0, a new Output Set will be created.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not process the requested information.

feOutputProcessConvert

API-401

3.8.3.6 feOutputProcessConvert

feOutputProcessConvert ( approach, from_setID, from_vectorID, to_setID, to_vectorID, groupID ) Description: Allows you to “Convert” a single output vector between nodal and elemental locations. Input: INT4 approach

0=Avg, 1=Max

INT4 from_setID

The ID of the output set to process.

INT4 from _vectorID

The ID of the output vector to process

INT4 to_setID

Not Used

INT4 to_vectorID

Not Used

INT4 groupID

The ID of the group used to restrict output processing. If 0, all available output, on the full model is processed.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not process the requested information.

API-402

feOutputProcessEnvelope

3.8.3.7 feOutputProcessEnvelope

feOutputProcessEnvelope ( bFullSet, nType, nApproach, bEnvelopeInSets, bEnvelopeAcrossSets, bSetInfo, nCount, from_setID, from_vectorID, to_setID ) Description: Envelopes results in one or more Output Sets or Vectors to find worst-case scenarios. Input: BOOL bFullSet

Set to True if the operation will process entire sets of output, or False if individual vectors are to be processed. If True, from_vectorID and to_setID are ignored.

INT4 nType

The Type of envelope to create 0=Max, 1=Min, 2=Max Absolute Value.

INT4 nApproach

0=Envelope All Vectors in All Sets, 1=Envelope All Locations (like all Plys, all Stress Recovery Locations, ...), 2=Envelope Each Vector across All Sets. Ignored and always =2 if bFullSet is True.

BOOL bEnvelopeInSets

If True, an Envelope is created and stored in the same set as the original results Ignored and always False if bFullSet=True or nApproach=2

BOOL bEnvelopeAcrossSets

If True, results for similar vectors are enveloped across all of the selected sets. Ignored and always True if bFullSet=True or nApproach=2

BOOL bSetInfo

If True extra output vectors are created which contain the ID of the set and possibly the location where the envelope value came from.

INT4 nCount

The number of entries in from_setID and from_vectorID

INT4 from_setID[0..nCount-1]

The IDs of the output sets to process.

INT4 from _vectorID[0..nCount-1]

The IDs of the output vectors to process. Ignored if bFullSet=True

INT4 to_setID

The ID of the Set to contain the resulting combination. If 0, a new Output Set will be created. Ignored and always 0 if bFullSet=True or nApproach=2

Output: None Return Code: FE_FAIL Remarks/Usage:

Could not process the requested information.

feOutputProcessEnvelope

API-403

feOutputProcessEnvelope ( bFullSet, nType, nApproach, bEnvelopeInSets, bEnvelopeAcrossSets, bSetInfo, nCount, from_setID, from_vectorID, to_setID ) None Example: None

API-404

feOutputProcessErrorEstimate

3.8.3.8 feOutputProcessErrorEstimate

feOutputProcessErrorEstimate ( nMethod, from_setID, from_vectorID, groupID ) Description: Allows you to compute an Error Estimate of a single output vector. Input: INT4 nMethod

0=Max Diff, 1=Diff to Avg, 2=%Max Diff, 3=%Diff to Avg, 4=Norm% Max Diff, 5=Norm% Diff to Avg

INT4 from_setID

The ID of the output set to process.

INT4 from _vectorID

The ID of the output vector to process

INT4 groupID

The ID of the group used to restrict output processing. If 0, all available output, on the full model is processed.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not process the requested information.

feOutputFromLoad

API-405

3.8.3.9 feOutputFromLoad

feOutputFromLoad ( setID, loadType ) Description: Creates output from existing load information. Input: INT4 setID

The ID of a set that contains a list of node or elements IDs that will be checked for loads to create the output. Alternatively, if you specify 0, all nodes/elements will be checked.

INT4 loadType

The type of load to check to create output: Force=16, Displacement=32, Velocity=2048, Acceleration=64, Nodal Temperature=4096, Nodal HeatGen=2, Nodal Heat Flux=4, Elem Distributed Load=128, Pressure=256, Elem Temperature=8192, Elem Heat Gen 512, Elem Heat Flux=1024, Elem Convection=16384, Elem Radiation=32768, Fluid Pressure=131072, Fluid Tracking=262144, Fluid Fan Curve=2097152.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not compute output.

API-406

feOutputTransform

3.8.3.10 feOutputTransform

feOutputTransform ( INT4 option, BOOL allSETS, INT4 outSET, INT4 outVEC, INT4 csysID, INT4 elemSET, INT4 alignMode, INT4 alignHyperElasticMode ) Description: Transforms existing output to another orientation. Input:

INT4 option

Specifies the type of data transformation to be done: 1=Transform Vector data from Global Rectangular into the specified coordinate system, 2=Transform Vector data from Global Rectangular into Nodal Output Coordinate Systems 3=Transform Plate Force/Stress/Strain results into the current material orientation direction. 4=Transform Plate Force/Stress/Strain results into the direction specified by the projection of a specified coordinate system axis onto the element. 5=Transform Plate Force/Stress/Strain results into the direction specified by the projection of a specified vector onto the element 6=Transform Solid Force/Stress/Strain results into the specified coordinate system 7=Transform Solid Force/Stress/Strain results into the Material coordinate system

BOOL allSETS

If True, all output sets will be translated, and outSET is ignored.

INT4 outSET

The output set in which data will be transformed.

INT4 outVEC

The output vector which will be transformed. If option=0, then this should be the ID of the “total” value.

INT4 csysID

Used only if option=0. Specifies the coordinate system to transform into.

INT4 elemSET

The ID of the set that contains the element IDs to transform. Only used if option=1.

INT4 alignDOF

Specifies the axis of the coordinate system to project onto planar elements if option=4. X=1,Y=2,Z=3

REAL8 alignX REAL8 alignY REAL8 alignZ

Specifies the Global Rectangular components of a vector to project onto planar elements if option=5

Output: None Return Code:

feOutputTransform

API-407

feOutputTransform ( INT4 option, BOOL allSETS, INT4 outSET, INT4 outVEC, INT4 csysID, INT4 elemSET, INT4 alignMode, INT4 alignHyperElasticMode ) FE_FAIL

Could not transform output.

Remarks/Usage: The current output orientation may vary with element type, shape or output type. If more than one alignMode specification is required, this method must be called multiple times. Example: None

API-408

feOutputCalculate

3.8.3.11 feOutputCalculate

feOutputCalculate ( outSET, ndelem, elemSET, title, IDvar, CASEvar, formula ) Description: Computes output values based on an equation that you provide. Input: INT4 outSET

The ID of the set that contains the output set IDs where the calculations will be performed.

INT4 ndelem

Specifies whether the calculation will create nodal or elemental data. (7=Nodal, 8=Elemental)

INT4 elemSET

The ID of the set that contains the nodes or elements where the output will be computed.

STRING title

The title of the output vectors to be created

STRING IDvar

The name of the variable used as the Node/Element ID in the formula that you specify.

STRING CASEvar

The name of the variable used as the Output Set ID in the formula that you specify.

STRING formula

The equation used to calculate the results. This must be specified in standard FEMAP form, using the two variables defined in IDvar and CASEvar.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not compute output.

feOutputConvertV92VectorID

API-409

3.8.3.12 feOutputConvertV92VectorID

feOutputConvertV92VectorID ( oldVecID ) Description: Some Output Vector IDs changed between FEMAP v9.2 and v9.3. This method takes a v9.2 (and before) vector ID and returns the equivalent v9.3 vector ID Input: INT4 oldVecID

The v9.2 (and before) vector ID that you want to convert.

Output: None Return Code: newVecID Remarks/Usage: None Example: None

The v9.3 (and later) vector ID

API-410

feOutputForceBalance

3.8.3.13 feOutputForceBalance

feOutputForceBalance ( outSETS, boundarynodeSET, boundaryelemSET, csysID, aroundXYZ, numSETS, resultant ) Description: Returns the resulting force/moment information on a model interface defined by selected nodes/elements across selected output sets. Input: INT4 outSETS

The ID of a Set object that contains the output sets to process. Alternatively, if you specify a negative value, this is simply the ID of the single output set to use.

INT4 boundarynodeSET

The ID of a Set object that contains the nodes on the model interface where the force balance will be computed. Alternatively, if you specify a negative value, this is simply the ID of a single node.

INT4 boundaryelemSET

The ID of a Set object that contains the elements on the model interface where the force balance will be computed. Alternatively, if you specify a negative value, this is simply the ID of a single element.

INT4 csysID

The ID of the coordinate system to use. The coordinates in “aroundXYZ” must be specified in this coordinate system, and all results are returned in this coordinate system

REAL8 aroundXYZ[0..2]

The coordinates of the location where the resulting force/moment are computed

Output: INT4 numSETS

The numbef of output set results contained in “resultant”

REAL8 resultant[0..6*numSETS-1]

The resulting force/moment resultant computed from the loads on the selected interface. For each output set selected in “outSETS”, there will be 6 consecutive entries in this array [Fx1, Fy1, Fz1, Mx1, My1, Mz1, Fx2, Fy2, ...]. All values are relative to the coordinate system selected by csysID.

Return Code: FE_NO_MEMORY

Insufficient memory to compute and return all Resultants.

Remarks/Usage: This method requires that all selected output sets contain Nastran Grid Point Force Balance results. Example: None

feOutputForceBalance2

API-411

3.8.3.14 feOutputForceBalance2

feOutputForceBalance2 ( freebodyID, outSetID, toDataTable, printSummation, printDetails ) Description: Outputs freebody data to the message window or the data table. To retrieve the calculated total summation load programmatically, see the CalculateSummation() method of feFreebody. Input: INT4 freebodyID

Freebody ID

INT4 outSetID

Output Set ID

BOOL toDataTable

If TRUE, output is sent to the data table; otherwise it is sent to the message window

BOOL printSummation

When TRUE, data related to the freebody summation is printed, otherwise raw grid point force balance data for all nodes in the freebody will be output

BOOL printDetails

If printSummation is TRUE, details regarding the force balance calculations will be output; ignored when printSummation is FALSE.

Output: None Return Code: FE_FAIL

Freebody summation has been calculated with potential errors (ie missing contributions of load, missing elements, etc.) The values need to be verified

FE_NOT_EXIST

Specified freebody or output set does not exist

FE_INVALID

Freebody is not set to interface mode (this error may occur if printSummation is TRUE)

FE_SECURITY

Data is to be output to the data table, however it is locked or not visible

Remarks/Usage:

Example: None

API-412

feOutputCompare

3.8.3.15 feOutputCompare

feOutputCompare ( bList, bFullCase, fromSET, toSETS, ifromVEC, itoVEC, dMaxDiff ) Description: This method is used to compare output from individual vectors or entire output sets. Input: BOOL bList

Flag to list the output at individual nodes or elements which differ.

BOOL bFullCase

Flag to compare all vectors in the output case.

INT4 fromSET

The ID of a Output Set you with to compare.

INT4 toSETS

The ID of Femap Set object containing the output sets you with to compare to. Alternatively, if you specify a negative value, this is simply the ID of a single output case.

INT4 ifromVEC

If not comparing the full output case then set ifromVEC to compare a specific output vector id in the fromSET.

INT4 itoVEC

If not comparing the full output case then set itoVEC to compare a specific output vector id in the toSETS.

REAL8 dMaxDiff

Value specifying the maximum value used to consider the output different.

Output: None Return Code: None Remarks/Usage: None Example: None

API-413 3.9 Meshing Methods Meshing Methods include: •

Section 3.9.1, "Mesh Control"



Section 3.9.2, "Meshing Geometry"



Section 3.9.3, "Other Meshing"

API-414

feMeshSizePoint

3.9.1 Mesh Control 3.9.1.1 feMeshSizePoint

feMeshSizePoint ( pointSET, meshSIZE ) Description: Sets mesh sizes on a selected set of points. Input: INT4 pointSET

The ID of a set that contains a list of point IDs that will have mesh sizes defined. Alternatively, if you specify a negative value, this is simply the ID of the single point to use.

REAL8 meshSIZE

Set this to the mesh size that you want to define at the points. The size should be in model units. Specify 0.0 to remove mesh sizes from the points.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not define mesh sizes.

feMeshSizeCurve

API-415

3.9.1.2 feMeshSizeCurve

feMeshSizeCurve ( curveSET, numElem, meshSize, minLine, minClosed, minOther, spacing, biasMethod, bias, biasLoc, customSize ) Description: Sets mesh sizes on a selected set of curves. Input: INT4 curveSET

The ID of a set that contains a list of curve IDs that will have mesh sizes defined. Alternatively, if you specify a negative value, this is simply the ID of the single curve to use.

INT4 numElem

The number of elements to mesh along the selected curves. If 0, then meshSize, minLine, minClosed and minOther determine the number of elements. If -1, then the mesh sizes are removed from the selected curves.

REAL8 meshSIZE

The default mesh spacing used to compute the number of elements that will be meshed along the curve. Only used if numElem=0.

INT4 minLine

The minimum number of elements to mesh along any curve that is a straight line. If you do not want to use this feature, simply set the value to 0 (or 1). Only used if numElem=0.

INT4 minClosed

The minimum number of elements to mesh along any curve that is closed - like a circle. If you do not want to use this feature, simply set the value to 0 (or 1). Only used if numElem=0.

INT4 minOther

The minimum number of elements to mesh along any curve that is not a straight line, and is not closed - like arcs and splines. If you do not want to use this feature, simply set the value to 0 (or 1). Only used if numElem=0.

INT4 spacing

If 0, then parametric spacing is used; otherwise ,constant length spacing is used.

INT4 biasMethod

0=Equal length spacing, 1=Linear Bias, 2=Geometric Bias.

REAL8 bias

The bias value - greater than or equal to 1.0. A value of 1.0 is not biased. A value of 2.0 means that the largest element is approximately 2.0 times the length of the smallest.

INT4 biasLoc

0=Small elements at start of curve, 1=Small elements at end of curve, 2=Small elements at center of curve, 3=Small elements at both ends of curve.

BOOL customSize

For constant length spacing, mesh sizes will be saved as a custom mesh size if this is True. Not used for parametric spacing.

API-416

feMeshSizeCurve

feMeshSizeCurve ( curveSET, numElem, meshSize, minLine, minClosed, minOther, spacing, biasMethod, bias, biasLoc, customSize ) Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not define mesh sizes.

feMeshSizeSurface

API-417

3.9.1.3 feMeshSizeSurface

feMeshSizeSurface ( surfaceSET, replaceAll, meshSize, minEdge, maxAngle, maxOnSmall, smallSize, vertexAspect, mappedRefinement, growthFactor, refineRatio, refineSurf ) Description: Sets mesh sizes on a selected set of surfaces. Input: INT4 surfaceSET

The ID of a set that contains a list of surface IDs that will have mesh sizes defined. Alternatively, if you specify a negative value, this is simply the ID of the single surface to use.

BOOL replaceAll

If True, then mesh sizes will be replaced on all curves of all selected surfaces. If False, then only curves with no sizes defined will be sized.

REAL8 meshSIZE

The default mesh spacing used to compute the number of elements that will be meshed along each curve. If you set the meshSIZE=0.0, then all of the other option settings except replaceAll are ignored. FEMAP automatically determines the default values, including the default mesh size. If you set meshSIZE to a negative value, then FEMAP uses the absolute value of that number as a scale factor on the default mesh size it calculates. For example meshSIZE=-0.5 means elements that are half the size of the default, meshSIZE=-2.0 means elements that are twice as big as the default.

INT4 minEdge

The minimum number of elements to mesh along any edge. Set to 0 if you do not want to specify a minimum.

REAL8 maxAngle

The maximum angle tolerance between the geometry tangent vector and the vector connecting consecutive mesh locations along the curves. Additional mesh locations are added along the curves to make sure this criterion is satisfied. Set to 0.0 if you do not want to use this type of mesh spacing adjustment.

INT4 maxOnSmall

The maximum number of elements on any feature that is identified as small (depends on smallSize). Set to 0 if you do not want to adjust mesh sizes on small features.

REAL8 smallSize

The maximum size of a “small” feature. Set to 0.0 if you do not want to adjust mesh sizes on small features.

REAL8 vertexAspect

Used to adjust the mesh sizes at vertices that connect both short and long edges. Set to 0.0 if you do not want to do vertex aspect ratio adjustments. If used, mesh sizes at vertices are adjusted so that the ratio of the length of the longest element to the shortest element at a vertex is within the specified limit.

API-418

feMeshSizeSurface

feMeshSizeSurface ( surfaceSET, replaceAll, meshSize, minEdge, maxAngle, maxOnSmall, smallSize, vertexAspect, mappedRefinement, growthFactor, refineRatio, refineSurf )

BOOL mappedRefinement

If True, additional modifications are done to the mesh sizes on a surface that favor mapped meshing. This does not guarantee that mapped meshing sizes will be created. If you must have a mapped mesh, you need to set that approach on the surface before you size.

REAL8 growthFactor

The factor that is multiplied by the average curve element size to adjust the mesh size on the interior of a surface. Set to 0.0 to skip setting interior growth factors.

REAL8 refineRatio

The curvature-based mesh refinement ratio. Adjusts the mesh sizes along curves in areas of high curvature. Set to 0.0 to skip curvaturebased sizing.

BOOL refineSurf

Set to True to also consider curvature requirements when sizing the interior of the mesh. You must specify a nonzero refineRatio, or this option will be ignored.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not define mesh sizes.

feMeshSizeSolid

API-419

3.9.1.4 feMeshSizeSolid

feMeshSizeSolid ( solidSET, replaceAll, meshSize, minEdge, maxAngle, maxOnSmall, smallSize, vertexAspect, mappedRefinement, growthFactor, refineRatio, refineSurf, matchAdjacent, hexMesh, adjustColor, removeSlaving ) Description: Sets mesh sizes on a selected set of solids. Input: INT4 solidSET

The ID of a set that contains a list of solid IDs that will have mesh sizes defined. Alternatively, if you specify a negative value, this is simply the ID of the single solid to use.

BOOL replaceAll

If True, then mesh sizes will be replaced on all curves of all selected solids. If False, then only curves with no sizes defined will be sized.

REAL8 meshSIZE

The default mesh spacing used to compute the number of elements that will be meshed along each curve. If you set the meshSIZE=0.0 (or negative), then all of the other option settings except replaceAll, matchAdjacent, hexMesh, adjustColor and removeSlaving are ignored. FEMAP automatically determines the default values, including the default mesh size. If you set meshSIZE to a negative value, then FEMAP uses the absolute value of that number as a scale factor on the default mesh size it calculates. For example meshSIZE=-0.5 means elements that are half the size of the default, meshSIZE=-2.0 means elements that are twice as big as the default.

INT4 minEdge

The minimum number of elements to mesh along any edge. Set to 0 if you do not want to specify a minimum.

REAL8 maxAngle

The maximum angle tolerance between the geometry tangent vector and the vector connecting consecutive mesh locations along the curves. Additional mesh locations are added along the curves to make sure this criterion is satisfied. Set to 0.0 if you do not want to use this type of mesh spacing adjustment.

INT4 maxOnSmall

The maximum number of elements on any feature that is identified as small (depends on smallSize). Set to 0 if you do not want to adjust mesh sizes on small features.

REAL8 smallSize

The maximum size of a “small” feature. Set to 0.0 if you do not want to adjust mesh sizes on small features.

REAL8 vertexAspect

Used to adjust the mesh sizes at vertices that connect both short and long edges. Set to 0.0 if you do not want to do vertex aspect ratio adjustments. If used, mesh sizes at vertices are adjusted so that the ratio of the length of the longest element to the shortest element at a vertex is within the specified limit.

API-420

feMeshSizeSolid

feMeshSizeSolid ( solidSET, replaceAll, meshSize, minEdge, maxAngle, maxOnSmall, smallSize, vertexAspect, mappedRefinement, growthFactor, refineRatio, refineSurf, matchAdjacent, hexMesh, adjustColor, removeSlaving )

BOOL mappedRefinement

If True, additional modifications are done to the mesh sizes on a surface that favor mapped meshing. This does not guarantee that mapped meshing sizes will be created. If you must have a mapped mesh, you need to set that approach on the surface before you size.

REAL8 growthFactor

The factor that is multiplied by the average curve element size to adjust the mesh size on the interior of a surface. Set to 0.0 to skip setting interior growth factors.

REAL8 refineRatio

The curvature-based mesh refinement ratio. Adjusts the mesh sizes along curves in areas of high curvature. Set to 0.0 to skip curvaturebased sizing.

BOOL refineSurf

Set to True to also consider curvature requirements when sizing the interior of the mesh. You must specify a nonzero refineRatio or this option will be ignored.

BOOL matchAdjacent

Set to True to automatically find adjacent surfaces between multiple solids that you are sizing. The matched surfaces will automatically have a “Linked” approach defined.

BOOL hexMesh

Set to True if you want to size for hex meshing. Set to False to size for tetrahedral meshing.

BOOL adjustColor

Set to True if you want to change the surface colors to indicate the status and success of the mesh sizing. This is especially important when sizing for hex meshing.

BOOL removeSlaving

Set to True to remove any previous “Linked” approaches on the surfaces of the solids that you are sizing.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not define mesh sizes.

feMeshAttrPoint

API-421

3.9.1.5 feMeshAttrPoint

feMeshAttrPoint ( pointSET, propID ) Description: Sets mesh attributes on a selected set of points. Input: INT4 pointSET

The ID of a set that contains a list of point IDs that will have mesh attributes defined. Alternatively, if you specify a negative value, this is simply the ID of the single point to use.

INT4 propID

Specifies the ID of the property to use as a meshing attribute at the selected points. Set propID=0 to remove meshing attributes from the points. If nonzero, this must be the ID of a property of an element type that is compatible with point meshing - a mass element, for example.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not define mesh attribute.

API-422

feMeshAttrCurve

3.9.1.6 feMeshAttrCurve

feMeshAttrCurve (curveSET, propID, Orient, Offset1, Offset2, OrientType, OffsetType, Release1, Release2) Description: Sets mesh attributes on a selected set of curves. Input: INT4 curveSET

The ID of a set contains a list of curve IDs that will have mesh attributes defined. Alternatively, if you specify a negative value, this is simply the ID of the single curve to use.

INT4 propID

Specifies the ID of the property to use as a meshing attribute at the selected curves. Set propID=0 to remove meshing attributes from the curves. If nonzero, this must be the ID of a property of an element type that is compatible with curve meshing - a beam element, for example.

REAL8 Orient[0..2]

The orientation vector meshing attribute. Either a location or vector (based on offset type), specified in global rectangular coordinates.

REAL8 Offset1[0..2] REAL8 Offset2[0..2]

The meshing attribute defining the offset to be applied to elements. Offset1[0..2] is at the beginning of the curve, Offset2[0..2] is at the end. Specified in global rectangular coordinates. If doing radial offsets, Offset1[0..2] contains the radial origin; Offset2[0] contains the radial offset distance.

INT4 OrientType

Type of orientation for property attribute: 0=Orient By Vector, 1=Orient By Location, 2=Orient By Vector, Reversed Element Direction, 3=Orient By Location, Reversed Element Direction.

INT4 OffsetType

Type of offset for property attribute: 0=Offset by Vector, 1=Offset Radial, 2=Offset by Location.

INT4 Release1[0..5] INT4 Release2[0..5]

The release flags for the start and end of the curve. Nonzero if the associated degree of freedom is released. Release1[0..5] is at the beginning of the curve; Release2[0..5] is at the end.

Output: None Return Code: FE_FAIL

Could not define mesh attribute.

Remarks/Usage: Only element/property types with the appropriate orient/offset/release options available can have those options defined using this method. For example, you cannot add offsets to rod elements, because they are not available.

feMeshAttrCurve

API-423

feMeshAttrCurve (curveSET, propID, Orient, Offset1, Offset2, OrientType, OffsetType, Release1, Release2) Example: None

API-424

feMeshAttrSurface

3.9.1.7 feMeshAttrSurface

feMeshAttrSurface ( surfaceSET, propID, offset ) Description: Sets mesh attributes on a selected set of surfaces. Input: INT4 surfaceSET

The ID of a set that contains a list of surface IDs that will have mesh attributes defined. Alternatively, if you specify a negative value, this is simply the ID of the single surface to use.

INT4 propID

Specifies the ID of the property to use as a meshing attribute at the selected surfaces. Set propID=0 to remove meshing attributes from the surfaces. If nonzero, this must be the ID of a property of an element type that is compatible with surface meshing - a planar element, for example.

REAL8 offset

The offset to be applied to elements meshed on this surface. Normally this is specified as 0 - the elements are meshed directly on the surface. Offsets can only be applied to certain planar elements such as plates.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not define mesh attribute.

feMeshAttrSolid

API-425

3.9.1.8 feMeshAttrSolid

feMeshAttrSolid ( solidSET, propID ) Description: Sets mesh attributes on a selected set of solids or volumes. Input: INT4 solidSET

The ID of a set that contains a list of solid (or volume) IDs that will have mesh attributes defined. Alternatively, if you specify a negative value, this is simply the ID of the single solid to use.

INT4 propID

Specifies the ID of the property to use as a meshing attribute in the selected solids or volumes. Set propID=0 to remove meshing attributes from the solids. If nonzero, this must be the ID of a property of an element type that is compatible with solid meshing - a solid element, for example.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not define mesh attribute.

API-426

feMeshApproachSurface

3.9.1.9 feMeshApproachSurface

feMeshApproachSurface ( surfaceSET, approach, approachData ) Description: Sets the meshing approach on a selected set of surfaces. Input: INT4 surfaceSET

The ID of a set that contains a list of surface IDs that will have mesh approaches defined. Alternatively, if you specify a negative value, this is simply the ID of the single surface to use.

INT4 approach

The meshing approach for the surface: 0=Not Specified, 1=FreeParametric, 2=Free-Planar, 3=Mapped-Four Corner, 4=MappedThree Corner, 5=Mapped-Three Corner Fan, 6=Link to Surface, 7=Fast Tri-Parametric, 8=Fast Tri-Planar.

INT4 approachData[0..3]

The data for various approaches. For the mapped approaches, these are the point IDs defining the “corners” of the mapped mesh. For the Link to Surface approach, approachData[0] is the ID of the surface that this surface is linked to.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not define mesh approach.

feMeshPoint

API-427

3.9.2 Meshing Geometry 3.9.2.1 feMeshPoint

feMeshPoint ( pointSET, meshElem, propID ) Description: Meshes a selected set of points. Input: INT4 pointSET

The ID of a set that contains a list of point IDs that will be meshed. Alternatively, if you specify a negative value, this is simply the ID of the single point to mesh.

BOOL meshElem

If True, then nodes and elements will be generated on the selected points. If False, only nodes will be generated.

INT4 propID

Specifies the ID of the property to use for elements as they are created. If you want to use meshing attributes, set propID=0. In this case, all selected points must have meshing attributes defined or they will not be meshed. The propID property must be compatible with point meshing.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example:

Could not mesh points.

API-428

feMeshPoint

feMeshPoint ( pointSET, meshElem, propID ) The following example meshes each point in a model with a mass element. The total mass added to all points is 25 pounds. Sub Main Dim App As femap.model Set femap = GetObject(, "femap.model") Dim rc As Long Dim pr As Object Set pr = femap.feProp() Dim pt As Object Set pt = App.feSet() pt.AddAll (3) 'Pick all points pr.Type = 27 ' Mass Type pr.Title = "25 Lb. Mass" pr.pval(7) = 25 / pt.Count() 'Total=25 pound/Number of Points pr.Put (pr.NextEmptyID) ' Create new property rc = App.feMeshPoint(pt.ID, True, pr.ID) 'Mesh the points App.feViewRegenerate(0) End Sub

feMeshCurve

API-429

3.9.2.2 feMeshCurve

feMeshCurve ( curveSET, meshElem, propID, orient ) Description: Meshes a selected set of curves. Input: INT4 curveSET

The ID of a set that contains a list of curve IDs that will be meshed. Alternatively, if you specify a negative value, this is simply the ID of the single curve to mesh.

BOOL meshElem

If True, then nodes and elements will be generated on the selected curves. If False, only nodes will be generated.

INT4 propID

Specifies the ID of the property to use for elements as they are created. If you want to use meshing attributes, set propID=0. In this case, all selected curves must have meshing attributes defined or they will not be meshed. The propID property must be compatible with curve meshing. Set propID=-1 to automatically mesh with plot-only elements, which do not require other property information.

REAL8 orient[0..2]

The components of the element orientation vector, in global rectangular coordinates. This is only used for those element types that require orientation - like bars and beams.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example:

Could not mesh curves.

API-430

feMeshCurve

feMeshCurve ( curveSET, meshElem, propID, orient ) The following example meshes each curve in a model with bar elements. It establishes a mesh size of 0.1 along each curve, creates a property, and meshes the curves. Sub Main Dim App As femap.model Set App = GetObject(, "femap.model") Dim rc As Long Dim pr As Object Set pr = App.feProp() Dim pt As Object Set pt = App.feSet() Dim orient(2) As Double Dim vOrient As Variant orient(0) orient(1) orient(2) vOrient =

= 1 = 1 = 0.5 orient

pt.AddAll (4) pr.Type = 2 pr.Title = "Bar" pr.pval(0) = 0.125 pr.pval(1) = 10.3 pr.pval(2) = 0.5 pr.Put (pr.NextEmptyID) rc = App.feMeshSizeCurve(pt.ID,0,0.1,0,0,0,0,0,1#,0,False) rc = App.feMeshCurve(pt.ID, True, pr.ID, vOrient) App.feViewRegenerate(0) End Sub

feMeshSurface2

API-431

3.9.2.3 feMeshSurface2

feMeshSurface2 ( surfaceSET, propID, elemShape, bAllowMapped, beDefaults ) Description: Meshes a selected set of surfaces. This function replaces feMeshSurface( ) Input: INT4 surfaceSET

The ID of a set that contains a list of surface IDs that will be meshed. Alternatively, if you specify a negative value, this is simply the ID of the single surface to mesh.

INT4 propID

Specifies the ID of the property to use for elements as they are created. If you want to use predefined meshing attributes, set propID=0. In this case, all selected surfaces must have meshing attributes defined or they will not be meshed. The propID property must be compatible with surface meshing.

INT4 elemShape

The shape of the elements to mesh. Must be 2=Tria3, 3=Tria6, 4=Quad4, 5=Quad8 or set to 0 to use the shape that is predefined on the meshing attributes.

BOOL bAllowMapped

If True, mapped meshing of the surfaces is allowed, otherwise it is not. This argument is ignored if elemShape=0

BOOL bResetDefaults

If True, all meshing attributes are reset to their defaults prior to applying the propID, elemShape and bAllowMapped settings. Normally this argument should be False to use the existing attributes.

Output: None Return Code: FE_FAIL

Could not mesh surfaces.

FE_INVALID

The value specified for elemShape is invalid

FE_NOT_EXIST

The property specified does not exist.

Remarks/Usage: None Example:

API-432

feMeshSurface2

feMeshSurface2 ( surfaceSET, propID, elemShape, bAllowMapped, beDefaults ) The following example meshes each surface on Solid 1 in a model. It requires the mesh size to be already established, but it creates a plate property with a 0.1 thickness and meshes the surfaces with quads. Sub Main Const FGD_Surface_onSolid = 78 Dim Set Dim Dim Set Dim Set

App As femap.model App = GetObject(, "femap.model") rc As Long pr As Object pr = App.feProp() pt As Object pt = App.feSet()

rc = pt.AddRule(1, FGD_Surface_onSolid) pr.Type = 17 pr.Title = "0.1 Plate" pr.pval(0) = 0.1 pr.Put (pr.NextEmptyID) rc=App.feMeshSurface2(pt.ID,pr.ID,FTO_QUAD4,True,False) App.feViewRegenerate(0) End Sub

feMeshSurface

API-433

3.9.2.4 feMeshSurface - obsolete

feMeshSurface ( surfaceSET, propID, minBetween, maxAspect, maxQuickNodes, meshApproach, quadAngle, midsideGeom, midsideAngle, smoothLaplacian, smoothIter, smoothTol ) Description: Meshes a selected set of surfaces. Input: INT4 surfaceSET

The ID of a set that contains a list of surface IDs that will be meshed. Alternatively, if you specify a negative value, this is simply the ID of the single surface to mesh.

INT4 propID

Specifies the ID of the property to use for elements as they are created. If you want to use meshing attributes, set propID=0. In this case, all selected surfaces must have meshing attributes defined or they will not be meshed. The propID property must be compatible with surface meshing. Set propID=-1 to automatically mesh with plot-only elements, which do not require other property information.

INT4 minBetween

The minimum number of elements between boundaries during mesh generation. Not used for fast-tri mesher.

REAL8 maxAspect

The maximum allowable element aspect ratio. Not used for fast-tri mesher.

INT4 maxQuickNodes

Boundaries/surfaces with more than this number of nodes on the boundary are “quick-cut”. Not used for fast-tri mesher.

INT4 meshApproach

The mesher to use when meshing the surfaces. (0=Triangle, 1=Quad, 2=Fast-Triangle).

REAL8 quadAngle

The maximum angular deviation from 90 degrees allowed in a quad before it is split into triangles. Only applies to quad mesher.

BOOL midsideGeom

If True and you are meshing with parabolic elements, midside nodes will be projected toward the geometry.

REAL8 midsideAngle

The maximum angle formed by the edge of the element as the midside nodes are projected onto the geometry. If midsideAngle=0.0 and midsideGeom=True, then midside nodes will be projected completely onto the geometry regardless of the distortion introduced in the elements.

BOOL smoothLaplacian

If True, Laplacian smoothing is performed. If False, centroidal smoothing is used.

INT4 smoothIter

The number of smoothing iterations to perform. Set to 0 to skip smoothing.

API-434

feMeshSurface

feMeshSurface ( surfaceSET, propID, minBetween, maxAspect, maxQuickNodes, meshApproach, quadAngle, midsideGeom, midsideAngle, smoothLaplacian, smoothIter, smoothTol ) The smoothing tolerance. Smoothing will stop if node movement during a smoothing pass falls below this tolerance.

INT4 smoothTol Output: None Return Code: FE_FAIL

Could not mesh surfaces.

Remarks/Usage:

This function has been replaced by feMeshSurface2( ) Nodes along common edges between surfaces meshed in a single call to this method will be merged. If you call this method multiple times, nodes along common edges of the surfaces meshed in different calls will not be merged - you must do that manually by calling feCheckCoincidentNode. Example: The following example meshes each surface on Solid 1 in a model. It requires the mesh size to be already established, but it creates a plate property with a 0.1 thickness and meshes the surfaces with quads. The software performs 20 Laplacian smoothing passes, or continues until the smoothing converges to a 0.01 tolerance. Sub Main Const FGD_Surface_onSolid = 78 Dim Set Dim Dim Set Dim Set

App As femap.model App = GetObject(, "femap.model") rc As Long pr As Object pr = App.feProp() pt As Object pt = App.feSet()

rc = pt.AddRule(1, FGD_Surface_onSolid) pr.Type = 17 pr.Title = "0.1 Plate" pr.pval(0) = 0.1 pr.Put (pr.NextEmptyID) rc=App.feMeshSurface(pt.ID,pr.ID,1,2,30,1,45,0,0,True,20,.01) App.feViewRegenerate(0) End Sub

feMeshSurfaceByAttributes

API-435

3.9.2.5 feMeshSurfaceByAttributes

feMeshSurfaceByAttributes ( surfaceSET ) Description: Meshes a selected set of surfaces using its stored attributes. Input: INT4 surfaceSET

The ID of a set that contains a list of surface IDs that will be meshed using their saved attributes. Alternatively, if you specify a negative value, this is simply the ID of the single surface to mesh.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example:

Could not mesh surfaces.

API-436

feMeshTetSolid

3.9.2.6 feMeshTetSolid

feMeshTetSolid ( entityTYPE, entitySET, propID, surfaceMeshOnly, makeMidside, tetGrowth, checkSurfElem, deleteSurfElem, midsideGeom, midsideAngle, allocateElem ) Description: Meshes a selected set of solids (or surfaces or planar elements) with tetrahedral elements. Input: INT4 entityTYPE

The type of entities being meshed that are contained in “entitySET”. For entity information, see Section 3.3.6, "Entity Types". Can be FT_SOLID, FT_SURFACE or FT_ELEM.

INT4 entitySET

The ID of a set that contains a list of solid/surface/element IDs that will be meshed. Alternatively, if you specify a negative value, this is simply the ID of the single entity to mesh - probably only for solids. In any case, the list of entities must form one or more closed solid volumes.

INT4 propID

Specifies the ID of the property to use for tetrahedral elements as they are created. If you want to use meshing attributes, set propID=0. In this case, all selected solids must have meshing attributes defined or they will not be meshed. This only works if entityTYPE=FT_SOLID. The propID property must be compatible with solid meshing.

BOOL surfaceMeshOnly

If True, only surface elements are generated, and the meshing process stops before generating tetrahedra.

BOOL makeMidside

If True, the solids will have midside nodes created. Otherwise, linear elements are created.

REAL8 tetGrowth

The tetrahedral growth factor. Numbers larger than 1.0 mean that the elements on the inside of the solid will be larger than those on the outside. It is usually best to use a factor slightly larger than 1.0. Default value is 1.5 - if you specify tetGrowth=0.0.

BOOL checkSurfElem

Checks the surface elements for validity prior to tet meshing if True. Not usually required if meshing solids, but should be done for surface or element meshing.

BOOL deleteSurfElem

Set to True if you want to delete the surface elements that are being generated or meshed.

BOOL midsideGeom

If True, and you are meshing with parabolic elements, midside nodes will be projected toward the geometry.

feMeshTetSolid

API-437

feMeshTetSolid ( entityTYPE, entitySET, propID, surfaceMeshOnly, makeMidside, tetGrowth, checkSurfElem, deleteSurfElem, midsideGeom, midsideAngle, allocateElem )

REAL8 midsideAngle

The maximum angle formed by the edge of the element as the midside nodes are projected onto the geometry. If midsideAngle=0.0 and midsideGeom=True, then midside nodes will be projected completely onto the geometry regardless of the distortion introduced in the elements.

INT4 allocateElem

Estimated maximum number of tetrahedral elements to be generated. This option simply controls memory allocation for the mesher - more elements may be generated. You should usually set this value to 0. This will cause the mesher to automatically estimate the memory requirements from the surface mesh.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not mesh solid.

API-438

feMeshHexSolid

3.9.2.7 feMeshHexSolid

feMeshHexSolid ( solidSET, propID, surfaceMeshOnly, makeMidside, checkSurfElem, deleteSurfElem, midsideGeom, midsideAngle ) Description: Meshes a selected set of solids with hexahedral elements. Input: INT4 solidSET

The ID of a set that contains a list of solid IDs that will be meshed. Alternatively, if you specify a negative value, this is simply the ID of the single entity to mesh.

INT4 propID

Specifies the ID of the property to use for hexahedral elements as they are created. If you want to use meshing attributes, set propID=0. In this case, all selected solids must have meshing attributes defined or they will not be meshed. The propID property must be compatible with solid meshing.

BOOL surfaceMeshOnly

If True, only surface elements are generated, and the meshing process stops before generating hex elements.

BOOL makeMidside

If True, the solids will have midside nodes created. Otherwise, linear elements are created.

BOOL checkSurfElem

Checks the surface elements for validity prior to tet meshing if True. Not usually required if meshing solids, but should be done for surface or element meshing.

BOOL deleteSurfElem

Set to True if you want to delete the surface elements that are being generated or meshed.

BOOL midsideGeom

If True and you are meshing with parabolic elements, midside nodes will be projected toward the geometry.

REAL8 midsideAngle

The maximum angle formed by the edge of the element as the midside nodes are projected onto the geometry. If midsideAngle=0.0 and midsideGeom=True, then midside nodes will be projected completely onto the geometry regardless of the distortion introduced in the elements.

Output: None Return Code: FE_FAIL

Could not mesh solid.

Remarks/Usage: For this function to work, the solids must be compatible with, and properly sized for hex meshing.

feMeshHexSolid

API-439

feMeshHexSolid ( solidSET, propID, surfaceMeshOnly, makeMidside, checkSurfElem, deleteSurfElem, midsideGeom, midsideAngle ) Example: This example hex meshes all of the solids in a model with parabolic hex elements and projects the midside nodes onto the surfaces. Sub Main Dim Set Dim Set

App As femap.model App = GetObject(,"femap.model") so As Object so = App.feSet()

so.AddAll (39) Set pr = App.feProp() pr.Type = 25 pr.Title = "Bricks" pr.Put (pr.NextEmptyID) rc=femap.feMeshHexSolid(so.ID,pr.ID, _ False,True,False,True,True,0#) App.feViewRegenerate(0) End Sub

API-440

feMeshHexSolidFromElement

3.9.2.8 feMeshHexSolidFromElement

feMeshHexSolidFromElement ( baseSET, topSET, propID, numLayers, match1, match2, makeMidside, checkSurfElem, deleteSurfElem ) Description: Meshes selected sets of surface elements with hexahedral elements. Input:

INT4 baseSET

The ID of a set that contains a list of surface element IDs that will be used as the “base” of the hex mesh. The “base” of the hex mesh is the set of elements that form the pattern that will be extruded into the hex elements.

INT4 topSET

The ID of a set that contains a second list of surface element IDs that will be used as the “top” of the hex mesh. The “top” set can be selected in two forms. It can either contain a set of elements that match the base but is located at the opposite end of the extrusion, or it can contain all of the elements (other than those in the base) that enclose a complete, closed volume. If you use the true “top” option (not all the enclosing elements), then the base may not contain any holes.

INT4 propID

Specifies the ID of the property to use for hexahedral elements as they are created. If you want to use meshing attributes, set propID=0. In this case, all selected solids must have meshing attributes defined or they will not be meshed. The propID property must be compatible with solid meshing.

INT4 numLayers

Only used if topSET only includes the elements that match baseSET at the other end of the extrusion. This is the number of layers of hexahedral elements that will be generated.

INT4 match1 INT4 match2

Only used if topSET only includes the elements that match baseSET at the other end of the extrusion. These should be both set to 0 if you want to automatically match the element patterns in the base and top meshes. If you have a symmetric or rotated mesh, it may be necessary to set these values to node IDs that will match the base mesh to the top. If not 0, match1 must be a node ID from the baseSET that matches the match2 nodeID from the topSET.

BOOL makeMidside

If True, the solids will have midside nodes created. Otherwise, linear elements are created.

BOOL checkSurfElem

Checks the surface elements for validity prior to tet meshing if True. Not usually required if meshing solids, but should be done for surface or element meshing.

feMeshHexSolidFromElement

API-441

feMeshHexSolidFromElement ( baseSET, topSET, propID, numLayers, match1, match2, makeMidside, checkSurfElem, deleteSurfElem ) BOOL deleteSurfElem

Set to True if you want to delete the surface elements that are being generated or meshed.

Output: None Return Code: FE_FAIL

Could not mesh solid.

Remarks/Usage: None Example: This example hex meshes between the surface mesh that is on Surface 1 and the mesh on Surface 5. It creates 17 layers of hex elements between the surfaces. Sub Main Const FGD_Elem_atSurface = 44 Dim Set Dim Dim Set Set

App As femap.model App = GetObject(, "femap.model") b As Object t As Object b = App.feSet() t = App.feSet()

iSurf1 = 1 iSurf2 = 5 nLayers = 17 rc = b.AddRule(iSurf1, FGD_ELEM_ATSURFACE) rc = t.AddRule(iSurf2, FGD_ELEM_ATSURFACE) Set pr = App.feProp() pr.type = 25 pr.title = "Bricks" pr.Put (pr.NextEmptyID) rc=App.feMeshHexSolidFromElement(b.ID,t.ID,pr.ID, _ nLayers,0,0,True,False,True)App.feViewRegenerate(0) End Sub

API-442

feMeshBetween

3.9.3 Other Meshing 3.9.3.1 feMeshBetween

feMeshBetween ( propID, genMode, shape, rightSplit, alternate, allQuad, logSpacing, numCorners, numNodes, bias, nodeInc, cornerXYZ ) Description: Meshes between selected coordinate locations. No geometry is required. Input: INT4 propID

Specifies the ID of the property to use for elements as they are created. The propID property must be compatible with the type of elements that you will be creating, and the “shape” value.

INT4 genMode

The mesh generation mode: 0=Nodes Only, 1=Elements only on existing Nodes, 2=Both Nodes and Elements.

INT4 shape

The shape of the elements to generate: 0=Line, 2=Tria, 4=Quad, 6=Tetra, 7=Wedge, 8=Brick. Not used if only generating nodes.

BOOL rightSplit

Only used for Tria,Tetra and Wedge shapes. If True, indicates that the first elements should be split along a right-hand diagonal.

BOOL alternate

Only used for Tria,Tetra and Wedge shapes. If True, indicates that the element split direction should alternate with each group of elements, eliminating any biasing in the mesh patterns.

BOOL allQuad

Indicates that you want to use the alternate all-quad meshing scheme on a mesh that would otherwise generate triangular or wedge elements. This also requires compatible numbers of nodes along all edges.

BOOL logSpacing

Only used if you are generating nodes (or nodes and elements), and using a bias factor other than 1.0. If True, indicates that you want the mesh spacing graded in a logarithmic manner.

INT4 numCorners

The number of corners in the meshing region. Available values are: 2 (for line elements), 3 or 4 (for planar elements), 4,5,6, or 8 for (solid elements).

INT4 numNodes[0..2]

The number of nodes in each of the meshing directions. Only the entries required for the number of corners are used. For example, if you specify 2 corners, only numNodes[0] is used. If you specify 3 corners, numNodes[0] and numNodes[1] will be used.

REAL8 bias[0..2]

The biasing factor in each of the meshing directions. Set to 1.0 for no biasing.

feMeshBetween

API-443

feMeshBetween ( propID, genMode, shape, rightSplit, alternate, allQuad, logSpacing, numCorners, numNodes, bias, nodeInc, cornerXYZ )

INT4 nodeINC[0..2]

Only used if genMode=1 (generate elements only). In this case, nodeINC[0] must be the ID of the first node in the pattern to be meshed with elements. nodeINC[1] and nodeINC[2] are the additional node increments in second and third (if required) meshing directions. These will be 0, if the nodes are numbered consecutively.

REAL8 cornerXYZ[0..23]

The coordinates of the corner locations, in global rectangular coordinates. Each corner is specified in consecutive locations in this array. For example, the first corner is in cornerXYZ[0..2], the second is in cornerXYZ[3..5], the third in cornerXYZ[6..8] and so on.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not mesh between corners.

API-444

feMeshClosestLink

3.9.3.2 feMeshClosestLink

feMeshClosestLink ( fromSET, toSET, connectWith, orient, dof, reverse ) Description: Meshes connections based on the shortest distance between two sets of nodes. Input:

INT4 fromSET

A set containing the node IDs of the nodes to mesh from. Each node in this set will have one element connecting from it to the closest node in the toSET. Alternatively, if you specify a negative value, this is simply the ID of the single node to mesh.

INT4 toSET

A set containing the node IDs to mesh “to”. The closest node from this set will be matched with the node from the fromSET. Alternatively, if you specify a negative value, this is simply the ID of the single node to mesh.

INT4 connectWith

The type of element to use for the connection: 1=Constraint Equation, 2=Rigid, 3=Line Element. If you choose constraint equations, you must have an active constraint set for this method to work.

REAL8 orient[0..2]

The orientation vector used for elements created with this method (if required by connectWith).

INT4 dof[0..5]

The degrees of freedom (DOF) to connect. Set values to 1 for DOF to connect; 0 for DOF to skip.

BOOL reverse

Reverses the connection order: connections are still made from the fromSET to the toSET, but the element nodal order is reversed.

Output: None Return Code: FE_FAIL

Could not mesh.

Remarks/Usage: If you want to simulate the same capability found in the Multiple Link command, simply call this function multiple times, using negative nodeIDs in place of the fromSET and toSET. Example: None

feMeshCoincidentLink

API-445

3.9.3.3 feMeshCoincidentLink

feMeshCoincidentLink ( fromSET, toSET, connectWith, orient, dof, tolerance ) Description: Meshes connections between coincident nodes. Input: INT4 fromSET

A set containing the node IDs of the nodes to mesh. Only nodes in this set that are coincident (within the specified tolerance) with another node in the set are meshed.

INT4 connectWith

The type of element to use for the connection: 1=Constraint Equation, 2=Rigid, 3=Line Element, 4=Gap Element. If you choose constraint equations, you must have an active constraint set for this method to work.

REAL8 orient[0..2]

The orientation vector used for elements created with this method (if required by connectWith).

INT4 dof[0..5]

The degrees of freedom (DOF) to connect. Set values to 1 for DOF to connect; 0 for DOF to skip.

REAL8 tolerance

The coincident node tolerance. Only nodes within this tolerance of each other are meshed.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not mesh.

API-446

feMeshUnzip

3.9.3.4 feMeshUnzip

feMeshUnzip ( fromSET, toSET, connectWith, orient, dof ) Description: Unzips an existing mesh and places connecting elements at the new, unzipped coincident nodes. Input: INT4 fromSET

A set containing the element IDs on the primary side of the interface. Alternatively, if you specify a negative value, this is simply the ID of the single element to use.

INT4 toSET

A set containing the node IDs to unzip. Each of these nodes will be duplicated and nodes on the elements that were not selected as the “primary side” will be replaced with the copies. Connecting elements will be created between the original and new nodes.

INT4 connectWith

The type of element to use for the connection: 0=None, 1=Constraint Equation, 2=Rigid, 3=Line Element, 4=Gap Element. If you choose constraint equations, you must have an active constraint set for this method to work. If you choose None, the mesh will be unzipped, but no connection elements will be created.

REAL8 orient[0..2]

The orientation vector used for elements created with this method (if required by connectWith).

INT4 dof[0..5]

The degrees of freedom (DOF) to connect. Set values to 1 for DOF to connect; 0 for DOF to skip.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not mesh.

feMeshTransition

API-447

3.9.3.5 feMeshTransition

feMeshTransition ( useNodes, entCount, entID, edgeNum, edgeBias, edgeSize, propID, minBetween, maxAspect, maxQuickNodes, meshApproach, quadAngle, smoothLaplacian, smoothIter, smoothTol ) Description: Meshes between nodes or line elements that form a closed boundary. Input: BOOL useNodes

If True, then entID contains a list of nodes used to define the boundary; otherwise, entID contains a list of line elements.

INT4 entCount

The number of items contained in entID, edgeNum, edgeBias, and edgeSize.

INT4 entID[0..entCount-1]

The IDs of the node or elements used to define the boundary being meshed.

INT4 edgeNum[0..entCount-1]

The number of elements to create between the associated nodes. edgeNum[0] applies to the space between entID[0] and entID[1]. edgeNum[entCount-1] applies to the space between entID[entCount1] and entID[0]; that is, the last segment closing the boundary. Specify edgeNum[i] = 0 to use edgeSize[i] to determine the number of elements. This option is not used if useNodes=False.

INT4 edgeBias[0..entCount-1]

The bias value to use with the elements being generated between successive nodes. Only used if edgeNum[i] is not zero, and useNodes is True. Use of indexes is the same as for edgeNum.

REAL8 edgeSize[0..entCount1]

Similar to edgeNum and edgeBias; this is the element size to use for each segment. The distance between nodes is simply divided by this value to find the number of elements in the segment. Usage is the same as edgeNum. Only used if edgeNum[i] = 0.

INT4 propID

Specifies the ID of the property to use for elements as they are created. The propID property must be compatible with surface meshing. Set propID=0 to mesh with whatever property and element type are currently active. Set propID=-1 to automatically mesh with plot-only elements, which do not require other property information.

INT4 minBetween

The minimum number of elements between boundaries during mesh generation. Not used for fast-tri mesher.

REAL8 maxAspect

The maximum allowable element aspect ratio. Not used for fast-tri mesher.

INT4 maxQuickNodes

Boundaries/surfaces with more than this number of nodes on the boundary are “quick-cut”. Not used for fast-tri mesher.

API-448

feMeshTransition

feMeshTransition ( useNodes, entCount, entID, edgeNum, edgeBias, edgeSize, propID, minBetween, maxAspect, maxQuickNodes, meshApproach, quadAngle, smoothLaplacian, smoothIter, smoothTol ) INT4 meshApproach

The mesher to use when meshing the surfaces: 0=Triangle, 1=Quad, 2=Fast-Triangle.

REAL8 quadAngle

The maximum angular deviation from 90 degrees allowed in a quad before it is split into triangles. Only applies to quad mesher.

BOOL smoothLaplacian

If True, Laplacian smoothing is performed. If False, centroidal smoothing is used.

INT4 smoothIter

The number of smoothing iterations to perform. Set to 0 to skip smoothing.

INT4 smoothTol

The smoothing tolerance. Smoothing will stop if node movement during a smoothing pass falls below this tolerance.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example:

Could not mesh. Boundary may not be valid - it may be self intersecting.

feMeshTransition

API-449

feMeshTransition ( useNodes, entCount, entID, edgeNum, edgeBias, edgeSize, propID, minBetween, maxAspect, maxQuickNodes, meshApproach, quadAngle, smoothLaplacian, smoothIter, smoothTol ) The following example meshes the region bounded by nodes 1 through 7. Between each node, five new elements are created. The fast triangle mesher is being used. The software performs 17 Laplacian smoothing passes, or continues until the smoothing converges to a 0.001 tolerance. Sub Main Dim App As femap.model Set App = GetObject(, "femap.model") Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim

nodeCOUNT As Long nodes(20) As Long edgeNUM(20) As Long edgeBIAS(20) As Double edgeSIZE(20) As Double vnodes As Variant vedgeNUM As Variant vedgeSIZE As Variant vedgeBiAS As Variant i As Long rc As Long

For i = 0 To 6 nodes(i) = i + 1 edgeNUM(i) = 5 edgeBIAS(i) = 1# edgeSIZE(i) = 0# Next i vnodes = nodes vedgeNUM = edgeNUM vedgeSIZE = edgeSIZE vedgeBiAS = edgeBIAS rc = App.feMeshTransition(True, 7, vnodes, vedgeNUM, _ vedgeBiAS, vedgeSIZE, -1, 2, 2#, 30, 2, 60, True, _ 10, 0.001) App.feViewRegenerate(0) End Sub

API-450

feMeshRemesh

3.9.3.6 feMeshRemesh

feMeshRemesh ( elemSET, nodeSET, remeshMode, refineRatio, breakAngle, deleteOrig, propID, minBetween, maxAspect, maxQuickNodes, meshApproach, quadAngle, smoothLaplacian, smoothIter, smoothTol ) Description: Remeshes a portion of an existing mesh. Input:

INT4 elemSET

The ID of a set that contains the IDs of the elements to be remeshed. Alternatively, if you specify a negative value, this is simply the ID of the single element to remesh. The elements contained in this set can be either surface (planar) elements or line elements. If you select line elements, then the only other option that is used is refineRatio.

INT4 nodeSET

The ID of a set that contains the node IDs where the refinement will be applied. Not used if you set remeshMode=1.

INT4 remeshMode

The remeshing mode: 0=Refine, 1=Remesh, 2=Unrefine.

INT4 refineRatio

The ratio between the number of elements along each edge currently and the number after remeshing. This only applies to edges selected by the nodes in nodeSET. For example, if remeshMode=0, refine, and refineRatio=3, then three elements will be generated along each refined edge. If remeshMode=2, unrefine, and refineRatio=2, then half the elements along the “refined” edge will be removed.

REAL8 breakAngle

The break angle along the refinement edges. If two adjacent edges intersect at an angle greater than this value, then they will not be removed, no matter what the refineRatio value is. This helps to preserve “corners” in the mesh. Only used when remeshMode=2, unrefine.

BOOL deleteOrig

If True, the original nodes and elements that are being remeshed (those elements selected in elemSET and their nodes) will be deleted.

INT4 propID

Specifies the ID of the property to use for elements as they are created. Set propID=0 to mesh with whatever property and element type are currently active. Set propID=-1 to automatically mesh with plot-only elements, which do not require other property information.

INT4 minBetween

The minimum number of elements between boundaries during mesh generation. Not used for fast-tri mesher.

REAL8 maxAspect

The maximum allowable element aspect ratio. Not used for fast-tri mesher.

INT4 maxQuickNodes

Boundaries/surfaces with more than this number of nodes on the boundary are “quick-cut”. Not used for fast-tri mesher.

feMeshRemesh

API-451

feMeshRemesh ( elemSET, nodeSET, remeshMode, refineRatio, breakAngle, deleteOrig, propID, minBetween, maxAspect, maxQuickNodes, meshApproach, quadAngle, smoothLaplacian, smoothIter, smoothTol ) INT4 meshApproach

The mesher to use when meshing the surfaces: 0=Triangle, 1=Quad, 2=Fast-Triangle.

REAL8 quadAngle

The maximum angular deviation from 90 degrees allowed in a quad before it is split into triangles. Only applies to quad mesher.

BOOL smoothLaplacian

If True, Laplacian smoothing is performed. If False, centroidal smoothing is used.

INT4 smoothIter

The number of smoothing iterations to perform. Set to 0 to skip smoothing.

INT4 smoothTol

The smoothing tolerance. Smoothing will stop if node movement during a smoothing pass falls below this tolerance.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not mesh. Boundary may not be valid - it may be self intersecting.

API-452

feMeshConvertFacets

3.9.3.7 feMeshConvertFacets

feMeshConvertFacets ( solidID ) Description: Converts the current graphical facets of a solid into nodes and plot-only elements. Input: INT4 solidID

The ID of the solid to use to create the nodes and elements.

Output: None Return Code: None Remarks/Usage: The current facetting of the solid is used to generate the elements. You can update the facetting tolerance prior to using this method if you want more (or fewer) elements. Example: None

feMeshCleanupSlivers

API-453

3.9.3.8 feMeshCleanupSlivers

feMeshCleanupSlivers ( elemSET, minAngle, minLength ) Description: Automatically removes “slivers” from a selected set of elements. Input:

INT4 elemSET

The ID of a set that contains the IDs of the elements to be checked. Alternatively, if you specify a negative value, this is simply the ID of the single element to check. The elements contained in this set must be surface (planar) elements.

REAL8 minAngle

Identifies slivers to be removed based on a minimum angle. Set to 0.0 to skip angle checking

REAL8 minLength

Identifies slivers to be removed based on a minimum edge length. Set to 0.0 to skip length checking.

Output: None Return Code: FE_FAIL

Unable to remove slivers.

Remarks/Usage: You must not include missing elements in the elemSET. Example: None

API-454

feMeshEdgeRemoval

3.9.3.9 feMeshEdgeRemoval

feMeshEdgeRemoval ( elemSET, nd1, nd2 ) Description: Removes an edge from a surface mesh by collapsing the connected elements. Input: INT4 elemSET

The ID of a set that contains the IDs of the elements to be checked. The elements contained in this set must be surface (planar) elements.

INT4 nd1

The ID of the first node along the element edge.

INT4 nd2

The ID of the second node along the element edge.

Output: None Return Code: FE_FAIL

Unable to remove edge.

Remarks/Usage: The elements selected must form a single, manifold hull - there can only be two elements that share each edge. Example: None

feMeshBuildRemeshRegions

API-455

3.9.3.10 feMeshBuildRemeshRegions

feMeshBuildRemeshRegions ( elemSET, breakAngle ) Description: Builds remeshing regions from a set of planar elements. Input: INT4 elemSET

The ID of a set that contains the IDs of the elements to be checked. The elements contained in this set must be surface (planar) elements.

REAL8 breakAngle

The maximum angle between adjacent elements for those elements to be considered in the same region.

Output: None Return Code: FE_FAIL

Unable to build regions.

Remarks/Usage: The elements selected must form a single, manifold hull - there can only be two elements that share each edge. Any quadrilateral elements selected will be converted to triangles. Example: None

API-456

feMeshEditRemeshRegions

3.9.3.11 feMeshEditRemeshRegions

feMeshEditRemeshRegions ( el1, el2 ) Description: Moves an element from one remeshing region to an adjacent region. Input: INT4 el1

The ID of the element to be moved to the other region.

INT4 el2

The ID of the element used to identify the region where the first element will be placed.

Output: None Return Code: FE_FAIL

Unable to update regions.

Remarks/Usage: The element to be moved, el1, must be adjacent, on at least one edge to the region containing element el2. Example: None

feMeshRemeshRegions

API-457

3.9.3.12 feMeshRemeshRegions

feMeshRemeshRegions ( meshSize, propID, minBetween, maxAspect, maxQuickNodes, meshApproach, quadAngle, smoothLaplacian, smoothIter, smoothTol ) Description: Moves an element from one remeshing region to an adjacent region. Input: REAL8 meshSize

The default mesh size, used to determine the size of elements that will be generated.

INT4 propID

Specifies the ID of the property to use for elements as they are created. Set propID=0 to mesh with whatever property and element type are currently active. Set propID=-1 to automatically mesh with plotonly elements, which do not require other property information.

INT4 minBetween

The minimum number of elements between boundaries during mesh generation. Not used for fast-tri mesher.

REAL8 maxAspect

The maximum allowable element aspect ratio. Not used for fast-tri mesher.

INT4 maxQuickNodes

Boundaries/surfaces with more than this number of nodes on the boundary are “quick-cut”. Not used for fast-tri mesher.

INT4 meshApproach

The mesher to use when meshing the surfaces (0=Triangle, 1=Quad, 2=Fast-Triangle).

REAL8 quadAngle

The maximum angular deviation from 90 degrees allowed in a quad before it is split into triangles. Only applies to quad mesher.

BOOL smoothLaplacian

If True, Laplacian smoothing is performed. If False, centroidal smoothing is used.

INT4 smoothIter

The number of smoothing iterations to perform. Set to 0 to skip smoothing.

INT4 smoothTol

The smoothing tolerance. Smoothing will stop if node movement during a smoothing pass falls below this tolerance.

Output: None Return Code: FE_FAIL Remarks/Usage: None

Unable to remesh

API-458

feMeshRemeshRegions

feMeshRemeshRegions ( meshSize, propID, minBetween, maxAspect, maxQuickNodes, meshApproach, quadAngle, smoothLaplacian, smoothIter, smoothTol ) Example: None

feMeshEdgeMembers

API-459

3.9.3.13 feMeshEdgeMembers

feMeshEdgeMembers ( elemSET, nodeSET, propID, orient ) Description: Generates elements along the free edges or free faces of selected elements. Input: INT4 elemSET

The ID of a set that contains the IDs of the elements to be checked. The elements contained in this set must be surface (planar) elements or solid elements.

INT4 nodeSET

The ID of a set that contains the IDs of the nodes which define the portions of the free edge/free face where you want to define edge members. An edge member is created for every edge/face that has at least one node in this set.

INT4 propID

The ID of an existing property used to define the edge member elements. If planar elements are selected in the elemSET, then this must be the ID of a line element property. If solid elements are selected in elemSET, then this must be a planar element property.

REAL8 orient[0..2]

The element orientation vector for edge members. This is only used if elemSET contains planar elements, and propID specifies a line element type that requires orientation.

Output: None Return Code: FE_FAIL

Unable to create edge members. Either you selected elements that did not exist, or they are of the wrong type.

Remarks/Usage: Only planar or solid elements can be selected in elemSET, not both at the same time. Example: None

API-460

feMeshSmooth

3.9.3.14 feMeshSmooth

feMeshSmooth ( elemSET, laplaceSmooth, iter, tolerance ) Description: Smooths a selected set of elements. Input: INT4 elemSET

The ID of a set that contains the IDs of the elements to be smoothed. The elements contained in this set must be surface (planar) elements or solid elements.

BOOL laplaceSmooth

If True, Laplacian smoothing is performed; otherwise, centroidal smoothing is used.

INT4 iter

The maximum number of smoothing passes that will be performed. Smoothing will terminate sooner if the tolerance is reached.

REAL8 tolerance

The nodal movement tolerance. If no nodes move farther than this distance during a smoothing pass, smoothing will be terminated.

Output: None Return Code: FE_FAIL

Unable to smooth. Your elemSET may contain multiple element types, or element types that are not compatible with this operation.

Remarks/Usage: Only planar or solid elements can be selected in elemSET, not both at the same time. Example: None

feMeshExtrudeElem

API-461

3.9.3.15 feMeshExtrudeElem

feMeshExtrudeElem ( elemSET, axisLen, axisVec, propID, numElem, method, matchCurrent, deleteOrig ) Description: Extrudes existing elements into new elements. Input:

INT4 elemSET

The ID of a set that contains the IDs of the elements to be extruded. The elements contained in this set must be either line or surface (planar) elements, but not both. Line elements are extruded into planar elements; planar elements are extruded into solid elements.

REAL8 axisLen

The extrusion length (See “Remarks”).

REAL8 axisVec[0..2]

The extrusion direction vector (See “Remarks”).

INT4 propID

The ID of the property that will be used for the new elements. This property must be of the correct type (planar or solid), depending on the type of elements selected in elemSET.

INT4 numElem

The number of elements generated by each original element along the extrusion direction.

INT4 method

The method of determining the extrusion direction. 0=Along axisVec, 1=along the element normal, 2=along the element normal with thickness corrections.

BOOL matchCurrent

If True, the attributes of the elements that are created will match the active settings. If False, they will match the generating elements.

BOOL deleteOrig

If True, the elements in elemSET will be deleted, leaving only the new elements.

Output: None Return Code: FE_FAIL

Unable to extrude. Check the extrusion direction, and the element and property types.

Remarks/Usage: The extrusion length (with method=0) is really the length of the axisVec multiplied by axisLen. Normally you will either want to specify axisLen=1.0, and set the axisVec to the true extrusion vector, or specify axisVec as a unit vector with the proper components, and set axisLen to the true extrusion length.

API-462

feMeshExtrudeElem

feMeshExtrudeElem ( elemSET, axisLen, axisVec, propID, numElem, method, matchCurrent, deleteOrig ) Example: None

feMeshExtrudeCurve

API-463

3.9.3.16 feMeshExtrudeCurve

feMeshExtrudeCurve ( curveSET, axisLen, axisVec, propID, numElem ) Description: Extrudes existing curves into new elements. Input: INT4 curveSET

The ID of a set that contains the IDs of the curves to be extruded. The curves are extruded into planar elements. The number and spacing of elements is dependent on the mesh size established on the curves.

REAL8 axisLen

The extrusion length (See “Remarks”).

REAL8 axisVec[0..2]

The extrusion direction vector (See “Remarks”).

INT4 propID

The ID of the property that will be used for the new elements. This property must be a planar type.

INT4 numElem

The number of elements generated along the extrusion direction.

Output: None Return Code: FE_FAIL

Unable to extrude. Check the extrusion direction, and the element and property types.

Remarks/Usage: The extrusion length is really the length of the axisVec multiplied by axisLen. Normally you will either want to specify axisLen=1.0, and set the axisVec to the true extrusion vector, or specify axisVec as a unit vector with the proper components, and set axisLen to the true extrusion length. Example: None

API-464

feMeshRevolveElem

3.9.3.17 feMeshRevolveElem

feMeshRevolveElem ( elemSET, rotAngle, rotThrust, axisOrig, axisVec, propID, numElem, matchCurrent, deleteOrig ) Description: Revolves existing elements into new elements. Input:

INT4 elemSET

The ID of a set that contains the IDs of the elements to be revolved. The elements contained in this set must be either line or surface (planar) elements, but not both. Line elements are revolved into planar elements; planar elements are revolved into solid elements.

REAL8 rotAngle

The angle of rotation, in degrees.

REAL8 rotThrust

The total thrust distance (along the axis of rotation), typically zero.

REAL8 axisOrig[0..2]

The origin of the axis of revolution.

REAL8 axisVec[0..2]

The direction of the axis of revolution.

INT4 propID

The ID of the property that will be used for the new elements. This property must be of the correct type (planar or solid), depending on the type of elements selected in elemSET.

INT4 numElem

The number of elements generated by each original element along the revolution direction.

BOOL matchCurrent

If True, the attributes of the elements that are created will match the active settings. If False, they will match the generating elements.

BOOL deleteOrig

If True, the elements in elemSET will be deleted, leaving only the new elements.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to revolve. Check the axis of revolution, and the element and property types.

feMeshRevolveCurve

API-465

3.9.3.18 feMeshRevolveCurve

feMeshRevolveCurve ( curveSET, rotAngle, rotThrust, axisOrig, axisVec, propID, numElem ) Description: Revolves existing curves into new elements. Input: INT4 curveSET

The ID of a set that contains the IDs of the curves to be revolved. The curves are revolved into planar elements. The number and spacing of elements is dependent on the mesh size established on the curves.

REAL8 rotAngle

The angle of rotation, in degrees.

REAL8 rotThrust

The total thrust distance (along the axis of rotation), typically zero.

REAL8 axisOrig[0..2]

The origin of the axis of revolution.

REAL8 axisVec[0..2]

The direction of the axis of revolution.

INT4 propID

The ID of the property that will be used for the new elements. This property must be of the correct type (planar or solid), depending on the type of elements selected in elemSET.

INT4 numElem

The number of elements generated by each original element along the revolution direction.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to revolve. Check the axis of revolution, and the element and property types.

API-466

feMeshSweepElem

3.9.3.19 feMeshSweepElem

feMeshSweepElem ( elemSET, numPath, curvePath, numAlign, curveAlign, alignLoc, propID ) Description: Sweeps existing elements along one or more curves into new elements. Input: INT4 elemSET

The ID of a set that contains the IDs of the elements to be swept. The curves are swept into planar elements. The number and spacing of elements is dependent on the mesh size established on the curves.

INT4 numPath

The number of curves in the curvePath array.

INT4 curvePath[0..numPath-1]

The IDs of the curves along the sweep path. These IDs should be specified in order, starting at the beginning of the path to sweep along.

INT4 numAlign

The number of curves in the curveAlign array (usually 0, unless you are using an alignment path to orient the elements along sweep path).

INT4 curveAlign[0..numAlign1]

The IDs of curves along the alignment path.

REAL8 alignLoc[0..2]

The alignment position. Only used if the sweep path is nonplanar, and numPath=0 (not using an alignment path).

INT4 propID

The ID of the property that will be used for the new elements. This property must be a planar type.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to sweep. Check the order of the curves for the path and alignment, and the element and property types.

feMeshSweepCurve

API-467

3.9.3.20 feMeshSweepCurve

feMeshSweepCurve ( curveSET, numPath, curvePath, numAlign, curveAlign, alignLoc, propID ) Description: Sweeps curves along one or more curves into new elements. Input:

INT4 elemSET

The ID of a set that contains the IDs of the curves to be swept. The elements contained in this set must be either line or surface (planar) elements, but not both. Line elements are swept into planar elements; planar elements are swept into solid elements.

INT4 numPath

The number of curves in the curvePath array.

INT4 curvePath[0..numPath-1]

The IDs of the curves along the sweep path. These IDs should be specified in order, starting at the beginning of the path to sweep along.

INT4 numAlign

The number of curves in the curveAlign array (usually 0, unless you are using an alignment path to orient the elements along sweep path).

INT4 curveAlign[0..numAlign1]

The IDs of curves along the alignment path.

REAL8 alignLoc[0..2]

The alignment position. Only used if the sweep path is nonplanar, and numPath=0 (not using an alignment path).

INT4 propID

The ID of the property that will be used for the new elements. This property must be of the correct type (planar or solid) depending on the type of elements selected in elemSET.

BOOL matchCurrent

If True, the attributes of the elements that are created will match the active settings. If False, they will match the generating elements.

BOOL deleteOrig

If True, the elements in elemSET will be deleted, leaving only the new elements.

Output: None Return Code: FE_FAIL Remarks/Usage: None

Unable to sweep. Check the order of the curves for the path and alignment, and the element and property types.

API-468

feMeshSweepCurve

feMeshSweepCurve ( curveSET, numPath, curvePath, numAlign, curveAlign, alignLoc, propID ) Example: None

API-469 3.10 Modification Methods Modification Methods include: •

Section 3.10.1, "Projection"



Section 3.10.2, "Move, Rotate and Scale"



Section 3.10.3, "Color and Layer"



Section 3.10.4, "Renumbering"



Section 3.10.5, "Associativity"



Section 3.10.6, "Other Updates"



Section 3.10.7, "Element Updates"

API-470

feProjectOntoCurve

3.10.1 Projection 3.10.1.1 feProjectOntoCurve

feProjectOntoCurve ( entityTYPE, entitySET, curveID ) Description: Projects nodes or points onto a curve. Input: INT4 entityTYPE

The type of entities to be projected. For entity information, see Section 3.3.6, "Entity Types". Can be FT_POINT or FT_NODE.

INT4 entitySET

The ID of a set that contains a list of point or node IDs that will be projected. Alternatively, if you specify a negative value, this is simply the ID of the single entity to project.

INT4 curveID

The ID of the curve to project onto.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify either points or nodes.

FE_FAIL

Could not project.

Remarks/Usage: Points/nodes are projected to the closest location on the curve, not along any specified vector. Example: None

feProjectOntoSurface

API-471

3.10.1.2 feProjectOntoSurface

feProjectOntoSurface ( entityTYPE, entitySET, surfaceID ) Description: Projects nodes or points onto a surface. Input: INT4 entityTYPE

The type of entities to be projected. For entity information, see Section 3.3.6, "Entity Types". Can be FT_POINT or FT_NODE.

INT4 entitySET

The ID of a set that contains a list of point or node IDs that will be projected. Alternatively, if you specify a negative value, this is simply the ID of the single entity to project.

INT4 surfaceID

The ID of the surface to project onto.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify either points or nodes.

FE_FAIL

Could not project.

Remarks/Usage: Points/nodes are projected to the closest location on the surface, not along any specified vector. Example: None

API-472

feProjectOntoVector

3.10.1.3 feProjectOntoVector

feProjectOntoVector ( entityTYPE, entitySET, vecLoc, vecDir ) Description: Projects points or nodes onto a vector Input: INT4 entityTYPE

The type of entities to be projected. For entity information, see Section 3.3.6, "Entity Types". Can be FT_POINT or FT_NODE.

INT4 entitySET

The ID of a set that contains a list of point or node IDs that will be projected. Alternatively, if you specify a negative value, this is simply the ID of the single entity to project.

REAL8 vecLoc[0..2]

The XYZ location of the base of the vector to project onto. Must be specified in Global Rectangular coordinates.

REAL8 vecDir[0..2]

The XYZ components of the vector to project onto. Must be specified in Global Rectangular coordinates.

Output: None Return Code: FE_FAIL

Could not project.

FE_INVALID

entityTYPE must be either FT_POINT or FT_NODE

Remarks/Usage: None Example: None

feProjectAlongVector

API-473

3.10.1.4 feProjectAlongVector

feProjectAlongVector ( entityTYPE, entitySET, surfaceSET, vecAlong ) Description: Projects points or nodes along a vector onto selected surfaces Input: INT4 entityTYPE

The type of entities to be projected. For entity information, see Section 3.3.6, "Entity Types". Can be FT_POINT or FT_NODE.

INT4 entitySET

The ID of a set that contains a list of point or node IDs that will be projected. Alternatively, if you specify a negative value, this is simply the ID of the single entity to project.

INT4 surfaceSET

The ID of a set that contains a list of surface IDs that the entities will be projected onto. Alternatively, if you specify a negative value, this is the ID of the single surface to project onto.

REAL8 vecAlong[0..2]

The XYZ components of the vector to project along. Must be specified in Global Rectangular coordinates.

Output: None Return Code: FE_FAIL

Could not project.

FE_INVALID

entityTYPE must be either FT_POINT or FT_NODE

Remarks/Usage: None Example: None

API-474

feProjectOntoPlane

3.10.1.5 feProjectOntoPlane

feProjectOntoPlane ( entityTYPE, entitySET, planeLoc, planeNormal ) Description: Projects points or nodes onto a plane Input: INT4 entityTYPE

The type of entities to be projected. For entity information, see Section 3.3.6, "Entity Types". Can be FT_POINT or FT_NODE.

INT4 entitySET

The ID of a set that contains a list of point or node IDs that will be projected. Alternatively, if you specify a negative value, this is simply the ID of the single entity to project.

REAL8 planeLoc[0..2]

The XYZ location of the base of the plane to project onto. Must be specified in Global Rectangular coordinates.

REAL8 planeNormal[0..2]

The XYZ components of the plane normal to project onto. Must be specified in Global Rectangular coordinates.

Output: None Return Code: FE_FAIL

Could not project.

FE_INVALID

entityTYPE must be either FT_POINT or FT_NODE

Remarks/Usage: None Example: None

feProjectOntoSolid

API-475

3.10.1.6 feProjectOntoSolid

feProjectOntoSolid ( nodeSET, elemSET, solidID, surfCount, surfID ) Description: Projects a mesh onto a solid. Input: INT4 nodeSET

The ID of a set that contains a list of node IDs that will be projected. Alternatively, if you specify a negative value, this is simply the ID of the single entity to project.

INT4 elemSET

The ID of a set that contains a list of element IDs that reference the nodes to be projected. Alternatively, if you specify a negative value, this is simply the ID of the single entity to project. These elements are used during the smoothing process as the nodes are projected.

INT4 solidID

The ID of the solid to project onto. Must be 0 if you are going to specify surfaces.

INT4 surfCount

The number of surfaces specified in “surfID” - only used if solidID=0.

INT4 surfID[0..surfCount-1]

The IDs of the surfaces to project onto - only used if solidID=0 and surfCount is not 0.

Output: None Return Code: FE_FAIL

Could not project.

Remarks/Usage: A mesh can either be projected to a solid by specifying solidID, or to surfaces by specifying surfCount and surfID. Example: None

API-476

feMoveTo

3.10.2 Move, Rotate and Scale 3.10.2.1 feMoveTo

feMoveTo ( entityTYPE, entitySET, x, y, z, doX, doY, doZ, inCsys, moveRef ) Description: Moves nodes, points, or coordinate systems to a new location. Input: INT4 entityTYPE

The type of entities to be moved. For entity information, see Section 3.3.6, "Entity Types". Can be FT_CSYS, FT_POINT or FT_NODE.

INT4 entitySET

The ID of a set that contains a list of coordinate system, point, or node IDs that will be moved. Alternatively, if you specify a negative value, this is simply the ID of the single entity to move.

REAL8 x REAL8 y

The coordinates that you want to move to. Specified in the inCsys coordinate system.

REAL8 z BOOL doX BOOL doY BOOL doZ

If True, the corresponding coordinate direction (in inCsys) will be updated to the specified value. Only directions specified as True will be moved.

INT4 inCsys

The ID of the coordinate system where the update will take place.

BOOL moveRef

Only used if entityTYPE=FT_CSYS. If True, then all entities that reference the coordinate systems being moved will also be updated as a rigid body.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify coordinate systems, points, or nodes.

FE_FAIL

Could not move.

Remarks/Usage: You cannot move the global coordinate systems. Example: None

feMoveBy

API-477

3.10.2.2 feMoveBy

feMoveBy ( entityTYPE, entitySET, radial, length, vecLoc ) Description: Moves nodes, points, or coordinate systems to a new location. Input:

INT4 entityTYPE

The type of entities to be moved. For entity information, see Section 3.3.6, "Entity Types". Can be FT_POINT, FT_CURVE, FT_CSYS, FT_SURFACE, FT_VOLUME, FT_SOLID, FT_NODE, or FT_ELEM.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be moved. Alternatively, if you specify a negative value, this is simply the ID of the single entity to move.

BOOL radial

If True, entities will be moved radially from a central location. If False, they will be moved along a vector. Only nodes and elements can be moved radially.

REAL8 length

The distance to move. If radial = False, this length is multiplied by the length of the vector to get the total distance.

REAL8 vecLoc[0..2]

If radial=False, contains the components of the vector to move along, specified in global rectangular coordinates. If radial=True, specifies the coordinates of the center that you are moving around, also specified in global rectangular coordinates.

Output: None Return Code: FE_INVALID

Invalid entity type. Must specify one of the types listed in entityTYPE. Can only specify nodes or elements if radial=True.

FE_FAIL

Could not move.

Remarks/Usage: You cannot move the global coordinate systems. Example: None

API-478

feMoveOffset

3.10.2.3 feMoveOffset

feMoveOffset ( elemSET, method, length, alongVec ) Description: Moves elements by offsetting them from their current location (normally used with planar elements). Input: INT4 elemSET

The ID of a set that contains a list of element IDs that will be offset. Alternatively, if you specify a negative value, this is simply the ID of the single entity to offset.

INT4 method

The method of determining the offset direction: 0=Along alongVec, 1=along the element normal, 2=along the element normal with thickness corrections.

REAL8 length

The distance to offset. If method=0, this length is multiplied by the length of the vector to get the total distance.

REAL8 alongVec[0..2]

Only used if method=0. Contains the components of the vector to move along, specified in global rectangular coordinates.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not offset.

feRotateTo

API-479

3.10.2.4 feRotateTo

feRotateTo ( entityTYPE, entitySET, axisLoc, axisVec, fromLoc, toLoc ) Description: Rotates entities around an axis from one location to another. Input:

INT4 entityTYPE

The type of entities to be moved. For entity information, see Section 3.3.6, "Entity Types". Can be FT_POINT, FT_CURVE, FT_CSYS, FT_SURFACE, FT_VOLUME, FT_SOLID, FT_NODE, or FT_ELEM.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be rotated. Alternatively, if you specify a negative value, this is simply the ID of the single entity to rotate.

REAL8 axisLoc[0..2]

The coordinates of the origin of the axis of rotation, in global rectangular coordinates.

REAL8 axisVec[0..2]

The components of the axis of rotation, in global rectangular coordinates.

REAL8 fromLoc[0..2]

The coordinates of a point that you will rotate from, in global rectangular coordinates.

REAL8 toLoc[0..2]

The coordinates of a point that you will rotate to, in global rectangular coordinates.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not rotate. Check to make sure that the locations and vectors that you defined are not colinear or otherwise invalid.

Remarks/Usage: The axis of rotation is combined with the fromLoc and toLoc to compute an angle of rotation, which is then applied around the axis of rotation to every entity that you select. Example: None

API-480

feRotateBy

3.10.2.5 feRotateBy

feRotateBy ( entityTYPE, entitySET, axisLoc, axisVec, rotAngle, rotThrust ) Description: Rotates entities around an axis through a specified angle. Input:

INT4 entityTYPE

The type of entities to be moved. For entity information, see Section 3.3.6, "Entity Types". Can be FT_POINT, FT_CURVE, FT_CSYS, FT_SURFACE, FT_VOLUME, FT_SOLID, FT_NODE, or FT_ELEM.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be rotated. Alternatively, if you specify a negative value, this is simply the ID of the single entity to rotate.

REAL8 axisLoc[0..2]

The coordinates of the origin of the axis of rotation, in global rectangular coordinates.

REAL8 axisVec[0..2]

The components of the axis of rotation, in global rectangular coordinates.

REAL8 rotAngle

The angle of rotation, in degrees.

REAL8 rotThrust

The total thrust distance (along the axis of rotation), typically zero.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not rotate. Check to make sure that the locations and vectors that you defined are not colinear or otherwise invalid.

Remarks/Usage: None Example: None

feAlignTo

API-481

3.10.2.6 feAlignTo

feAlignTo ( entityTYPE, entitySET, fromLoc, fromVec, toLoc, toVec ) Description: Aligns entities from one vector to another. Input:

INT4 entityTYPE

The type of entities to be aligned. For entity information, see Section 3.3.6, "Entity Types". Can be FT_POINT, FT_CURVE, FT_CSYS, FT_SURFACE, FT_VOLUME, FT_SOLID, FT_NODE or FT_ELEM.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be aligned. Alternatively, if you specify a negative value, this is simply the ID of the single entity to align.

REAL8 fromLoc[0..2]

The coordinates of the origin of the original vector, in global rectangular coordinates.

REAL8 fromVec[0..2]

The components of the original vector, in global rectangular coordinates.

REAL8 toLoc[0..2]

The coordinates of the origin of the destination vector, in global rectangular coordinates.

REAL8 toVec[0..2]

The components of the destination vector, in global rectangular coordinates.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not align. Check to make sure that the locations and vectors that you defined are not colinear or otherwise invalid.

Remarks/Usage: None Example: None

API-482

feScale

3.10.2.7 feScale

feScale ( entityTYPE, entitySET, fromLoc, csysID, xScale, yScale, zScale ) Description: Scales entities around an origin. Input:

INT4 entityTYPE

The type of entities to be scaled. For entity information, see Section 3.3.6, "Entity Types". Can be FT_POINT, FT_CURVE, FT_SURFACE, FT_VOLUME, FT_SOLID, FT_NODE, or FT_ELEM.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be scaled. Alternatively, if you specify a negative value, this is simply the ID of the single entity to scale.

REAL8 fromLoc[0..2]

The coordinates of the origin around which the entities will be scaled, in global rectangular coordinates.

INT4 csysID

The ID of the coordinate system in which scaling will take place.

REAL8 xScale REAL8 yScale

The scale factors in the axis directions of coordinate system “csysID”.

REAL8 zScale Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not scale.

Remarks/Usage: None Example: None

feModifyColor

API-483

3.10.3 Color and Layer 3.10.3.1 feModifyColor

feModifyColor ( entityTYPE, entitySET, color, randomize ) Description: Modifies the color of selected entities. Input:

INT4 entityTYPE

The type of entities to be modified. For entity information, see Section 3.3.6, "Entity Types". Can be FT_CSYS, FT_POINT, FT_CURVE, FT_SURFACE, FT_VOLUME, FT_TEXT, FT_NODE, FT_ELEM, FT_MATL, FT_PROP, or FT_CONTACT.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be modified. Alternatively, if you specify a negative value, this is simply the ID of the single entity to modify.

INT4 color

The new color that you want to assign to the selected entities.

BOOL randomize

Only valid for FT_PROP, FT_MATL, and FT_SURFACE. If True, then colors are randomized for the selected entities. The specified color is simply used as initialization for the randomization process.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not modify.

Remarks/Usage: None Example: None

API-484

feModifyTransparency

3.10.3.2 feModifyTransparency

feModifyTransparency ( entityTYPE, entitySET, transparency ) Description: Modifies the transparency of selected entities. Input: INT4 entityTYPE

The type of entities to be modified. For entity information, see Section 3.3.6, "Entity Types". Can be FT_SURFACE, FT_ELEM, FT_PROP, or FT_MATL

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be modified. Alternatively, if you specify a negative value, this is simply the ID of the single entity to modify.

REAL8 transparency

The transparency value to assign. Must be between 0 (opaque) and 100 (fully transparent).

Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not modify.

Remarks/Usage: None Example: None

feModifyLayer

API-485

3.10.3.3 feModifyLayer

feModifyLayer ( entityTYPE, entitySET, layer ) Description: Modifies the layer of selected entities. Input:

INT4 entityTYPE

The type of entities to be modified. For entity information, see Section 3.3.6, "Entity Types". Can be FT_CSYS, FT_POINT, FT_CURVE, FT_SURFACE, FT_VOLUME, FT_SOLID, FT_TEXT, FT_NODE, FT_ELEM, FT_MATL, FT_PROP, or FT_CONTACT.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be modified. Alternatively, if you specify a negative value, this is simply the ID of the single entity to modify.

INT4 color

The new layer that you want to assign to the selected entities.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not modify.

Remarks/Usage: None Example: None

API-486

feRenumber

3.10.4 Renumbering 3.10.4.1 feRenumber

feRenumber ( entityTYPE, entitySET, startID ) Description: Renumbers the IDs of selected entities. Input:

INT4 entityTYPE

The type of entities to be modified. For entity information, see Section 3.3.6, "Entity Types". Can be FT_POINT, FT_CURVE, FT_SURFACE, FT_VOLUME, FT_SOLID, FT_CSYS, FT_NODE, FT_ELEM, FT_MATL, FT_PROP, FT_LAYUP, FT_OUT_CASE, FT_GROUP, FT_LOAD_DIR, FT_BC_DIR, FT_AMGR_DIR, FT_LAYER, FT_CONNECTION_PROP, FT_CONTACT, FT_CONNECTION, and FT_FUNCTION_DIR.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be modified. Alternatively, if you specify a negative value, this is simply the ID of the single entity to modify.

INT4 startID

The new ID of the first entity to be renumbered. All other entities will be renumbered to available IDs that are higher than this number.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not renumber.

Remarks/Usage: For more renumbering options, use feRenumberOpt( ) Example: None

feRenumberOpt

API-487

3.10.4.2 feRenumberOpt

feRenumberOpt ( entityTYPE, entitySET, startID, renumMethod, renumCSysID, renumAbs, renumDescend, renumConstOff ) Description: Renumbers the IDs of selected entities. Input:

INT4 entityTYPE

The type of entities to be modified. For entity information, see Section 3.3.6, "Entity Types". Can be FT_POINT, FT_CURVE, FT_SURFACE, FT_VOLUME, FT_SOLID, FT_CSYS, FT_NODE, FT_ELEM, FT_MATL, FT_PROP, FT_LAYUP, FT_OUT_CASE, FT_GROUP, FT_LOAD_DIR, FT_BC_DIR, FT_AMGR_DIR, FT_LAYER, FT_CONNECTION_PROP, FT_CONTACT, FT_CONNECTION, and FT_FUNCTION_DIR.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be modified. Alternatively, if you specify a negative value, this is simply the ID of the single entity to modify.

INT4 startID

The new ID of the first entity to be renumbered. All other entities will be renumbered to available IDs that are higher than this number.

INT4 renumMethod

The method used for sorting the entities to be renumbered. 0=ID, 1=Not Available, 2=Color, 3=Layer, 4=X Coord, 5=Y Coord, 6=Z Coord, 7=Reference Entity ID (Material ID if renumbering properties, Property ID if renumbering Elements), 8=Entity Type, 9=Minimum Node ID

INT4 renumCSysID

The coordinate system ID in which coordinate renumbering is done. This is only used for the entityTYPEs where X,Y,Z sorting is available, and when renumMethod is set to one of those options

BOOL renumAbs

If True, the absolute value of coordinate values are used when sorting by coordinates

BOOL renumDescend

If True, the sort is done in Descending order, otherwise in Ascending order

BOOL renumConstOff

If True, all entities are renumbered with a constant ID offset

Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not renumber.

API-488

feRenumberOpt

feRenumberOpt ( entityTYPE, entitySET, startID, renumMethod, renumCSysID, renumAbs, renumDescend, renumConstOff ) Remarks/Usage: This works just like feRenumber, but allows you to specify additional renumbering options. Use feRenumber for a simpler interface if you are simply renumbering by ID. Not all combinations of renumMethod and entityTYPE are available - only those combinations available in the interactive renumbering commands will work properly. Example: None

feAutoMeshAssociativity

API-489

3.10.5 Associativity 3.10.5.1 feAutoMeshAssociativity

feAutoMeshAssociativity ( elemSetID, solidSetID, dTolerance, bClearPrevious, bCheckContainment, bAttachMidside, bGroupExtra, bMessages, nUnattachedGroup ) Description: Automatically associates both nodes and elements with geometry that is coincident in your model Input:

INT4 elemSetID

The ID of a set that contains a list of element IDs that will be attached. Alternatively, if you specify a negative value, this is simply the ID of the single entity to attach. Nodes are automatically determined for attachment based on the selected elements.

INT4 solidSetID

The ID of a set that contains a list of solid IDs to which the mesh will be attached.

REAL8 dTolerance

The tolerance value. Nodes must be within this tolerance distance of the geometry that they will be associated too.

BOOL bClearPrevious

If True, removes and previous atttachments from the nodes/elements prior to completing this command.

BOOL bCheckContainment

If True and you are associating to multiple solids this will first find the solid that you an element is in by checking the containment of the location of its centroid.

BOOL bAttachMidside

If True, midside nodes will be associated as well as corner nodes., Otherwise only corners will be associated.

BOOL bMessages

If True, status and warning messages will be written during the processing

Output: INT4 nUnattachedGroup Return Code: None Remarks/Usage: None Example: None

The ID of a group that will receive any geometry that could not be attached fully

API-490

feMeshAttach

3.10.5.2 feMeshAttach

feMeshAttach ( entityTYPE, entitySET, attachTYPE, attachID, doNodes ) Description: Associates nodes or elements with specified geometry. Input: INT4 entityTYPE

The type of entities to be attached. For entity information, see Section 3.3.6, "Entity Types". Can be FT_NODE or FT_ELEM.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be attached. Alternatively, if you specify a negative value, this is simply the ID of the single entity to attach.

INT4 attachTYPE

The type of geometry to attach the node/element to. Can be FT_POINT, FT_CURVE, FT_SURFACE, or FT_SOLID.

INT4 attachID

The ID of the geometry to attach to.

BOOL doNodes

Only used if entityTYPE=FT_ELEM. In this case, if True, then the nodes on the element will also be associated with the same geometry as the element.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not attach.

Remarks/Usage: None Example: None

feMeshAttachNodes

API-491

3.10.5.3 feMeshAttachNodes

feMeshAttachNodes ( nNodes, nodeID, attachTYPE, attachID ) Description: Associates nodes with specified geometry. Input: INT4 nNodes

The number of nodes specified in the other arrays

INT4 nodeID[0..nNodes-1]

The IDs of the nodes being attached to geometry.

INT4 attachTYPE[0..nNodes-1]

The types of geometry to attach the node/element to. Entries can be FT_POINT, FT_CURVE, FT_SURFACE, or FT_SOLID.

INT4 attachID[0..nNodes-1]

The IDs of the geometry to attach each node to.

Output: None Return Code: FE_INVALID

One or more attachTYPEs do not specify a valid type.

FE_FAIL

Could not attach one or more nodes

Remarks/Usage: For each node you want to attach to geometry, there must be corresponding entries in the three arrays. Example: None

API-492

feMeshDetach

3.10.5.4 feMeshDetach

feMeshDetach ( entityTYPE, entitySET, attachTYPE, attachID, interior ) Description: Removes association between nodes or elements and specified geometry. Input: INT4 entityTYPE

The type of entities to be detached. For entity information, see Section 3.3.6, "Entity Types". Can be FT_NODE or FT_ELEM.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be detached. Alternatively, if you specify a negative value, this is simply the ID of the single entity to detach.

INT4 attachTYPE

The type of geometry to attach the node/element to. Can be FT_POINT, FT_CURVE, FT_SURFACE, or FT_SOLID. You can also specify attachTYPE=0, in which case attachID is not used, and the node/element is detached from all geometry.

INT4 attachID

The ID of the geometry to detach. Not used if attachTYPE=0.

BOOL interior

Only used if entityTYPE=FT_NODE, and attachTYPE=FT_CURVE, FT_SURFACE or FT_SOLID. If True, the node is detached only if it is an interior node.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not detach.

Remarks/Usage: None Example: None

feModifyDefCSys

API-493

3.10.6 Other Updates 3.10.6.1 feModifyDefCSys

feModifyDefCSys ( entityTYPE, entitySET, csysID ) Description: Updates the definition coordinate system of selected entities. Input: INT4 entityTYPE

The type of entities to be updated. For entity information, see Section 3.3.6, "Entity Types". Can be FT_CSYS, FT_POINT, or FT_NODE.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single entity to update.

INT4 csysID

The ID of the coordinate system to use as the definition coordinate system.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not update. Check to see that coordinate system exists.

Remarks/Usage: None Example: None

API-494

feModifyOutCSys

3.10.6.2 feModifyOutCSys

feModifyOutCSys ( entityTYPE, entitySET, csysID ) Description: Updates the output coordinate system of selected entities. Input: INT4 entityTYPE

The type of entities to be updated. For entity information, see Section 3.3.6, "Entity Types". Must be FT_NODE.

INT4 entitySET

The ID of a set that contains a list of entity IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single entity to update.

INT4 csysID

The ID of the coordinate system to use as the output coordinate system.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not update. Check to see that coordinate system exists.

Remarks/Usage: None Example: None

feModifyPermBC

API-495

3.10.6.3 feModifyPermBC

feModifyPermBC ( entitySET, t1, t2, t3, r1, r2, r3 ) Description: Updates the permanent constraints on nodes. Input: INT4 entitySET

The ID of a set that contains a list of node IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single node to update.

BOOL t1 BOOL t2 BOOL t3 BOOL r1

Corresponds to the six degrees of freedom of each node. If True, the associated degree of freedom is constrained.

BOOL r2 BOOL r3 Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not update.

API-496

feModifySplineOrder

3.10.6.4 feModifySplineOrder

feModifySplineOrder ( entitySET, order ) Description: Updates the order of b-spline curves. Input: INT4 entitySET

The ID of a set that contains a list of curve IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single curve to update.

INT4 order

The new order of the b-spline curve. Must be a value between 3 and 10.

Output: None Return Code: FE_FAIL

Could not update.

Remarks/Usage: Only used with standard geometry engine b-splines - not solid engine curves. Example: None

feModifySplineKnots

API-497

3.10.6.5 feModifySplineKnots

feModifySplineKnots ( entitySET, knotLoc ) Description: Insert knots into b-spline curves. Input: INT4 entitySET

The ID of a set that contains a list of curve IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single curve to update.

REAL8 knotLoc[0..2]

The location, in global rectangular coordinates, of the knot to insert.

Output: None Return Code: FE_FAIL

Could not update.

Remarks/Usage: Only used with standard geometry engine b-splines - not solid engine curves. Example: None

API-498

feModifyReverseCurve

3.10.6.6 feModifyReverseCurve

feModifyReverseCurve ( entitySET ) Description: Reverses the direction of selected curves. Input: INT4 entitySET

The ID of a set that contains a list of curve IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single curve to update.

Output: None Return Code: FE_FAIL

Could not update.

Remarks/Usage: Only used with standard geometry engine curves - not solid engine curves. Example: None

feModifyNoMergeCurve

API-499

3.10.6.7 feModifyNoMergeCurve

feModifyNoMergeCurve ( entitySET, bNoMerge ) Description: Marks selected curves as mergeable or nonmergeable. Input: INT4 entitySET

The ID of a set that contains a list of curve IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single curve to update.

BOOL bNoMerge

If True, curves are made nonmergeable. If False, they are mergeable.

Output: None Return Code: FE_FAIL

Could not update.

Remarks/Usage: Only used with solid engine curves - not standard geometry engine curves. Example: None

API-500

feModifySurfaceDivisions

3.10.6.8 feModifySurfaceDivisions

feModifySurfaceDivisions ( entitySET, sDiv, tDiv, tolerance ) Description: Updates the graphical divisions and facetting used to display surfaces. Input: INT4 entitySET

The ID of a set that contains a list of surface IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single surface to update.

INT4 sDiv

The number of divisions displayed along the first parametric direction of the surface.

INT4 tDiv

The number of divisions displayed along the second parametric direction of the surface.

REAL8 tolerance

The accuracy with which the graphical facetting of solid geometry engine surfaces is created. Decreasing this number results in more facets and slower draw times, but a closer approximation to the actual geometry. Increasing the number speeds up draw times, but can lead to coarse approximations of the true geometry.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not update.

feModifySolidFacetting

API-501

3.10.6.9 feModifySolidFacetting

feModifySolidFacetting ( entitySET, sDiv, tDiv, dAngleTol, dChordTol, dCurveFactor ) Description: Updates the graphical divisions and facetting used to display solids. Input: INT4 entitySET

The ID of a set that contains a list of solid IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single solid to update.

INT4 sDiv

The number of divisions displayed along the first parametric direction of the surfaces of the solid.

INT4 tDiv

The number of divisions displayed along the second parametric direction of the surfaces of the solid.

REAL8 dAngleTol

The percent of angle error allowed between the solid and facets

REAL8 dChordTol

The percent of chord error allowed between the solid and facets

REAL8 dCurveFactor

The refinement factor for curve facets compared to the default solid facetting.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not update.

API-502

feModifySuperelementID

3.10.6.10 feModifySuperelementID

feModifySuperelementID ( entitySET, nSEID ) Description: Updates the superelementID of a set of nodes. Input: INT4 entitySET

The ID of a set that contains a list of node IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single node to update.

INT4 nSEID

The superelementID to assign to the nodes.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not update.

feModifyLoadPhase

API-503

3.10.6.11 feModifyLoadPhase

feModifyLoadPhase ( entityTYPE, entitySET, phase ) Description: Updates the phase of selected loads. Input:

INT4 entityTYPE

The type of entities where the loads to be modified are applied. For entity information, see Section 3.3.6, "Entity Types". Can be FT_NODE, FT_ELEM, FT_POINT, FT_CURVE, or FT_SURFACE. This is the type of entity that is selected in entitySET.

INT4 entitySET

The ID of a set that contains a list of entity IDs where the loads are applied. Alternatively, if you specify a negative value, this is simply the ID of the single entity with a load applied.

REAL8 phase

The new phase value.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not update.

Remarks/Usage: Only loads in the active load set will be updated. The selection/specification of entities refers to the entities where the loads are applied - not the loads themselves. Example: None

API-504

feModifyElemPropID

3.10.7 Element Updates 3.10.7.1 feModifyElemPropID

feModifyElemPropID ( entitySET, propID ) Description: Updates the property ID of selected elements. Input: INT4 entitySET

The ID of a set that contains a list of element IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single element to update.

INT4 propID

The ID of the new property to assign to the elements. This property must be compatible with the element types chosen.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not update. Check to see that property exists and is of the correct type.

Remarks/Usage: None Example: None

feModifyPropMatlID

API-505

3.10.7.2 feModifyPropMatlID

feModifyPropMatlID ( entitySET, matlID ) Description: Updates the material ID of selected properties. Input: INT4 entitySET

The ID of a set that contains a list of property IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single property to update.

INT4 matlID

The ID of the new material to assign to the properties.

Output: None Return Code: FE_INVALID

EntityTYPE does not specify a valid type.

FE_FAIL

Could not update. Check to see that material exists.

Remarks/Usage: This method only updates the primary material identifier. Laminate properties cannot be updated using this method. Example: None

API-506

feModifyMaterialAngle

3.10.7.3 feModifyMaterialAngle

feModifyMaterialAngle ( entitySET, method, vecDir, coordDir, coordCSys, angle ) Description: Updates the material angle of selected entities. Input: INT4 entitySET

The ID of a set that contains a list of element IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single element to update.

INT4 method

The method for specifying material angles: 0=None/Off, 1=Vector, 2=CoordSys, 3=Angle.

REAL8 vecDir[0..2]

The vector to be used for definition of material angles if method=1.

INT4 coordDir

Sets the direction (0=X,1=Y,2=Z) in the specified coordinate system to be used for material angles. Only used if method=2.

INT4 coordCSys

Sets the coordinate system ID to be used if method=2.

REAL8 angle

Sets the angle to be used for the definition of material angles when method=3.

Output: None Return Code: FE_FAIL

Could not define material angle.

Remarks/Usage: To turn material angles off for the selected elements, simply specify method=0. Example: None

feModifyElemReverse

API-507

3.10.7.4 feModifyElemReverse

feModifyElemReverse ( entitySET, method, vecDir ) Description: Reverses the normal of planar elements, or optionally spins them to orient the first edge along a vector. Input: INT4 entitySET

The ID of a set that contains a list of element IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single element to update.

INT4 method

The method for updating the elements: 0=Reverse, 1=Normals Outward, 2=Normals Inward, 3=Align to Vector.

REAL8 vecDir[0..2]

The vector to be used for aligning the first edge of the elements if method=3.

Output: None Return Code: FE_FAIL

Could not update.

Remarks/Usage: This method should only be used with planar elements. Example: None

API-508

feModifyElemRelease

3.10.7.5 feModifyElemRelease

feModifyElemRelease ( entitySET, rel1, rel2 ) Description: Updates the releases at the ends at the ends of beam (and other) elements. Input: INT4 entitySET

The ID of a set that contains a list of element IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single element to update.

BOOL rel1[0..5]

The release flags for End 1 of the element. Specify True to release a corresponding elemental degree of freedom.

BOOL rel2[0..5]

The release flags for End 2 of the element. Specify True to release a corresponding elemental degree of freedom.

Output: None Return Code: FE_FAIL

Could not update.

Remarks/Usage: This method should only be used with beam or bar elements. Example: None

feModifyElemOrder

API-509

3.10.7.6 feModifyElemOrder

feModifyElemOrder ( entitySET, makeParabolic, ontoGeometry, maxAngle ) Description: Updates the order of elements between linear and parabolic. Input: INT4 entitySET

The ID of a set that contains a list of element IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single element to update.

BOOL makeParabolic

Set to True to convert elements to parabolic. Set to False to convert to linear elements. Midside nodes will be created when converting to parabolic.

BOOL ontoGeometry

If you are converting to parabolic, set to True to project the midside nodes onto any referenced geometry. Set to False to leave the nodes at the midside.

REAL8 maxAngle

If you are projecting midside nodes onto geometry, this is the maximum angle that any edge can be distorted by the movement.

Output: None Return Code: FE_FAIL

Could not update.

Remarks/Usage: This method should only be used with elements that have both linear and parabolic types. Example: None

API-510

feModifyMidside

3.10.7.7 feModifyMidside

feModifyMidside ( elemSET, nodeSET ) Description: Updates the midside nodes of selected elements to be at the middle of the element edge. Input: INT4 elemSET

The ID of a set that contains a list of element IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single element to update.

INT4 nodeSET

The ID of a set that contains a list of node IDs that will not be updated. All midside nodes on the elements in elemSET are normally updated. If you want to skip some nodes, include them in this set. Specify nodeSET=0 if you want to update all midside nodes.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not update.

feModifyFormulation

API-511

3.10.7.8 feModifyFormulation

feModifyFormulation ( elemSET, form1, form2 ) Description: Updates the element formulation for selected elements. Input: INT4 elemSET INT4 form1 INT4 form2

The ID of a set that contains a list of element IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single element to update. The formulation values.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Could not update.

API-512

feModifySplitQuads

3.10.7.9 feModifySplitQuads

feModifySplitQuads ( elemSET, form1, form2 ) Description: Splits quadrilateral elements into triangular elements. Input: INT4 elemSET

The ID of a set that contains a list of element IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single element to update.

Output: None Return Code: FE_FAIL

Could not update.

Remarks/Usage: The split direction is automatically chosen to get the best shaped triangles; no further input is required. Example: None

feModifyOffsets

API-513

3.10.7.10 feModifyOffsets

feModifyOffsets ( elemSET, endA, endB, radial, offA, offB ) Description: Modifies the offsets of beam and bar elements. Input: INT4 elemSET

The ID of a set that contains a list of element IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single element to update.

BOOL endA

If True, the offset at the first end of the element will be updated.

BOOL endB

If True, the offset at the second end of the element will be updated.

BOOL radial

If True, the offsets are radial, around a location, instead of being vector based.

REAL8 offA[0..2]

If radial=True, these are the coordinates of the center location. If radial=False, then these are components of the vector offset at the first end of the element. In either case, the values are specified in global rectangular coordinates.

REAL8 offB[0..2]

If radial=True, then offB[0] is the radial offset length, and the other offB values are not used. If radial=False, then offB contains the components of the vector offset at the second end of the element.

Output: None Return Code: FE_FAIL

Could not update.

Remarks/Usage: This method can only be used with elements that have offsets: beams and bars. Example: None

API-514

feModifyOffsetsToRefPt

3.10.7.11 feModifyOffsetsToRefPt

feModifyOffsetsToRefPt ( elemSET ) Description: Modifies the offsets of beam and bar elements so that the shape reference point is at the nodes. Input: INT4 elemSET

The ID of a set that contains a list of element IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single element to update.

Output: None Return Code: FE_FAIL

Could not update.

Remarks/Usage: This method can only be used with elements that have offsets: beams and bars. Likewise, it can only be used if the reference point on the property associated with the elements has been properly defined. Offsets for each element are redefined so that the reference point is moved to the nodal location. Example: None

feModifyOrient

API-515

3.10.7.12 feModifyOrient

feModifyOrient ( elemSET, method, nodeID, orientVec ) Description: Modifies the orientation of line elements. Input: INT4 elemSET

The ID of a set that contains a list of element IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single element to update.

INT4 method

Defines the method used for updating the orientation: 0=Orient with third node, 1=Orient with Vector, 2=Convert existing orientation to equivalent vectors, 3=Make existing orientation perpendicular to elements.

INT4 nodeID

The ID of the node to use as a third node for orientation - only used if method=0.

REAL8 orientVEC[0..2]

The components, in global rectangular coordinates, of the orientation vector to use if method=1.

Output: None Return Code: FE_FAIL

Could not update.

Remarks/Usage: This method can only be used with elements that have orientations. Example: None

API-516

feModifyElemType

3.10.7.13 feModifyElemType

feModifyElemType ( elemSET, propID, method, nodeID, orientVec ) Description: Modifies the element type of elements. Input: INT4 elemSET

The ID of a set that contains a list of element IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single element to update.

INT4 propID

The ID of the new property to assign to the elements. The element type is changed to match the type of the property.

INT4 method

Defines the method used for updating the orientation: 0=Orient with third node, 1=Orient with Vector. This parameter is only used if you are modifying line elements with no orientation to a type that requires orientation.

INT4 nodeID

The ID of the node to use as a third node for orientation - only used if method=0. This parameter is only used if you are modifying line elements with no orientation to a type that requires orientation.

REAL8 orientVEC[0..2]

The components, in global rectangular coordinates, of the orientation vector to use if method=1. This parameter is only used if you are modifying line elements with no orientation to a type that requires orientation.

Output: None Return Code: FE_FAIL

Could not update.

Remarks/Usage: This method will only work to change elements from one type to another if the element shapes are compatible. Example: None

feModifyBeamWarping

API-517

3.10.7.14 feModifyBeamWarping

feModifyBeamWarping ( elemSET, method, nodeType,nodeID_endA, nodeID_endB ) Description: Modifies/Creates warping NODES or SPOINTS for Beam Warping. Input: INT4 elemSET

The ID of a set that contains a list of element IDs that will be updated. Alternatively, if you specify a negative value, this is simply the ID of the single element to update.

INT4 method

Defines the method for updating the warping node. 0 = None(Remove), 1 = Continuous, 2 = All Continuous, 3 = Discontinuous.

INT4 nodeType

The type of node to create 0 = Node, 1 = SPOINT.

INT4 nodeID_endA, nodeID_endB

If the elemSET contains a single element then the warping node for endA and endB will be set to nodeID_endA, nodeID_endB respectively.

Output: None Return Code: FE_FAIL

Could not update.

Remarks/Usage: This method can only be used with Beam elements. Example: None

API-518 3.11 Delete Methods Delete Methods include: •

Section 3.11.1, "feDeleteAll"



Section 3.11.2, "feDelete"



Section 3.11.3, "feDeleteMesh"



Section 3.11.5, "feDeleteConstraints"



Section 3.11.6, "feDeleteOutput"

feDeleteAll

API-519

3.11.1 feDeleteAll feDeleteAll ( geometry, mesh, output, confirm ) Description: This method deletes entire portions of your model - either geometry or the finite element mesh. Input: BOOL geometry

If True, all geometry in the model will be deleted - points, curves, surfaces, solids, volumes, etc.

BOOL mesh

If True, the entire finite element mesh, including all loads, constraints, properties, all results, etc. will be deleted.

BOOL output

If True, all results will be deleted. If you set mesh=True, then this is ignored and results will always be deleted.

BOOL confirm

If True, the user will be asked to confirm the delete operation. If False, the selected portions of the model will be deleted without warning.

Output: None Return Code: None Remarks/Usage: Coordinate systems will only be deleted if both geometry and the mesh are deleted. Example: None

API-520

feDelete

3.11.2 feDelete feDelete ( entityTYPE, entitySET ) Description: This method deletes selected entities from your model. Input:

INT4 entityTYPE

The entity type to delete: 3=Point, 4=Curve, 5=Surface, 6=Volume, 7=Node, 8=Element, 9=Coordinate System, 10=Material, 11=Property, 12=Load Set, 17=Constraint Set, 21=Text, 22=View, 24=Group, 28=Output Set, 31=Report, 33=Layer, 35=Function, 39=Solid, 58=Contact Segment.

INT4 entitySET

The ID of the set containing the IDs of the entities to delete.

Output: None Return Code: FE_INVALID

You specified an invalid entityTYPE - the entityTYPE must be one of the values listed above.

Remarks/Usage: Entities will only be deleted if they are not referenced by other entities. You should always delete entities in the order of their references to each other in the model. For example, delete elements first, properties next, and materials last. Example: None

feDeleteMesh

API-521

3.11.3 feDeleteMesh feDeleteMesh ( entityTYPE, entitySET, bDeleteUnused) Description: This method deletes entire meshes from your model. Input: INT4 entityTYPE

Must be either 7=Node or 8=Element

INT4 entitySET

The ID of the set containing the IDs of the nodes/elements which define the mesh to be deleted. If entitySET0=groupID, [0]=Nodal Applied Load, [1]=Nodal Reaction Force, [2]=Nodal Displacement, [3]=Nodal Velocity, [4]=Nodal Acceleration, [5]=Nodal Temperature, [6]=Nodal Heat Flux, [7]=Nodal Constraint Equation Forces, [8]=Nodal Force Balance, [9]=Nodal Kinetic Energy, [15]=Element Force, [16]=Element Stress, [17]=Element Strain, [18]=Element Plastic Strain, [19]=Element Strain Energy, [20]=Element Heat Flux, [21]=Element Enthalpy, [22]=Element Enthalpy Rate, [23]=Element Contact, [24]=Element Temperature, [25]=Kinetic Energy, [26]=Energy Loss, [27]=Fluid Pressure, others not currently used.

STRING Echo[26]

String for ECHO option.

BOOL SkipStandard

Flag to skip standard output for this case.

API-1072 Property

Description

INT4 StartText

ID of starting text.

INT4 EndText

ID of ending text.

INT4 Destination

Output destination: 0=Default, 1=Print, 2=Post, 3=Print+Post, 4=Punch, 5=Punch+Post.

INT4 Imaginary

Format for complex output: 0=Magnitude/Phase, 1=Real/Imaginary.

INT4 CornerOutput

Flag to request output at element corners.

INT4 IntegrationOutput

Flag to request output at element integration points.

Analysis Case Options - ABAQUS Specific BOOL AbaHistOn

Flag indicating ABAQUS History Options have been defined.

REAL8 AbaHistTimePeriod

Time period

REAL8 AbaHistInitTimeInc

Initial time increment.

REAL8 AbaHistMinTimeInc

Minimum time increment.

REAL8 AbaHistMaxTimeInc

Maximum time increment.

INT4 AbaHistEigenvectors

Number of eigenvectors.

REAL8 AbaHistMinFreq

Dynamic analysis minimum frequency.

REAL8 AbaHistMaxFreq

Dynamic analysis maximum frequency.

REAL8 AbaHistShiftFreq

Dynamic analysis shift frequency.

REAL8 AbaHistScaleFactor

Time step scale factor.

INT4 AbaHistOutInterval

Time step number of output intervals.

BOOL AbaHistNonlinGeom

Flag to specify nonlinear geometry.

BOOL AbaHistLinearPert

Flag to specify linear perturbation.

BOOL AbaHistAutoContact

Flag to specify auto contact.

BOOL AbaHistStabilize

Flag to stabilize contact.

BOOL AbaHistOutZeroInc

Flag to write results for zero time increment.

INT4 AbaHistStepAmp

Step amplitude: 0=Default, 1=Step, 2=Ramp.

INT4 AbaHistStepLoad

Step loads: 0=New, 1=Modify.

INT4 AbaHistStepConstr

Step constraints: 0=New, 1=Modify.

INT4 AbaHistAnalysisType

Step based analysis type (see “Analysis Type” property above): 0=Default=Use “Analysis Type”

Analysis Case Options - ANSYS Specific

API-1073 Property

Description

BOOL AnsDOFOn

Flag indicating Dynamic DOF Options have been defined.

BOOL AnsDOFDoSet

Flag indicating a master DOF set is specified and in use.

BOOL AnsDOFAutomatic

Indicates automatic dynamic DOF selection.

BOOL AnsDOFNoRotation

Excludes rotational DOF from automatic DOF selection.

INT4 AnsDOFSetID

Constraint set ID to be used as a master DOF set.

INT4 AnsDOFNumber

Number of degrees of freedom to automatically select.

Modal Options BOOL AnsModesOn

Flag indicating modal expansion options have been defined.

INT4 AnsModesNumModes

Number of modes/frequencies to expand.

REAL8 AnsModesMinFreq

Minimum frequency of interest.

REAL8 AnsModesMaxFreq

Maximum frequency of interes.t

REAL8 AnsModesModalMethod

Modal expansion method.

BOOL AnsModesElemResults

Flag indicating whether elemental results (stresses, strains...) will be calculated.

Heat Transfer Options BOOL AnsHeatOn

Flag indicating Heat Transfer Options have been defined.

REAL8 AnsHeatEndTime

Time at end of this load step.

REAL8 AnsHeatTimeStep

Initial time increment.

INT4 AnsHeatOutputFreq

Output step interval.

Analysis Case Options - MARC Specific BOOL MarHistOn

Flag indicating MARC History options have been defined

INT4 MarHistContactProp

ID of Contact Property written to the CONTACT TABLE.

INT4 MarHistCtrlMethod

ID of control type written to the CONTROL option. 0=None, 1=Full Newton-Raphson, 2=Modified Newton-Raphson, 3=Strain Correction Newton-Raphson, 8=Secant Method,

INT4 MarHistSolverMeth

ID of solver type written to the SOLVER option. 0=None, 1=Profile Direct, 2=Sparse Iterative, 3=Sparse Direct, 4=Hardware Provided Sparse Direct, 5=MultiFrontal Direct Sparse.

INT4 MarHistCtrlMaxStep

Number of Max Steps written to CONTROL option.

INT4 MarHistCtrlMaxRecycle

Number of Max Recycles written to CONTROL option.

INT4 MarHistCtrlMinRecycle

Number of Min Recycles written to CONTROL option.

API-1074 Property

Description

REAL8 MarHistMaxResidual

Number of Max Conv. Residual written to CONTROL option.

INT4 MarHistConvergeMeth

ID of method written to CONTROL option. 0=Rel Force Residuals, 1=Rel Disp Residuals, 2=Rel Strain Ener Res, 3=Abs Force Residuals, 4=Abs Disp Residuals, 5=Abs Strain Ener Res.

BOOL MarHistNonPosDefinite

Flag indicating Nonpositive Def will be used on SOLVER option.

BOOL MarHistNonSymmetric

Flag indicating NonSymmetric will be used on SOLVER option.

REAL8 MarHistModalMinFreq

Number indicating the Min Freq for a modal analysis.

REAL8 MarHistModalMaxFreq

Number indicating the Max Freq for a modal analysis.

INT4 MarHistModalEigen

Number indicating the Number of eigenvectors to be found in modal analysis.

INT4 MarHistChecking

ID indicating checking will be used. 0=None, 1=Strum Sequence.

BOOL MarHistAutoSwitch

Flag indicating Auto Switch will be used on CONTROL option.

INT4 MarHistAnalCaseSol

ID indicating the Analysis type for this Subcase 1=Static, 2=Normal Modes, 3=Buckling.

INT4 MarHistBuckleNumModes

Number of Buckling modes.

INT4 MarHistBucklePosEigen

Number of Modes With positive eigenvalues.

BOOL MarIncOn

Flag indicating MARC Increment options have been defined

INT4 MarIncArcLenMeth

ID indicating the Arclength Method. 0=None( AUTO STEP), 1=Crisfield, 2=Riks, 3=Modified Riks, 4=Crisfield/Modified Riks.

REAL8 MarIncTimePeriod

Number indicating AUTO STEP time period.

REAL8 MarIncInitTimeInc

Number indicating AUTO STEP initial time increment.

REAL8 MarIncMinTimeInc

Number indicating AUTO STEP min time increment.

REAL8 MarIncMaxTimeInc

Number indicating AUTO STEP max time increment.

REAL8 MarIncScaleFact

Number indicating AUTO STEP scale factor.

INT4 MarIncMaxStep

Number indicating AUTO STEP max number of steps.

INT4 MarIncNumOutInc

Number indicating number of output intervals.

BOOL MarIncQuasiStatDamp

Flag to include Damping scheme for statics.

REAL8 MarIncFracFirst

Number indicating AUTO INCREMENT fraction of total load applied in first step.

API-1075 Property

Description

INT4 MarIncMaxNumInc

Number indicating AUTO INCREMENT max num increments.

INT4 MarIncCtrlMaxRecycle

Number indicating AUTO INCREMENT max recycles.

REAL8 MarIncMaxFracForAll

Number indicating AUTO INCREMENT max fraction of load for any step.

REAL8 MarIncTotalTime

Number indicating AUTO INCREMENT total time.

BOOL MarCtblOn

Flag indicating the MARC Contact Table has been defined.

BOOL MarCtblWrite

Flag indicating the MARC Contact Table is to be written.

Analysis Case Options - NASTRAN Specific BOOL NasOmodesOn

Flag indicating an OMODES request has been defined.

STRING NasOmodes[160]

Expression used to select OMODES output

INT4 NasSubSeqCase[200]

IDs of Subcases to be combined in this SUBCOM

REAL8 NasSubSeqCase[200]

Scale factors applied to Subcases combined in SUBCOM

Nonlinear Case Options - NASTRAN Specific BOOL NasCnlOn

Flag indicating the Nonlinear Case Options has been defined.

BOOL NasCnlUseLoadSet

Flag to use the Nonlinear options from the Load Set.

INT32 NasCnlIncrements

Number of Time Increments.

REAL8 NasCnlTime_Increment

Value for Time Step Size.

INT32 NasCnlMaxIter

Nonlinear - Max Iterations per Step

BOOL NasCnlConvergenceFlags[0..2] or VARIANT vNasCnlConvergenceFlags

Nonlinear - Convergence Flags for 0=Displacement, 1=Load and 2=Work

REAL8 NasCnlConvergenceValue[0..2] or VARIANT vNasCnlConvergenceValue

Nonlinear - Convergence Tolerances for Displacement, Load and Work

INT4 NasCnlStiffnessMethod

Nonlinear - Stiffness Update Method

INT4 NasCnlKstep

Nonlinear - Iterations before Stiffness Update

INT4 NasCnlIntermediateOutput

Nonlinear - Intermediate Output Type

INT4 NasCnlOutputInterval

Nonlinear - Output Interval

API-1076 Property

Description

INT4 NasCnlSolutionStrategy

Nonlinear - Nonlinear Arc-Length Solution Strategy (ArcLength if nonzero)

INT4 NasCnlSolutionOverrides

Nonlinear - Solution Strategy Overrides: 0=none/ advanced, 1=Full Newton Raphson, 2=Modified Newton Raphson

BOOL NasCnlModnewtonLineSearch

Nonlinear - Modified Newton Line Search Override (1=Skip)

BOOL NasCnlModnewtonQuasiNewton

Nonlinear - Modified Newton Quasi-Newton Override (1=Skip)

BOOL NasCnlModnewtonBisection

Nonlinear - Modified Newton Bisection Override (1=Skip)

INT4 NasCnlArcConstraintType

Nonlinear - Arc Length Constraint Type

REAL8 NasCnlArcMinAdjust

Nonlinear - Min Arc Length Adjust

REAL8 NasCnlArcMaxAdjust

Nonlinear - Max Arc Length Adjust

REAL8 NasCnlArcLoadScale

Nonlinear - Arc Length Method Constraint Load Scale

INT4 NasCnlArcDesiredIter

Nonlinear - Arc Length Desired Iterations

INT4 NasCnlArcMaxSteps

Nonlinear - Arc Length Max Steps

INT4 NasCnlTimeSkipAdjust

Nonlinear - Transient Time Step Skip Factor

INT4 NasCnlDominantPeriodSteps

Nonlinear - Transient Steps for Dominant Period

REAL8 NasCnlBoundsRb

Nonlinear - Transient Bounds to Maintain Step

REAL8 NasCnlStabilityTolerance

Nonlinear - Transient Minimum Stability Tolerance

INT4 NasCnlDivergenceLimit

Nonlinear - Max Diverging Conditions

INT4 NasCnlQuasiNewtonVectors

Nonlinear - Number of Quasi-Newton Vectors

INT4 NasCnlMaxLineSearch

Nonlinear - Max Line Search per Iteration

REAL8 NasCnlLineSearchTolerance

Nonlinear - Line Search Tolerance

INT4 NasCnlMaxBisections

Nonlinear - Max Bisections per Increment

REAL8 NasCnlMaxRotation

Nonlinear - Max Rotation per Bisection

REAL8 NasCnlFstress

Nonlinear - Stress Fraction Limit

REAL8 NasCnlMaxAdjust

Nonlinear - Max Adjusted vs. Initial Increment

BOOL NasCnlCreep

Flag Indicating this a Creep Analysis.

BOOL NasCnlSkipNLPARM

Flag to disable writing of the NLPARM for this case.

Aeroelasic Trim Case Options - NASTRAN Specific BOOL NasCaeOn

Flag indicating NASTRAN Trim Options have been defined.

API-1077 Property

Description

REAL8 NasCaeMachNumber

Mach number

REAL8 NasCaeDynPressure

Dynamic pressure

BOOL NasCaeRigidTrim

Flag to request a rigid trim analysis

BOOL NasCaeWrtieTrim

Flag to enable writing of the TRIM for this case.

Aerodynamic Flutter Case Options - NASTRAN Specific BOOL NasCflOn

Flag indicating NASTRAN Flutter Options have been defined.

INT32 NasCflMethod

Flutter analysis method

INT32 NasCflDenID

Femap function defining density ratios

INT32 NasCflMachFactID

Femap function defining density ratios

INT32 NasCflRfreqFactID

Femap function defining density ratios

INT32 NasCflFliMethod

Interpolation method

INT32 NasCflEig

Number Eigenvalues

REAL8 NasCflEps

Convergence

BOOL NasCflWriteFlutter

Flag to enable writing of the FLUTTER for this case.

INT32 NasCflSdampID

ID of Femap function defining the Modal Damping Table

API-1078

InitAnalysisCase

5.6.2 AnalysisCase Object Methods In addition to the standard methods, the following methods are also available. 5.6.2.1 InitAnalysisCase

InitAnalysisCase ( nSetID, nCaseID ) Description: This method initializes the default values for an analysis case Input: INT32 nSetID

The Analysis SetID containing the case to be initialized

INT32 nCaseID

The Case ID to be initialized

Output: None Return Value FE_FAIL Remarks/Usage: None Example: None

Unable to initialize the case. Probably the Analysis Set you specified does not exist.

DeleteAnalysisCase

API-1079

5.6.2.2 DeleteAnalysisCase

DeleteAnalysisCase ( nSetID, nCaseID ) Description: Use this method to delete an analysis case. Input: INT32 nSetID

The Analysis SetID containing the case to be deleted

INT32 nCaseID

The Case ID to be deleted

Output: None Return Value FE_FAIL Remarks/Usage: This method takes care of deleting any start/end text or Marc contact table records that referenced the case. Example: None

API-1080

GetContactTable

5.6.2.3 GetContactTable

GetContactTable ( count, rowSeg, colSeg, tieType, distTol, sepForce, friction, interClose ) Description: This method retrieves data from the Contact Table. Input: None Output: INT4 count

The number of entries in each of the other vectors.

INT4 rowSeg[0..count-1]

The IDs of the contact segments referenced in rows of the table

INT4 colSeg[0..count-1]

The IDs of the contact segments referenced in columns of the table

INT4 tieType[0..count-1]

The tying type (0,1=None, 2=Touch, 3=Glue)

REAL8 distTol[0..count-1]

The distance tolerance

REAL8 sepForce[0..count-1]

The separation force

REAL8 friction[0..count-1]

The friction values

REAL8 interClose[0..count-1]

The interference closure

Return Value FE_NOT_EXIST

The contact table does not exist.

FE_FAIL

Unable to allocate memory to return the contact table data.

Remarks/Usage: None Example: None

PutContactTable

API-1081

5.6.2.4 PutContactTable

PutContactTable ( count, rowSeg, colSeg, tieType, distTol, sepForce, friction, interClose ) Description: This method replaces data in the Contact Table Input: INT4 count

The number of entries in each of the other vectors.

INT4 rowSeg[0..count-1]

The IDs of the contact segments referenced in rows of the table

INT4 colSeg[0..count-1]

The IDs of the contact segments referenced in columns of the table

INT4 tieType[0..count-1]

The tying type (0,1=None, 2=Touch, 3=Glue)

REAL8 distTol[0..count-1]

The distance tolerance

REAL8 sepForce[0..count-1]

The separation force

REAL8 friction[0..count-1]

The friction values

REAL8 interClose[0..count-1]

The interference closure

Output: None Return Value FE_FAIL

Unable to update the contact table.

Remarks/Usage: This function completely replaces the contact table - it does not add to data that is already there. Example: None

API-1082

GetStandardTrim

5.6.2.5 GetStandardTrim

GetStandardTrim ( useTrim, TrimID, TrimVal ) Description: This method retrieves data from the standard trim definition. Input: None Output: INT4 useTrim[0..11]

0=Off,1=Use, 2= Fixed

INT4 TrimID[0..11]

See Remarks

REAL8 TrimVal[0..11]

magnitude

Return Value FE_NOT_EXIST

Standard Trim values have not been defined.

FE_FAIL

Unable to allocate memory to return the trim data.

Remarks/Usage: Valid TrimID values: 0 = NAS_AERO_TRIM_ANGLEA 1 = NAS_AERO_TRIM_SIDES 2 = NAS_AERO_TRIM_ROLL 3 = NAS_AERO_TRIM_PITCH 4 = NAS_AERO_TRIM_YAW 5 = NAS_AERO_TRIM_URDD1 6 = NAS_AERO_TRIM_URDD2 7 = NAS_AERO_TRIM_URDD3 8 = NAS_AERO_TRIM_URDD4 9 = NAS_AERO_TRIM_URDD5 10 - NAS_AERO_TRIM_URDD6 Example: None

PutStandardTrim

5.6.2.6 PutStandardTrim

PutStandardTrim ( count, useTrim, TrimID, TrimVal ) Description: This method loads standard trim data into the trim definition. Input: INT4 useTrim[0..11]

0=Off,1=Use, 2= Fixed

INT4 TrimID[0..11]

See Remarks

REAL8 TrimVal[0..11]

magnitude

Output: None Return Value FE_NOT_EXIST

Standard Trim values have not been defined.

FE_FAIL

Unable to allocate memory to return the trim data.

Remarks/Usage: Valid TrimID values: 0 = NAS_AERO_TRIM_ANGLEA 1 = NAS_AERO_TRIM_SIDES 2 = NAS_AERO_TRIM_ROLL 3 = NAS_AERO_TRIM_PITCH 4 = NAS_AERO_TRIM_YAW 5 = NAS_AERO_TRIM_URDD1 6 = NAS_AERO_TRIM_URDD2 7 = NAS_AERO_TRIM_URDD3 8 = NAS_AERO_TRIM_URDD4 9 = NAS_AERO_TRIM_URDD5 10 - NAS_AERO_TRIM_URDD6 Example: None

API-1083

API-1084

GetTrimControlSurf

5.6.2.7 GetTrimControlSurf

GetTrimControlSurf ( useTrim, TrimID, TrimVal ) Description: This method retrieves data from the trim definition for user defined Aero Control Surfaces Input: None Output: INT4 useTrim[0..29]

0=Off,1=Use, 2= Fixed

INT4 TrimID[0..29]

ID of the Femap Aero Control Surface Entity

REAL8 TrimVal[0..29]

magnitude

Return Value FE_NOT_EXIST

Trim values have not been defined.

FE_FAIL

Unable to allocate memory to return the trim data.

Remarks/Usage:

Example: None

PutTrimControlSurf

5.6.2.8 PutTrimControlSurf

PutTrimControlSurf ( useTrim, TrimID, TrimVal ) Description: This method loads user defined Aero Control Surface data into the Trim definition Input: INT4 useTrim[0..29]

0=Off,1=Use, 2= Fixed

INT4 TrimID[0..29]

ID of the Femap Aero Control Surface Entity

REAL8 TrimVal[0..29]

magnitude

Output: None Return Value FE_FAIL Remarks/Usage:

Example: None

Unable to store the trim data.

API-1085

API-1086 5.7 AnalysisSet and AnalysisMgr Objects AnalysisSet objects correspond to the analysis sets in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for AnalysisSet objects. For more information, see Section 5.1, "Common Entity Properties and Methods". AnalysisMgr does the same thing as AnalysisSet. Use the feAnalysisSet method of the FEMAP Application object to create AnalysisSet objects. AnalysisMgr does the same thing as AnalysisSet and uses all of the same Object Properties.

5.7.1 AnalysisSet (AnalysisMgr) Object Properties AnalysisSet (AnalysisMgr) are always stored with their SetID = 1, and the ID equal to the analysis set that you are trying to access. In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information.

Property

Description

STRING title

Analysis set title (maximum 79 characters).

INT4 Solver

Analysis program to be used for analysis: 0=Unknown, 4=MSC/NASTRAN, 5=ANSYS, 16=ABAQUS, 28=LS-Dyna, 29=MSC.Marc, 31=NE/Nastran, 34=FEMAP Structural. 36=NX Nastran.

INT4 AnalysisType

Type of analysis: 0=Unknown, 1=Static, 2=Modes, 3=Transient, 4=Frequency Response, 5=Response Spectrum, 6=Random, 7=Linear Buckling, 8=Design Opt, 9=Explicit, 10=Nonlinear Static, 11=Nonlinear Buckling, 12=Nonlinear Transient, 19=Comp Fluid Dynamics, 20=Steady State Heat Transfer, 21=Transient Heat, 22=Advanced Nonlinear Static, 23=Advanced Nonlinear Transient, 24=Advanced Nonlinear Explicit, 25=Static Aeroelasticity, 26=Aerodynamic Flutter.

BOOL LaunchWithVisQ

Flag to launch the analysis using VisQ.

Master Case Options STRING CaseTitle[80]

Title of analysis set (maximum 80 characters).

INT4 CaseType

0=Normal, 1=Subcom

INT4 BCSet[15] or VARIANT vBCSet

SetIDs of load and constraint sets for this case: [0]=Constraints, [1]=Constraint Equations, [2]=Loads, [3]=Initial Conditions, [4]=Master DOF, [5]=Base/Support DOF, [6]=Omit DOF, [7]=QSET DOF, [8]=CSET DOF, [9]=BSET DOF, others not currently used.

API-1087 Property

Description

INT4 Output[30] or VARIANT vOutput

Output requests for this case: 0=off,-1=full model, >0=groupID, [0]=Nodal Applied Load, [1]=Nodal Reaction Force, [2]=Nodal Displacement, [3]=Nodal Velocity, [4]=Nodal Acceleration, [5]=Nodal Temperature, [6]=Nodal Heat Flux, [7]=Nodal Constraint Equation Forces, [8]=Nodal Force Balance, [9]=Nodal Kinetic Energy, [15]=Element Force, [16]=Element Stress, [17]=Element Strain, [18]=Element Plastic Strain, [19]=Element Strain Energy, [20]=Element Heat Flux, [21]=Element Enthalpy, [22]=Element Enthalpy Rate, [23]=Element Contact, [24]=Element Temperature, [25]=Element Kinetic Energy, [26]=Element Energy Loss, others not currently used.

STRING Echo[26]

String for ECHO option.

BOOL SkipStandard

Flag to skip standard output for this case.

INT4 StartText

ID of starting text.

INT4 EndText

ID of ending text.

INT4 Destination

Output destination: 0=Default, 1=Print, 2=Post, 3=Print+Post, 4=Punch, 5=Punch+Post.

INT4 Imaginary

Format for complex output: 0=Magnitude/Phase, 1=Real/Imaginary.

INT4 CornerOutput

Flag to request output at element corners.

INT4 IntegrationOutput

Flag to request output at element integration points.

Master Case Options - ABAQUS Specific BOOL AbaHistOn

Flag indicating ABAQUS History Options have been defined.

REAL8 AbaHistTimePeriod

Time period.

REAL8 AbaHistInitTimeInc

Initial time increment.

REAL8 AbaHistMinTimeInc

Minimum time increment.

REAL8 AbaHistMaxTimeInc

Maximum time increment.

INT4 AbaHistEigenvectors

Number of eigenvectors.

REAL8 AbaHistMinFreq

Dynamic analysis minimum frequency.

REAL8 AbaHistMaxFreq

Dynamic analysis maximum frequency.

REAL8 AbaHistShiftFreq

Dynamic analysis shift frequency.

REAL8 AbaHistScaleFactor

Time step scale factor.

INT4 AbaHistOutInterval

Time step number of output intervals.

API-1088 Property

Description

BOOL AbaHistNonlinGeom

Flag to specify nonlinear geometry

BOOL AbaHistLinearPert

Flag to specify linear perturbation.

BOOL AbaHistAutoContact

Flag to specify auto contact.

BOOL AbaHistStabilize

Flag to stabilize contact.

BOOL AbaHistOutZeroInc

Flag to write results for zero time increment.

INT4 AbaHistStepAmp

Step amplitude: 0=Default, 1=Step, 2=Ramp.

INT4 AbaHistStepLoad

Step loads: 0=New, 1=Modify.

INT4 AbaHistStepConstr

Step constraints: 0=New, 1=Modify.

INT4 AbaHistAnalysisType

Step-based analysis type (see “Analysis Type” property above): 0=Default=”Use Analysis Type”

Master Case Options - ANSYS Specific BOOL AnsDOFOn

Flag indicating dynamic DOF options have been defined.

BOOL AnsDOFDoSet

Flag indicating a master DOF set is specified and in use.

BOOL AnsDOFAutomatic

Indicates automatic dynamic DOF selection.

BOOL AnsDOFNoRotation

Excludes rotational DOF from automatic DOF selection.

INT4 AnsDOFSetID

Constraint set ID to be used as a master DOF set.

INT4 AnsDOFNumber

Number of degrees of freedom to automatically select.

ANSYS Modal Options BOOL AnsModesOn

Flag indicating modal expansion options have been defined.

INT4 AnsModesNumModes

Number of modes/frequencies to expand.

REAL8 AnsModesMinFreq

Minimum frequency of interest.

REAL8 AnsModesMaxFreq

Maximum frequency of interest.

REAL8 AnsModesModalMethod

Modal expansion method.

BOOL AnsModesElemResults

Flag indicating whether elemental results (stresses, strains...) will be calculated.

ANSYS Heat Transfer Options BOOL AnsHeatOn

Flag indicating heat transfer options have been defined.

REAL8 AnsHeatEndTime

Time at end of this load step.

REAL8 AnsHeatTimeStep

Initial time increment.

INT4 AnsHeatOutputFreq

Output step interval.

API-1089 Property

Description

Master Case Options - DYNA Specific BOOL DynHistOn

Flag indicating an Dyna History section has been defined.

INT4 DynHistBodyLoadGrp

Initial Body Load Group.

BOOL DynHistMassDampOn

Flag indicating Mass Damping value has been defined.

REAL8 DynHistMsssDamp

Mass Damping Value.

BOOL DynHistImplicit

Flag indicating use of Implicit Solver.

BOOL DynHistSpringback

Flag indicating Springback option has been defined.

BOOL DynHistStrinOutput

Flag indicating Strain will be output.

REAL8 DynHistTotalTime

Value defining total solution time,

REAL8 DynHistTimeHistOuput

Number indicating output time interval.

REAL8 DynHistPrintHistOutput

Number indicating print output time interval.

INT4 DynHistPlateIntgPts

Number indicating number of plate integration points.

INT4 DynHistGroupHistId

ID of group to limit output request.

Master Case Options - MARC Specific BOOL MarHistOn

Flag indicating MARC History options have been defined

INT4 MarHistContactProp

ID of Contact Property written to the CONTACT TABLE.

INT4 MarHistCtrlMethod

ID of control type written to the CONTROL option. 0=None, 1=Full Newton-Raphson, 2=Modified Newton-Raphson, 3=Strain Correction Newton-Raphson, 8=Secant Method,

INT4 MarHistSolverMeth

ID of solver type written to the SOLVER option. 0=None, 1=Profile Direct, 2=Sparse Iterative, 3=Sparse Direct, 4=Hardware Provided Sparse Direct, 5=MultiFrontal Direct Sparse.

INT4 MarHistCtrlMaxStep

Number of Max Steps written to CONTROL option.

INT4 MarHistCtrlMaxRecycle

Number of Max Recycles written to CONTROL option.

INT4 MarHistCtrlMinRecycle

Number of Min Recycles written to CONTROL option.

REAL8 MarHistMaxResidual

Number of Max Conv. Residual written to CONTROL option.

INT4 MarHistConvergeMeth

ID of method written to CONTROL option. 0=Rel Force Residuals, 1=Rel Disp Residuals, 2=Rel Strain Ener Res, 3=Abs Force Residuals, 4=Abs Disp Residuals, 5=Abs Strain Ener Res.

BOOL MarHistNonPosDefinite

Flag indicating Nonpositive Def will be used on SOLVER option.

API-1090 Property

Description

BOOL MarHistNonSymmetric

Flag indicating NonSymmetric will be used on SOLVER option.

REAL8 MarHistModalMinFreq

Number indicating the Min Freq for a modal analysis.

REAL8 MarHistModalMaxFreq

Number indicating the Max Freq for a modal analysis.

INT4 MarHistModalEigen

Number indicating the Number of eigenvectors to be found in modal analysis.

INT4 MarHistChecking

ID indicating checking will be used. 0=None, 1=Strum Sequence.

BOOL MarHistAutoSwitch

Flag indicating Auto Switch will be used on CONTROL option.

INT4 MarHistAnalCaseSol

ID indicating the Analysis type for this Subcase 1=Static, 2=Normal Modes, 3=Buckling.

INT4 MarHistBuckleNumModes

Number of Buckling modes.

INT4 MarHistBucklePosEigen

Number of Modes With positive eigenvalues.

BOOL MarIncOn

Flag indicating MARC Increment options have been defined

INT4 MarIncArcLenMeth

ID indicating the Arclength Method. 0=None( AUTO STEP), 1=Crisfield, 2=Riks, 3=Modified Riks, 4=Crisfield/Modified Riks.

REAL8 MarIncTimePeriod

Number indicating AUTO STEP time period.

REAL8 MarIncInitTimeInc

Number indicating AUTO STEP initial time increment.

REAL8 MarIncMinTimeInc

Number indicating AUTO STEP min time increment.

REAL8 MarIncMaxTimeInc

Number indicating AUTO STEP max time increment.

INT4 MarIncScaleFact

Number indicating AUTO STEP scale factor.

INT4 MarIncMaxStep

Number indicating AUTO STEP max number of steps.

INT4 MarIncNumOutInc

Number indicating number of output intervals.

BOOL MarIncQuasiStatDamp

Flag to include Damping scheme for statics.

REAL8 MarIncFracFirst

Number indicating AUTO INCREMENT fraction of total load applied in first step.

INT4 MarIncMaxNumInc

Number indicating AUTO INCREMENT max num increments.

INT4 MarIncCtrlMaxRecycle

Number indicating AUTO INCREMENT max recycles.

REAL8 MarIncMaxFracForAll

Number indicating AUTO INCREMENT max fraction of load for any step.

REAL8 MarIncTotalTime

Number indicating AUTO INCREMENT total time.

API-1091 Property

Description

BOOL MarCtblOn

Flag indicating the MARC Contact Table has been defined.

BOOL MarCtblWrite

Flag indicating the MARC Contact Table is to be written.

Master Case Options - NASTRAN Specific BOOL NasOmodesOn

Flag indicating an OMODES request has been defined.

STRING NasOmodes[160]

Expression used to select OMODES output

Nonlinear Case Options - NASTRAN Specific BOOL NasCnlOn

Flag indicating the Nonlinear Case Options has been defined.

BOOL NasCnlUseLoadSet

Flag to use the Nonlinear options from the Load Set.

INT32 NasCnlIncrements

Number of Time Increments.

REAL8 NasCnlTime_Increment

Value for Time Step Size.

INT32 NasCnlMaxIter

Nonlinear - Max Iterations per Step

BOOL NasCnlConvergenceFlags[0..2] or VARIANT vNasCnlConvergenceFlags

Nonlinear - Convergence Flags for 0=Displacement, 1=Load and 2=Work

REAL8 NasCnlConvergenceValue[0..2] or VARIANT vNasCnlConvergenceValue

Nonlinear - Convergence Tolerances for Displacement, Load and Work

INT4 NasCnlStiffnessMethod

Nonlinear - Stiffness Update Method

INT4 NasCnlKstep

Nonlinear - Iterations before Stiffness Update

INT4 NasCnlIntermediateOutput

Nonlinear - Intermediate Output Type

INT4 NasCnlOutputInterval

Nonlinear - Output Interval

INT4 NasCnlSolutionStrategy

Nonlinear - Nonlinear Arc-Length Solution Strategy (ArcLength if nonzero)

INT4 NasCnlSolutionOverrides

Nonlinear - Solution Strategy Overrides: 0=none/ advanced, 1=Full Newton Raphson, 2=Modified Newton Raphson

BOOL NasCnlModnewtonLineSearch

Nonlinear - Modified Newton Line Search Override (1=Skip)

BOOL NasCnlModnewtonQuasiNewton

Nonlinear - Modified Newton Quasi-Newton Override (1=Skip)

BOOL NasCnlModnewtonBisection

Nonlinear - Modified Newton Bisection Override (1=Skip)

API-1092 Property

Description

INT4 NasCnlArcConstraintType

Nonlinear - Arc Length Constraint Type

REAL8 NasCnlArcMinAdjust

Nonlinear - Min Arc Length Adjust

REAL8 NasCnlArcMaxAdjust

Nonlinear - Max Arc Length Adjust

REAL8 NasCnlArcLoadScale

Nonlinear - Arc Length Method Constraint Load Scale

INT4 NasCnlArcDesiredIter

Nonlinear - Arc Length Desired Iterations

INT4 NasCnlArcMaxSteps

Nonlinear - Arc Length Max Steps

INT4 NasCnlTimeSkipAdjust

Nonlinear - Transient Time Step Skip Factor

INT4 NasCnlDominantPeriodSteps

Nonlinear - Transient Steps for Dominant Period

REAL8 NasCnlBoundsRb

Nonlinear - Transient Bounds to Maintain Step

REAL8 NasCnlStabilityTolerance

Nonlinear - Transient Minimum Stability Tolerance

INT4 NasCnlDivergenceLimit

Nonlinear - Max Diverging Conditions

INT4 NasCnlQuasiNewtonVectors

Nonlinear - Number of Quasi-Newton Vectors

INT4 NasCnlMaxLineSearch

Nonlinear - Max Line Search per Iteration

REAL8 NasCnlLineSearchTolerance

Nonlinear - Line Search Tolerance

INT4 NasCnlMaxBisections

Nonlinear - Max Bisections per Increment

REAL8 NasCnlMaxRotation

Nonlinear - Max Rotation per Bisection

REAL8 NasCnlFstress

Nonlinear - Stress Fraction Limit

REAL8 NasCnlMaxAdjust

Nonlinear - Max Adjusted vs. Initial Increment

BOOL NasCnlCreep

Flag Indicating this a Creep Analysis.

BOOL NasCnlSkipNLPARM

Flag to disable writing of the NLPARM for this case.

Aeroelasic Trim Case Options - NASTRAN Specific BOOL NasCaeOn

Flag indicating NASTRAN Trim Options have been defined.

REAL8 NasCaeMachNumber

Mach number

REAL8 NasCaeDynPressure

Dynamic pressure

BOOL NasCaeRigidTrim

Flag to request a rigid trim analysis

BOOL NasCaeWrtieTrim

Flag to enable writing of the TRIM for this case.

Aerodynamic Flutter Case Options - NASTRAN Specific BOOL NasCflOn

Flag indicating NASTRAN Flutter Options have been defined.

INT32 NasCflMethod

Flutter analysis method

API-1093 Property

Description

INT32 NasCflDenID

Femap function defining density ratios

INT32 NasCflMachFactID

Femap function defining density ratios

INT32 NasCflRfreqFactID

Femap function defining density ratios

INT32 NasCflFliMethod

Interpolation method

INT32 NasCflEig

Number Eignevalues

REAL8 NasCflEps

Convergence

BOOL NasCflWriteFlutter

Flag to enable writing of the FLUTTER for this case.

INT32 NasCflSdampID

ID of Femap function defining the Modal Damping Table

Analysis Set Options - NASTRAN Specific NASTRAN Executive Control Options BOOL NasExecOn

Flag indicating NASTRAN Executive Options have been defined.

INT4 NasExecVersion

Version of NASTRAN to support - Possible values 2004, 2001 and 70 (for all previous versions)

STRING NasExecOutDir[260]

Path to directory for output.

STRING NasExecProblem[160]

Problem ID.

STRING NasExecSolName[26]

Name of solution - specified as text, but could be a number.

REAL8 NasExecMaxTime

Maximum execution time.

STRING NasExecDiag[160]

String specifying diagnostics to include in the solution.

BOOL NasExecIterSolve

Flag to select iterative solver.

INT4 NasExecIterSolve2

Similar to NasExecIterSolve, but allows you to set 0=Off, 1=On, 2=NX Nastran Elemental Iterative Solver

INT4 NasExecNumCPU

Number of processors to use during solution: 0=Default=1 Processor.

BOOL NasExecSaveDB

Flag to save solution databases for later restart.

BOOL NasExecRestart

Flag indicating you want to restart a previous analysis.

STRING NasExecRestartDB[260]

Path to solution database that you want to restart from.

BOOL NasExecSkipStandard

Flag to skip writing standard Executive Control.

INT4 NasExecStartText

ID of text to include at beginning of Executive Control.

INT4 NasExecEndText

ID of text to include at end of Executive Control.

INT4 NasExecMemory

Value of solution memory in Mb.

API-1094 Property

Description

BOOL NasExecExtendedMessages

Flag to enable Extended Error Messages.

STRING NasExecSystemCell[160]

Specifies System Cell options for Nastran

STRING NasExecScratchDir1[260]

Specifies primary scratch directory

STRING NasExecScratchDir2[260]

Specifies secondary scratch directory

INT4 NasExecScratchSize1

Size of primary scratch directory (in MBytes)

INT4 NasExecScratchSize2

Size of secondary scratch directory (in MBytes)

BOOL NasExecSolutionMonitor

Enables the Nastran Solution Monitor to be activated during an analysis.

NASTRAN Bulk Data Options BOOL NasBulkOn

Flag indicating NASTRAN Bulk Data Options have been defined.

INT4 NasBulkGroupID

ID of the group of entities to be written to the NASTRAN file. 0 = entire model.

BOOL NasBulkAutospc

Flag to write PARAM,AUTOSPC.

BOOL NasBulkAutompc

Flag to write PARAM,AUTOMPC.

BOOL NasBulkGrdpnt

Flag to write PARAM,GRDPNT.

INT4 NasBulkGrdpntVal

Value to include on PARAM,GRDPNT.

BOOL NasBulkWtmass

Flag to write PARAM,WTMASS.

REAL8 NasBulkWtmassVal

Value to include on PARAM,WTMASS.

BOOL NasBulkK6rot

Flag to write PARAM,K6ROT.

REAL8 NasBulkK6rotVal

Value to include on PARAM,K6ROT.

BOOL NasBulkMaxratio

Flag to write PARAM,MAXRATIO.

REAL8 NasBulkMaxratioVal

Value to include on PARAM,MAXRATIO.

BOOL NasBulkNdamp

Flag to write PARAM,NDAMP.

REAL8 NasBulkNdampVal

Value to include on PARAM,NDAMP.

BOOL NasBulkInrel

Flag to write PARAM,INREL.

BOOL NasBulkLangle

Flag to write PARAM,LANGLE.

BOOL NasBulkPrgpst

Flag to write PARAM,PRGPST.

BOOL NasBulkLgdisp

Flag to write PARAM,LGDISP.

BOOL NasBulkDdrmmOff

Flag to control PARAM,DDRMM

BOOL NasBulkModacc

Flag to write PARAM,MODACC

API-1095 Property

Description

BOOL NasBulkResVec

Flag to write PARAM,RESVEC

BOOL NasBulkResVecOn

Value to write with PARAM,RESVEC

BOOL NasBulkOgeom

Flag to write PARAM,OGEOM

INT4 NasBulkLargeField

Selection of field format: 0=Small,1=Large Csys,Matl,Prop, 2=Large All But Elem, 3=Large, 4 = Large Csys, Node

BOOL NasBulkQuadr

Flag selecting CQUADR/CTRIAR as the preferred plate/shell elements.

BOOL NasBulkSkipStandard

Flag to skip standard bulk data.

INT4 NasBulkStartText

ID of text written at the beginning of the Bulk Data.

INT4 NasBulkEndText

ID of text written at the end of the Bulk Data.

BOOL NasBulkSkipBeamShape

Flag to skip writing Beam Shapes as PBEAML/PBARL

INT4 NasBulkAutospcType

ID of Autospc method 0=Eigenvalue, 1=1..Singular Value Decomposition

BOOL NasBulkRigidThermalExp

If True includes effects of thermal expansion for rigid elements

BOOL NasBulkSrcomps

If True, writes PARAM,SRCOMPS,YES to output Laminate Strength Ratios

BOOL NasBulkNofisr

If True, writes PARAM,NOFISR,1 to skip failure indices to the F06 file.

BOOL NasBulkLgstrn

If True, writes PARAM,LGSTRN,1 to include effects of large strain.

INT4 NasBulkInrelVal

ID of Inertia Relief option: -1=On, -2=Automatic

BOOL NasBulkGapsAsContact

Flag to write Gap Elements as contact.

BOOL NasBulkBoltFact

Flag to write PARAM, BOLTFACT

REAL8 NasBulkBoltFactVal

Value to be written with PARAM, BOLTFACT option

BOOL NasBulkDynLdAsLOADSET

Flag to write Dynamic Loads using LOADSET/LSEQ method

BOOL NasBulkResViner

Flag to write PARAM,RESVINER

BOOL NasBulkWriteAllLoadBCSets

Flag to write all Static Loads and BC Sets.

BOOL NasBulkEnfmotn

Flag to write NASTRAN command option for NX Nastran or PARAM,ENFMOTN for MSC Nastran

INT4 NasBulkEnfmotnOpt

ID of ENFMOTN option: 0,1, 2

INT4 NasBulkCntAset

Flag to write PARAM,CNTASET

NASTRAN Nonlinear Options

API-1096 Property

Description

BOOL NasNonlinOn

Flag indicating NASTRAN Nonlinear Options have been defined.

INT4 NasNonlinNDT

Number of time steps.

REAL8 NasNonlinDT

Initial time increment.

INT4 NasNonlinNO

Output step interval.

INT4 NasNonlinMaxIter

Max iterations per step.

BOOL NasNonlinEpsFlag[3] or VARIANT vNasNonlinEpsFlag

Flags indicating data to use for checking convergence: 0=Temperature, 1=Load, 2=Work.

REAL8 NasNonlinEps[3] or VARIANT vNasNonlinEps

Convergence values to check with the convergence flags.

NASTRAN Modal Options BOOL NasModeOn

Flag indicating NASTRAN Modal Options have been defined.

INT4 NasModeEigrSet

SetID to be used for EIGR.

INT4 NasModeMethod

Modal Solution method: 0=Givens,1=Modified Givens, 2=Inverse Power, 3=Inverse Power/Strum, 4=Householder, 5=Modified Householder, 6=Lanczos, 7=Hessenberg, 8=Complex Inverse Power, 9=Complex Lanczos, 10=Auto(HOU/ MHOU)/Auto (NEi), 11=Subspace (NEi Nastran only).

BOOL NasModeSolutionType

Solution type: 1=Direct, 2=Modal.

REAL8 NasModeFreqRange[2] or VARIANT vNasModeFreqRange

Frequency range of interest, [0]=Min, [1]=Max.

INT4 NasModeEstRoots

Estimated number of eigenvalues.

INT4 NasModeDesiredRoots

Number of desired eigenvalues/modes.

INT4 NasModeNormOpt

Normalization method: 0=Mass,1=Max, 2=Point.

INT4 NasModeNormNode

Node ID for use with point normalization method.

INT4 NasModeNormDOF

Nodal DOF for use with point normalization method.

INT4 NasModeMassForm

Mass matrix formulation: 0=Default, 1=Lumped, 2=Coupled.

BOOL NasModesSkipEigr

If True, skips writing the EIGR card for specifying modal analysis options

API-1097 Property

Description

REAL8 NasModeImagFreqRange[2] or VARIANT vNasModeImagFreqRange

For Complex Modes analysis, specifies the imaginary part of the Frequency Range of interest.

REAL8 NasModesComplexConverge

Specifies Complex Modes convergence value

REAL8 NasModesComplexRegionWidth

Specifies Region Width for Complex Modes analysis.

REAL8 NasModeDampOverall

Specifies PARAM,G

NASTRAN Dynamic Options BOOL NasDynOn

Flag indicating NASTRAN Dynamic Options have been defined.

BOOL NasDynUseLoadSet

Flag to use dynamic options from the load set.

REAL8 NasDynDampOverall

Value for Overall Structural Damping.

REAL8 NasDynDampW3

Value for System Damping.

REAL8 NasDynDampW4

Value for Element Damping.

REAL8 NasDynKeepFreq[2] or VARIANT vNasDynKeepFreq

Max and Min frequencies used to limit response.

REAL8 NasDynTranDT

Value used for Transient Time Increment.

INT4 NasDynFreqTbl

ID of Function defining the Solution frequencies.

INT4 NasDynDampModalTbl

ID of Function defining the Modal Damping Table.

INT4 NasDynKeepModes

Number of Modes used to limit response.

INT4 NasDynTranTimeSteps

Number of Transient Time Steps

INT4 NasDynTransOutInt

Number for Transient Output Interval

BOOL NasDynDampModalMethod INT4 NasDynRespSpect

ID of Function defining the Modal Frequency Correlation for Response Spectrum.

INT4 NasDynNoFreq[2] or VARIANT vNasDynNoFreq

Number of Frequency Intervals

BOOL NasDynLogInterp[2] or VARIANT vNasDynLogInterp

Flag to use Logarithmic Interpolation

API-1098 Property

Description

INT4 NasDynFreqType[2] or VARIANT vNasDynFreqType

Input type for definition of Solution Frequencies

REAL8 NasDynMinFreq[2] or VARIANT vNasDynFreqType

Min of frequency range for solution frequencies.

REAL8 NasDynMaxFreq[2] or VARIANT vNasDynMaxFreq

Max of frequency range for solution frequencies.

REAL8 NasDynSpreadCluster[2] or VARIANT vNasDynSpreadCluster

Value defining frequency spread around modes.

BOOL NasDynFzero

Flag to write PARAM,FZERO

REAL8 NasDynFzeroVal

Value of PARAM, FZERO

BOOL NasDynWmodal

Flag to write PARAM,WMODAL

NASTRAN Random OUTPUT2 Options BOOL NasRandomOn

Flag indicating NASTRAN Random Output2 options have been defined.

INT4 NasRandomRequest[2] or VARIANT vNasRandomRequest

Output requests for Output2: [0]=Nodal Output, [1]=Elemental Output.

NASTRAN Modal XY Plot Options BOOL NasModeXYOn

Flag indicating NASTRAN Modal XY Plot Options have been defined.

BOOL NasModeXYRequest[5] or VARIANT vNasModeXYRequest

Flags selecting types of output for XY plotting.

BOOL NasModeXYRefNode

Flag indicating output of summary data only.

NASTRAN Random XY Plot Options BOOL NasRandXYOn

Flag indicating NASTRAN Random XY Plot Options have been defined.

BOOL NasRandXYRequest[48] or VARIANT vNasRandXYRequest

Flags selecting nodal and elemental output for XY plotting.

BOOL NasRandXYSummary

Flag indicating output of summary data only.

INT4 NasRandXYNodeGroup

ID of group containing node IDs for XY plot output.

API-1099 Property INT4 NasRandXYElemGroup

Description ID of group containing element IDs for XY plot output.

NASTRAN Response Spectrum Generation BOOL NasGenSpecOn

Flag indicating NASTRAN Response Spectrum Generation Options have been specified

BOOL NasGenSpecRequest[18] or VARIANT vNasGenSpecRequest

Flags selecting spectrum generation for displacement, velocity and acceleration DOF.

BOOL NasGenSpecAbsolute

Flag indicating absolute or relative.

INT4 NasGenSpecNodeGroup

ID of group containing node IDs for spectrum generation.

NASTRAN Response Spectrum Application BOOL NasAppSpecOn

Flag indicating NASTRAN Response Spectrum Application Options have been specified.

INT4 NasAppSpecType

Spectrum type.

INT4 NasAppSpecFunction

Spectrum function ID.

REAL8 NasAppSpecScale

Scale factor to apply to spectrum.

INT4 NasAppSpecMethod

Modal combination method: 0=ABS, 1=SRSS, 2=NRL, 3=NRLO.

REAL8 NasAppSpecClose

Modal combination closeness.

INT4 NasAppSpecSuport

ID of constraint set to be used as a Base/SUPORT.

INT4 NasAppSpecDamp

Function ID to be used for modal damping.

NASTRAN GEOMCHECK Options BOOL NasGCheckOn

Flag indicating Geomtery checking is specified.

BOOL NasGCheckNone

Flag to write GEOMCHECK, NONE

BOOL NasGCheckTest[21] or VARIANT vNasGCheckTest

Flag indicating type of Geomtery checking specified. [0]=Q4_SKEW, [1]=Q4_TAPER, [2]=Q4_WARP, [3]=Q4_IAMIN, [4]=Q4_IAMAX, [5]=T3_SKEW, [6]=T3_IAMAX, [7]=TET_AR, [8]=TET_EPLR, [9]=TET_DETJ, [10]=TET_DETG, [11]=HEX_AR, [12]=HEX_EPLR, [13]=HEX_DETJ, [14]=HEX_WARP, [15]=PEN_AR, [16]=PEN_EPLR, [17]=PEN_DETJ, [18]=PEN_WARP, [19]=BEAM_OFF, [20]=BAR_OFF.

REAL8 NasGCheckTol[21] or VARIANT vNasGCheckTol

Number indicating tolerance value for each GEOM CHECK

API-1100 Property

Description

INT4 NasGCheckMsg[21] or VARIANT vNasGCheckMsg

0=Fatal, 1=Inform, 2=Warn

BOOL NasGCheckSummary

Flag to request Geomtery Check summary.

INT4 NasGCheckMsgLimit

Number indicating max number of messages

NASTRAN MODELCHECK Options BOOL NasMCheckOn

Flag indicating NASTRAN Model Check options have been specified.

BOOL NasMCheckWtDOFSet[6] or VARIANT vNasMCheckWtDOFSet

Flag indicating selected Model Checks [0]=G, [1]=N, [2]=N+AUTOSPC, [3]=F, [4]=A [5]=V

BOOL NasMCheckWtCG

Flag to select CGI option.

INT4 NasMCheckWtRefNode

ID of Model Check Ref Node.

INT4 NasMCheckWtUnits

Number indicating Units to be used. 0=MASS, 1=WEIGHT

INT4 NasMCheckGrndRefNode

ID of Ground Check Ref Node.

BOOL NasMCheckGrndDOFSet[5] or VARIANT vNasMCheckGrndDOFSet

Flag indicating selected Ground Checks [0]=G, [1]=N, [2]=N+AUTOSPC, [3]=F, [4]=A.

REAL8 NasMCheckMaxStrnEn

Number indicating Max Strain Energy.

BOOL NasMCheckDataRec

Flag to use DATAREC.

INT4 NasMCheckDataTol

Tolerance Number to print forces above.

NASTRAN NXSTRAT Options BOOL NasNXStratOn

Flag indicating NASTRAN Advanced Nonlinear options have been defined.

INT4 NasNXStratSolver

Solver type 0=Direct Sparse 1=Multigrid

INT4 NasNXStratAuto

Auto Incrementation

BOOL NasNXStratNposit

Continue when not positive definite

BOOL NasNXStratMasstyp

Mass Matrix Type

INT4 NasNXStratTint

Integration order thru Shell thick

BOOL NasNXStratMstab

Matrix Stabilization

REAL8 NasNXStratMsfac

Matrix Stabilization Factor

REAL8 NasNXStratDtdelay

Element Death Time delay

API-1101 Property

Description

REAL8 NasNXStratSdofang

Shell DOF Angle

BOOL NasNXStratUpform

u/p formulation

BOOL NasNXStratDispopt

Prescribed displacement option

BOOL NasNXStratLoadopt

Applied Load option

REAL8 NasNXStratAlpha

Newmark Time Integ alpha coefficient

REAL8 NasNXStratDelta

Newmark Time Integ delta coefficient

INT4 NasNXStratItemax

Max iter for multigrid solver

REAL8 NasNXStratEpsia

Convergence Tolerance epsia

REAL8 NasNXStratEpsib

Convergence Tolerance epsib

REAL8 NasNXStratEpsii

Convergence Tolerance epsii

INT4 NasNXStratLsearch

Line Search Flag

INT4 NasNXStratMaxite

Max Iter per time step

INT4 NasNXStratConvcri

Convergence Criteria

REAL8 NasNXStratEtol

Relative Energy Tolerance

REAL8 NasNXStratRtol

Relative Force Tolerance

REAL8 NasNXStratRnorm

Reference Force

REAL8 NasNXStratRmnorm

Reference Moment

REAL8 NasNXStratRctol

Relative Contact Force Tolerance

REAL8 NasNXStratDtol

Relative Displacement Tolerance

REAL8 NasNXStratDnorm

Reference Translation

REAL8 NasNXStratDmnorm

Reference Rotation

REAL8 NasNXStratStol

Line Search Convergence Tolerance

REAL8 NasNXStratRconsm

Reference Contact Force

REAL8 NasNXStratEnlsth

Line Search Energy Threshold

INT4 NasNXStratAtssubd

Auto Time Step Small Step Size

REAL8 NasNXStratAtsmxdt

Auto Time Step Largest Step Size

INT4 NasNXStratAtsnext

Auto Time Step Size Flag

REAL8 NasNXStratAtsdfac

Division Factor for Sub Increment

BOOL NasNXStratAtslows

Low Speed Dynamics Flag

API-1102 Property

Description

REAL8 NasNXStratAtsdamp

Low Speed Dynamics Damping Factor

INT4 NasNXStratLdcgrid

Node ID for Prescribed Displacement

INT4 NasNXStratLdcdof

DOF for Prescribed Displacement

REAL8 NasNXStratLdcdisp

Magnitude of Prescribed Displacement

REAL8 NasNXStratLdcimax

Displacement Convergence Factor

REAL8 NasNXStratLdcdmax

Max Displacement

BOOL NasNXStratLdccont

Solution Termination after Critical

INT4 NasNXStratLdcsubd

Max Arc Length Subdivisions

INT4 NasNXStratImpact

Impact Control Scheme

INT4 NasNXStratNsupp

Num Iterations for Pairing

BOOL NasNXStratModex

Restart Flag - Obsolete, use NasNXStratModexNew

INT4 NasNXStratModexNew

Restart Flag/Option

REAL8 NasNXStratAtsmass

Value for Auto Time Stepping Inertia Factor

REAL8 NasNXStratTstart

Restart Solution Time

INT4 NasNXStratIrint

Frequency of Results in File

INT4 NasNXStratNsubgrp

Number of Subgroups

BOOL NasNXStratElcv

Conversion Flag

INT4 NasNXStratEqrbar

RBAR element option

INT4 NasNXStratEqrbe2

RBE2 element option

REAL8 NasNXStratSpringk

Stiffness of RBAR/RBE2 springs

REAL8 NasNXStratBeame

Youngs modulus for RBAR/RBE2 elements

REAL8 NasNXStratBeama

Effective cross section for RBAR/RBE2 elements

REAL8 NasNXStratRblcrit

Critical Length for RBAR/RBE2 elements

INT4 NasNXStratXstep

Time Step Method

INT4 NasNXStratXdtcal

Critical time step recalculation every XDTCAL steps

REAL8 NasNXStratXdtfac

Critical time step factor

REAL8 NasNXStratXmscale

Mass scale factor

REAL8 NasNXStratXdtmin1

Min steps size to use mass scaling

REAL8 NasNXStratXdtmin2

Max steps size to use mass scaling

API-1103 Property

Description

INT4 NasNXStratIcmode

Incompatible mode flag 0=off 1=on

INT4 NasNXStratUlform

Large strain formulation used

INT4 NasNXStratTimeSteps[0..9]

Number of Steps

REAL8 NasNXStratTimeIncrement[0..9]

Time increment

INT4 NasNXStratSkipFactor[0..9]

Output results every Nth step.

INT4 NasNXStratRtsubd

Rigid-target subdivision scheme used.

INT4 NasNXStratCstype

Selects the type of contact segment to use.

BOOL NasNXStratElrescs

For NX Nastran Advanced Nonlinear solver, if True, results are in elemental coordinate system, if False, in the Material coordinate system

REAL8 NasNXStratMaxDisp

Limit for max incremental displacement/equilibrium iteration

INT4 NasNXStratBoltstp

Number of steps for applying bolt pre-load force

BOOL NasNXStratCvssval

Flag to convert TABLES1 from engineering stress strain to true stress strain.

BOOL NasNXStratRtalg

Flag selecting the rigid target method: 0=Current, 1=Old(v4)

BOOL NasNXStratTnslcf

Flag allowing tensile consistent contact forces on quadratic 3D contact segments

REAL8 NasNXStratDrillkf

Maximum Rotational Stiffness Factor used when drilling stiffness is zero

REAL8 NasNXStratLslower

Value for Lower bound of line search.

REAL8 NasNXStratLsupper

Value for Upper bound of line search.

BOOL NasNXStratXtcurve

Flag to extend TABLES1 by linear extrapolation

REAL8 NasNXStratAtsmass

Value of Inertia Factor

INT4 NasNXStratAtsmass

0 - Normal, 1 - Restart, 2 - Recover Results

NASTRAN DDAM Options BOOL NasDdamOn

Flag indicating Nastran DDAM Options have been specified

BOOL NasDdamEnabled

If True, DDAM analysis is enabled

BOOL NasDdamIncludePath

If True, full paths are specified in all filenames

BOOL NasDdamIsDDAM

If True, this is a DDAM analysis, otherwise it is a non-DDAM spectrum analysis

INT4 NasDdamUseBuiltInCoeff

0=Specify Coefficients, 1=External File, 2=Built-In

API-1104 Property

Description

INT4 NasDdamEquationType

0=DDS-072, 1=NRL 1396

INT4 NasDdamSurfaceShip

0=Surface, 1=Submerged

INT4 NasDdamEquipmentLocation

0=Deck, 1=Hull, 2=Shell

INT4 NasDdamElasticPlastic

0=Elastic, 1=Elastic-Plastic

INT4 NasDdamForeAftDirection

Fore/Aft Axis (0=X, 1=Y, 2=Z)

INT4 NasDdamVerticalDirection

Vertical Axis (0=X, 1=Y, 2=Z)

INT4 NasDdamDirectionSequence

Number specifying sequence of axes to apply (X=1,Y=2,Z=3), so 132 means X then Z, then Y

REAL8 NasDdamMassToWeight

Mass to Weight conversion factor

REAL8 NasDdamWeightCutoffPct

Modal Mass Cutoff Percentage

REAL8 NasDdamGCutoff

Minimum Acceleration in Gs

STRING NasDdamSpecCoeffFile[260]

Filename (and path) of file containing spectrum coefficients (only used if NasDdamUseBuiltInCoeff=1)

BOOL NasDdamCoeffOn[14] or VARIANT vNasDdamCoeffOn

Flags to turn on/off specified spectrum coefficients

REAL8 NasDdamCoeffVal[14] or VARIANT vNasDdamCoeffVal

Values of specified spectrum coefficients.

REAL8 NasDdamForceConversion

Value for Force Unit Conversion

REAL8 NasDdamAccelConversion

Value for Acceleration Unit Conversion

NASTRAN Rotor Dynamics Options BOOL NasRotorOn

Flag indicating Nastran Rotor Dynamics Options have been specified

BOOL NasRotorEnabled

If True, Rotor Dynamics analysis is enabled

BOOL NasRotorIncludePath

If True, full paths are specified in all filenames

BOOL NasRotorSingleRotor

If True, this is a single rotor analysis of the full model, if False, multiple rotors must be specified with rotor regions

BOOL NasRotorFixedRefSys

True = Fixed Reference CSys, False = Rotating

BOOL NasRotorAsyncResponse

True = Asynchronous Response Calculations

BOOL NasRotorSteinerInertia

True = Include Steiner Inertia Terms

BOOL NasRotorForceExcitation

True = Force Excitation, False = Mass Unbalance

API-1105 Property

Description

BOOL NasRotorDoCSV

True = Create comma separated output file

BOOL NasRotorDoGPF

True = Create GPF output file

INT4 NasRotorInputUnits

Speed Input Units 0=Rev/Min, 1=Cycle/Sec, 2=Hz, 3=Radians/ Sec

INT4 NasRotorOutputUnits

Output Units 0=Rev/Min, 1=Cycle/Sec, 2=Hz, 3=Radians/Sec

INT4 NasRotorPrintedOutput

Printed Output 0=None, 1=Generalized Matrices, 2=Eigenvalue Summary/Eigenvectors, 3=Both

INT4 NasRotorSpeedNumSteps

Number of Steps in Rotor Speed

REAL8 NasRotorComplexModeOutput

Mode/Whirl Output (0.0=None, 0=Specified Speed)

REAL8 NasRotorWhirlThreshold

Whirl Threshold

REAL8 NasRotorExcitationOrder

Excitation Order (Default = 1.0, 0.0=Forward Whirl, 2.0=Backward Whirl)

REAL8 NasRotorSpeedStart

Rotor Speed Start Value

REAL8 NasRotorSpeedStep

Rotor Speed Step Size

STRING NasRotorModeSelection[60]

String specifying IDs of modes for dynamic response

NASTRAN Static Aerodynamic Options BOOL NasAeroOn

Flag indicating NASTRAN Aerodynamic Data Options have been defined.

INT4 NasAeroCsID

Aerodynamic coordinate system

INT4 NasAeroRefCsID

Reference coordinate system

REAL8 NasAeroRefLength

Reference chord length (also used in Flutter for Ref Length)

REAL8 NasAeroRefSpan

Reference span

REAL8 NasAeroRefArea

Reference wing area

INT4 NasAeroSymXY

Symmetry flag for the aero coordinate x-y plane. -1 = Symmetry, 0 = No Symmetry, 1 = Anti Symmetry (also used in Flutter)

INT4 NasAeroSymxz

Symmetry flag for the aero coordinate z-x plane 1 = Symmetry, 0 = No Symmetry, -1 = Anti Symmetry (also used in Flutter)

BOOL NasAeroAeunit

PARAM, AUNITS flag

REAL8 NasAeroAeunitVal

PARAM, AUNITS val

NASTRAN Aerodynamic Flutter Options

API-1106 Property

Description

REAL8 NasAeroVelo

Velocity for aerodynamic force

REAL8 NasAeroRefDens

Reference density

INT4 NasAeroMkFuID

Mach number/Reduced Frequency function.

REAL8 vNasAeroFreqKeep[2]

Dynamic options: [0] sets PARAM, LFREQ and [1] sets PARAM, HFREQ

INT4 NasAeroModesKeep

Dynamic options:PARAM, LMODES

BOOL NasAerobPARAMfzero

Dynamic options: PARAM,FZERO flag

REAL8 NasAerodPARAMfzero

Dynamic options: PARAM,FZERO val

INT4 NasAeroDampMethod

Dynamic options: PARAM,KDAMP

Analysis Set Options - ABAQUS Specific BOOL AbaModOn

Flag indicating ABAQUS Model options have been specified.

BOOL AbaModTitleSetNames

Flag to write entity titles as set names.

BOOL AbaModGroupsAsSets

Flag to write all groups as sets.

BOOL AbaModSkipStandard

Flag to skip output of standard ABAQUS model.

INT4 AbaModStartText

ID of text written at beginning of ABAQUS model

INT4 AbaModEndText

ID of text written at end of ABAQUS model.

INT4 AbaModVersion

Version number of ABAQUS to translate for (61=Version 6.1).

Analysis Set Options - ANSYS Specific ANSYS Model Options BOOL AnsModOn

Flag indicating ANSYS Model options have been specified.

BOOL AnsModTitleSetNames

Flag to Write FEMAP titles as set names.

BOOL AnsModGroupsAsSets

Flag to write Groups As Sets

BOOL AnsModSkipStandard

Flag to skip output of standard ANSYS model.

INT4 AnsModStartText

ID of text written at beginning of ANSYS model.

INT4 AnsModEndText

ID of text written at end of ANSYS model.

STRING AnsModTitle

Title for analysis (maximum 79 characters).

BOOL AnsModWriteSolCmd

Flag to write commands for automatic solve of model.

BOOL AnsModWriteIter

Flag to choose the iterative solver in ANSYS 5.3 and above.

BOOL AnsModWriteLargeDef

Flag to include large deformation effects in nonlinear.

INT4 AnsModMemory

Analysis memory: 0=Default.

API-1107 Property INT4 AnsModVersion

Description ANSYS version (4=ANSYS 4.4, 5=ANSYS 5.x).

ANSYS Random Analysis Options BOOL AnsRandOn

Flag indicating ANSYS Random Analysis Options have been specified.

BOOL AnsRandDisp

Flag requesting displacement output.

BOOL AnsRandVel

Flag requesting velocity output.

BOOL AnsRandAccel

Flag requesting acceleration output.

BOOL AnsRandDispRelative

Flag indicating displacement output should be relative or absolute.

BOOL AnsRandVelRelative

Flag indicating velocity output should be relative or absolute.

BOOL AnsRandAccelRelative

Flag indicating acceleration output should be relative or absolute.

Analysis Set Options - FEMAP Structural Specific FEMAP Structural File Operations BOOL FStFilOn

Flag indicating FEMAP Structural File Operation Options have been specified.

STRING FStFilLogFile[260]

Full path to the log file (blank=default).

BOOL FStFilKeepLogFile

Flag indicating that the log file should be kept.

BOOL FStFilEchoLogFile STRING FStFilHyper1[260]

Filename for first Hypermatrix file (blank=default).

STRING FStFilHyper2[260]

Filename for second Hypermatrix file (blank=default).

BOOL FStFilKeepHyper

Flag indicating that Hypermatrix files should be kept.

STRING FStFilScratch1[260]

Path to sparse solver scratch directory.

STRING FStFilScratch2[260]

Path to additional sparse solver scratch directory.

FEMAP Structural Heat Transfer Options BOOL FStHeatOn

Flag indicating FEMAP Structural Heat Transfer Options have been specified.

REAL8 FStHeatTempTol

Temperature convergence tolerance.

INT4 FStHeatConvergeType

Convergence norm: 0=Absolute, 1=Euclidean, 2=Maximum.

INT4 FStHeatMaxIter

Maximum iterations.

FEMAP Structural Dynamic Solution Options

API-1108 Property

Description

BOOL FStDynOn

Flag indicating FEMAP Structural Dynamic Solution options have been specified.

INT4 FStDynSolMethod

Solution method: 0=Guyan, 1=SVI, 2=Lanczos.

BOOL FStDynMassForm

Mass formulation: 0=Consistent, 1=Lumped.

BOOL FStDynModalDamp

Flag indicating that modal damping should be included.

BOOL FStDynModalNorm

Flag indicating mode normalization method.

INT4 FStDynNumModes

Number of flexible modes.

INT4 FStDynRigidModes

Number of rigid body modes.

INT4 FStDynFreqMethod

Frequency range method: 0=Above, 1=Below, 2=Around, 3=Between.

REAL8 FStDynFreqRange[2] or VARIANT vFStDynFreqRange

Frequency range: [0]=Single or Min Frequency, [1]=Max Frequency.

INT4 FStDynMassDir

Effective mass direction: 0=None, 1=X, 2=Y, 3=Z, 4=X+Y, 5=X+Z, 6=Y+Z, 7=X+Y+Z.

REAL8 FStDynMassTol

Effective mass lower limit.

INT4 FStDynIterVec

Number of iteration vectors.

INT4 FStDynMaxIter

Max iterations.

INT4 FStDynSigDigits

Significant digits.

FEMAP Structural Solver Options BOOL FStSolOn

Flag indicating FEMAP Structural Solver Options have been specified.

BOOL FStSolIter

Flag choosing sparse or iterative solver.

REAL8 FStSolIterConvTol

Iterative solver convergence tolerance.

INT4 FStSolIterMaxIter

Iterative solver max iterations.

INT4 FStSolMemIterMax

Max memory for iterative solver in MBytes.

INT4 FStSolMemVirtMax

Total virtual memory limit in MBytes.

INT4 FStSolMemAppPct

Application dynamic memory in percent.

INT4 FStSolMemFortranPct

Fortran workspace in percent.

BOOL FStSolStressStiff

Flag to turn on stress stiffening.

BOOL FStSolSpinSoft

Flag to turn on spin softening.

INT4 FStSolStiffSoftLoad

Load set ID for use with stress stiffening or spin softening.

API-1109 Property

Description

BOOL FStSolShellAuto

Shell autorestraint option.

BOOL FStSolSingularity

Flag to select singularity removal.

BOOL FStSolVerification

Flag indicating that a verification-only analysis.

REAL8 FStSolShellAutoAng

Shell autorestraint angle.

REAL8 FStSolSingCriteria

Singularity removal criteria.

INT4 FStSolNodeGroup

ID of group containing node IDs for nodal output recovery (0=All Nodes).

INT4 FStSolElemGroup

ID of group containing element IDs for elemental output recovery (0=All Elements).

Analysis Set Options - MARC Specific BOOL MarModOn

Flag Indicating MARC parameters have been specified.

BOOL MarModSkipStandard

Flag to skip the standard MARC model section.

INT4 MarModStartText

ID of text written at the begining of the model section.

INT4 MarModEndText

ID of text written at the end of the model section.

char MarModTitle[160]

Title of model specified as text.

INT4 MarModWorkSpVec

Size of Work Space Vector on the SIZING command.

INT4 MarModMaxConstrain

Max Number of constraints written to the SIZING command.

BOOL MarModFolOn

Flag indicating Follower Force has been specified.

INT4 MarModFolOpt

ID of Follower Option 1=Off Incremental, 2=Last Iter Inc, 3=Beg Disp Incr, 4=Off Total, 5=Last Iter Total, 6=Beg Disp To

BOOL MarModPlasOn

Flag indicating Plasticity has been specified.

INT4 MarModPlasOpt

ID of Plasticity Option 1=Add Normal Small Strain 2=Add Radial Small Strain, 3=Add Normal Large Strain, 4=Add Radial Large Strain, 5=Multiplicative.

BOOL MarModElasOn

Flag indicating Elasticity Force has been specified.

BOOL MarModElasTotal

Total Lagrange=TRUE, Updated Lagrange=FALSE

BOOL MarModElasIs

Flag indicating ELASTIC parameter will be used.

BOOL MarModConstDil

Flag indicating CONSTANT parameter will be used.

BOOL MarModLgDisp

Flag indicating LARGE DISP parameter will be used.

BOOL MarModUpdate

Flag indicating UPDATE parameter will be used.

BOOL MarModFinite

Flag indicating FINITE parameter will be used.

API-1110 Property

Description

BOOL MarModEchoInput

Flag to Echo the Input.

BOOL MarModWriteGroupSet

Flag to write groups as sets.

BOOL MarModExtInput

Flag indicating the EXTENDED parameter will be used.

BOOL MarModShlTrShear

Flag indicating the TSHEAR parameter will be used.

INT4 MarModPltIntegPt

Number of SHELL SECT integration points.

BOOL MarModDistLoadOn

Flag indicating Load List information has been specified.

INT4 MarModDistLoadList

Number indicating the max number of Load List in the model.

INT4 MarModDistLoadElem

Number indicating the max number of Elements in any list.

INT4 MarModDistLoadNode

Number indicating the max number of Nodes in any list.

BOOL MarModTyingOn

Flag indicating TIE parameter will be used.

INT4 MarModTyingCe

Number of tying type constraint equations.

INT4 MarModTyingType

Number of different types of tying constraints.

INT4 MarModTyingServoNd

Max Number of retained nodes for the tying type.

INT4 MarModTyingServoLk

Max Number of Servo Links.

BOOL MarModOutOfCore

Flag indicating the ELSTO parameter will be used.

INT4 MarModCoreVal

Number indicating the Out Of Core buffer size.

BOOL MarModProcessors

Flag indicating the PROCESSOR parameter will be used.

INT4 MarModNoCpu

Number of CPU’s to be used.

INT4 MarModVecLength

Number indicating Vector Length for the PROCESSOR param.

BOOL MarModParallel

Flag if matrices are to be formed in parallel.

BOOL MarModBWOpt

Flag indicating the OPTIMIZE parameter will be used.

Analysis Set Options - LS-DYNA Specific BOOL DynModOn

Flag Indicating LS-DYNA parameters have been specified.

BOOL DynModExportRigidNodes

Flag to export rigid reference nodes.

BOOL DynModMatlBasedParts

Flag to write Material based plate parts.

BOOL DynModGroupsAsSets

Flag to write Femap groups as sets.

BOOL DynModSkipStandard

Flag to skip the standard LS-DYNA model section

INT4 DynModStartText

ID of text written at the beginning of the model section.

INT4 DynModEndText

ID of text written at the end of the model section.

InitAnalysisMgr

API-1111

5.7.2 AnalysisSet (AnalysisMgr) Object Methods 5.7.2.1 InitAnalysisMgr

InitAnalysisMgr ( analysis_program, analysis_type, InitMasterCase ) Description: This method initializes default options in the AnalysisMgr object Input: INT4 analysis_program

Refer to the Solver property

INT4 analysis_type

Refer to the AnalysisType property

BOOL InitMasterCase

If true, also initializes the Master Case in in the object

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to initialize the current object

API-1112

GetText

5.7.2.2 GetText

GetText ( textID, text ) Description: This method returns a string containing the text associated with a specified textID. Input: INT4 textID

A textID returned from one of the text properties.

Output: STRING text

A string containing the text. This string will contain carriage control characters if there are multiple lines in the text.

Return Code: FE_FAIL

Unable to get the text. Check to see this is a valid ID.

Remarks/Usage: Text IDs are returned from various AnalysisSet properties. These properties have names ending with StartText or EndText. Example: None

PutText

API-1113

5.7.2.3 PutText

PutText ( textID, text ) Description: This method updates or creates text to associate with a text property. Input:

INT4 textID

A textID used to store the text string. Specify the same value as the text property returned if you simply want to update the text. Specify 0 if you want to create a new text entity. In this case, the return value will be the textID that was created. You should set the text property to this value.

STRING text

A string containing the text. May contain carriage control to signify multiple lines.

Output: None Return Value textID

The ID.

Remarks/Usage: Text IDs are returned from various AnalysisSet properties. These properties have names ending with StartText or EndText. Example: None

API-1114

GetCorrelate

5.7.2.4 GetCorrelate

GetCorrelate ( count, excitedCase, appliedCase, realScale, imagScale, realFunc, imagFunc ) Description: This method retrieves data from the Random Analysis Correlation Table. Input: None Output: INT4 count

The number of entries in each of the other vectors.

INT4 excitedCase[0..count-1]

The IDs of the analysis case being excited.

INT4 appliedCase[0..count-1]

The IDs of the analysis case where the PSD is applied.

REAL8 realScale[0..count-1]

The scale factor for the real portion of the PSD.

REAL8 imagScale[0..count-1]

The scale factor for the imaginary portion of the PSD.

INT4 realFunc[0..count-1]

The IDs of functions defining the real PSDs.

INT4 imagFunc[0..count-1]

The IDs of functions defining the imaginary PSDs.

Return Value FE_NOT_EXIST

The correlation table does not exist.

FE_FAIL

Unable to allocate memory to return the correlation data.

Remarks/Usage: This function has been replace by GetCorrelate2 in Femap 10.1 The AnalysisSet must be loaded with data from the associated set before this function can be used. Example: None

GetCorrelate2

API-1115

5.7.2.5 GetCorrelate2

GetCorrelate2 ( count, excitedCase, appliedCase, realScale, imagScale, realFunc, imagFunc, realInterp, imagInterp ) Description: This method retrieves data from the Random Analysis Correlation Table. Input: None Output: INT4 count

The number of entries in each of the other vectors.

INT4 excitedCase[0..count-1]

The IDs of the analysis case being excited.

INT4 appliedCase[0..count-1]

The IDs of the analysis case where the PSD is applied.

REAL8 realScale[0..count-1]

The scale factor for the real portion of the PSD.

REAL8 imagScale[0..count-1]

The scale factor for the imaginary portion of the PSD.

INT4 realFunc[0..count-1]

The IDs of functions defining the real PSDs.

INT4 imagFunc[0..count-1]

The IDs of functions defining the imaginary PSDs.

INT4 realInterp[0..count-1]

The IDs of Interpolation method defining the real PSD. 0=Log Log, 1=Linear, 2=XLog YLin, 3=XLin YLog

INT4 imagInterp[0..count-1]

The IDs of Interpolation method defining the imaginary PSD. 0=Log Log, 1=Linear, 2=XLog YLin, 3=XLin YLog

Return Value FE_NOT_EXIST

The correlation table does not exist.

FE_FAIL

Unable to allocate memory to return the correlation data.

Remarks/Usage: The AnalysisSet must be loaded with data from the associated set before this function can be used. Example: None

API-1116

PutCorrelate

5.7.2.6 PutCorrelate

PutCorrelate ( count, excitedCase, appliedCase, realScale, imagScale, realFunc, imagFunc ) Description: This method replaces data in the Random Analysis Correlation Table. Input: INT4 count

The number of entries in each of the other vectors.

INT4 excitedCase[0..count-1]

The IDs of the analysis case being excited.

INT4 appliedCase[0..count-1]

The IDs of the analysis case where the PSD is applied.

REAL8 realScale[0..count-1]

The scale factor for the real portion of the PSD.

REAL8 imagScale[0..count-1]

The scale factor for the imaginary portion of the PSD.

INT4 realFunc[0..count-1]

The IDs of functions defining the real PSDs.

INT4 imagFunc[0..count-1]

The IDs of functions defining the imaginary PSDs.

Output: None Return Value FE_FAIL

Unable to update the correlation table.

Remarks/Usage: This function has been replace by PutCorrelate2 in Femap 10.1 The AnalysisSet must be loaded with data from the associated set before this function can be used. This function completely replaces the correlation table - it does not add to data that is already there. Example: None

PutCorrelate2

API-1117

5.7.2.7 PutCorrelate2

PutCorrelate2 ( count, excitedCase, appliedCase, realScale, imagScale, realFunc, imagFunc, realInterp, imagInterp ) Description: This method replaces data in the Random Analysis Correlation Table. Input: INT4 count

The number of entries in each of the other vectors.

INT4 excitedCase[0..count-1]

The IDs of the analysis case being excited.

INT4 appliedCase[0..count-1]

The IDs of the analysis case where the PSD is applied.

REAL8 realScale[0..count-1]

The scale factor for the real portion of the PSD.

REAL8 imagScale[0..count-1]

The scale factor for the imaginary portion of the PSD.

INT4 realFunc[0..count-1]

The IDs of functions defining the real PSDs.

INT4 imagFunc[0..count-1]

The IDs of functions defining the imaginary PSDs.

INT4 realInterp[0..count-1]

The IDs of Interpolation method defining the real PSD. 0=Log Log, 1=Linear, 2=XLog YLin, 3=XLin YLog

INT4 imagInterp[0..count-1]

The IDs of Interpolation method defining the imaginary PSD. 0=Log Log, 1=Linear, 2=XLog YLin, 3=XLin YLog

Output: None Return Value FE_FAIL

Unable to update the correlation table.

Remarks/Usage: The AnalysisSet must be loaded with data from the associated set before this function can be used. This function completely replaces the correlation table - it does not add to data that is already there. Example: None

API-1118

GetContactTable

5.7.2.8 GetContactTable

GetContactTable ( count, rowSeg, colSeg, tieType, distTol, sepForce, friction, interClose ) Description: This method retrieves data from the Contact Table. Input: None Output: INT4 count

The number of entries in each of the other vectors.

INT4 rowSeg[0..count-1]

The IDs of the contact segments referenced in rows of the table

INT4 colSeg[0..count-1]

The IDs of the contact segments referenced in columns of the table

INT4 tieType[0..count-1]

The tying type (0,1=None, 2=Touch, 3=Glue)

REAL8 distTol[0..count-1]

The distance tolerance

REAL8 sepForce[0..count-1]

The separation force

REAL8 friction[0..count-1]

The friction values

REAL8 interClose[0..count-1]

The interference closure

Return Value FE_NOT_EXIST

The contact table does not exist.

FE_FAIL

Unable to allocate memory to return the contact table data.

Remarks/Usage: None Example: None

PutContactTable

API-1119

5.7.2.9 PutContactTable

PutContactTable ( count, rowSeg, colSeg, tieType, distTol, sepForce, friction, interClose ) Description: This method replaces data in the Contact Table Input: INT4 count

The number of entries in each of the other vectors.

INT4 rowSeg[0..count-1]

The IDs of the contact segments referenced in rows of the table

INT4 colSeg[0..count-1]

The IDs of the contact segments referenced in columns of the table

INT4 tieType[0..count-1]

The tying type (0,1=None, 2=Touch, 3=Glue)

REAL8 distTol[0..count-1]

The distance tolerance

REAL8 sepForce[0..count-1]

The separation force

REAL8 friction[0..count-1]

The friction values

REAL8 interClose[0..count-1]

The interference closure

Output: None Return Value FE_FAIL

Unable to update the contact table.

Remarks/Usage: This function completely replaces the contact table - it does not add to data that is already there. Example: None

API-1120

Case

5.7.2.10 Case

Case ( caseID ) Description: This method creates and returns an AnalysisCase object that is loaded with the options referenced by a case. Input: INT4 caseID

The ID of the Analysis Case to load.

Output: Return Code: None Remarks/Usage: The current AnalysisSet object must be loaded with the data from the set that contains the case that you want to retrieve. The AnalysisSet ID property is used to define the set that you want to retrieve. Example: None

Analyze

API-1121

5.7.2.11 Analyze

Analyze ( setID ) Description: Selects and analyzes an Analysis Set. Input: INT4 setID

The ID of the Analysis Set to be analyzed.

Output: None Return Code: None Remarks/Usage: This method can be used to select an analysis set and run the associated analysis program. Example: None

API-1122

AnalyzeMultiple

5.7.2.12 AnalyzeMultiple

AnalyzeMultiple ( setID ) Description: Selects and sequentially analyzes one or more Analysis Sets. Input: INT4 setID

The ID of a Set that contains the IDs of the Analysis Sets to be analyzed.

Output: None Return Code: None Remarks/Usage: This method can be used to select multiple analysis sets and run the associated analysis program. Example: None

ClearAnalysisQueue

5.7.2.13 ClearAnalysisQueue

ClearAnalysisQueue ( void ) Description: Clears the Analysis Job Queue of jobs. Input: None Output: None Return Code: FE_OK Remarks/Usage: None Example: None

API-1123

API-1124

Preview

5.7.2.14 Preview

Preview ( SetID ) Description: Calls Preview Input in the Analysis Set Manager Input: INT4 setID Output: None Return Code: FE_OK Remarks/Usage: None Example: None

The ID of a Analysis Set to be previewed in the Preview Analysis Input File window. Enter -1 for the Active Analysis Set.

Preview

API-1125

API-1126

Property

5.8 BCDefinition Objects BCDefinition objects correspond to the constraint definitions in your model. They group individual constraints into related sets and provide a title for the set. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for BCDefinition objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feBCDefinition method of the FEMAP Application object to create BCDefinition objects.

5.8.1 BCDefinition Object Properties BCDefinition objects are always stored with their SetID equal to the setID of the constraint set; however, their IDs simply go from 1 to N. To find a particular object, you must retrieve each object in the set and check the constraints it contains. Property

Description

STRING title

Constraint Definition title.

INT4 OnType

The type of entity that the constraint is applied to in this constraint definition. For more information on Entity Types refer to the table in Section 3.3.6, "Entity Types". This must be FT_POINT, FT_CURVE, FT_SURFACE or FT_NODE.

INT4 DataType

The type of entities that are referenced by this constraint definition. For more information on Entity Types refer to the table in Section 3.3.6, "Entity Types". This must be FT_BCO, FT_BCO_GEOM or FT_BEQ

PutAll

API-1127

5.8.2 BCDefinition Object Methods 5.8.2.1 PutAll

PutAll ( entID, enDataType, enOnType, sTitle ) Description: This method stores a Constraint Definition with the specified ID along with all the available options. Input: INT4 entID

The ID of the Constraint Definition to store.

INT4 DataType INT4 OnType

Refer to the property descriptions for each of these items.

STRING Title Output: None Return Code: FE_FAIL

Unable to store the entity with the specified ID

Remarks/Usage: Unlike the standard Put method, this function loads all of the properties as arguments. If you are updating all of the properties before storing an entity, this function will be faster than multiple calls to load each property individually. Example: None

API-1128

ResetNextBC

5.8.2.2 ResetNextBC

ResetNextBC ( void ) Description: This method initializes all options prior to calling the “NextBC” method below Input: None Output: None Return Code: FE_OK Remarks/Usage: This method is used prior to calling NextBC to specify which constraints will be retrieved. It simply resets this object so that the next call to NextBC will return the first constraint available in the object. Example:

NextBC

API-1129

5.8.2.3 NextBC

NextBC ( pBC ) Description: This method returns the next available constraint that is contained in the Constraint Definition Input: OBJECT pBC

The next constraint object. Depending on the type of the constraint definition this could be a BCNode, BCGeom or BEqn object

Output: None Return Code: FE_FAIL

There are no more constraints of the specified type to retrieve. Call ResetNextBC to go back to the first constraint, if you want to retrieve the constraints again.

Remarks/Usage: This method, coupled with ResetNextBC provides an easy way to retrieve all constraints from a Constraint Definition. Example:

API-1130 5.9 BCEqn Objects BCEqn objects correspond to the constraint equations in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for BCEqn. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feBCEqn method of the FEMAP Application object to create BCEqn objects.

5.9.1 BCEqn Object Properties BCEqns are always stored with their SetID equal to the setID of the constraint set; however, their IDs simply go from 1 to N. To find a particular object, you must retrieve each object in the set and check its nodes. When you create a new BCEqn, it will always reference the active constraint set. You can change the set that it references simply by changing the setID parameter. In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property

Description

INT4 dof[0..69] or VARIANT vdof

An integer from 1 to 6 indicating the DOF associated with the corresponding term in the equation.

INT4 node[0..69] or VARIANT vnode

The node ID referenced by each term in the equation.

REAL8 coefficient[0..69] or VARIANT vcoefficient

The coefficient associated with each term in the equation.

INT4 color

The constraint color.

INT4 layer

The ID of the layer associated with the constraint.

INT4 BCDefinitionID

The ID of the constraint definition that contains this constraint (0=None)

Additional Properties INT4 count

The number of nonzero terms in the equation. This property is read-only and cannot be changed.

5.9.2 BCEqn Object Methods There are no BCEqn object-specific methods. Only the standard entity methods are available.

API-1131 5.10 BCGeom Objects BCGeom objects correspond to the geometry-based constraints in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for BCGeom. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feBCGeom method of the FEMAP Application object to create BCGeom objects.

5.10.1 BCGeom Object Properties BCGeoms are always stored with their SetID equal to the setID of the constraint set; however, their IDs simply go from 1 to N. To find a particular object, you must retrieve each object in the set and check its geomID and geomType. When you create a new BCGeom, it will always reference the active constraint set. You can change the set that it references simply by changing the setID parameter. In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property

Description

BOOL dof[0..5] or VARIANT vdof

An array of flags telling whether or not the corresponding degrees of freedom are constrained (True) or free (False), in this set.

INT4 color

The constraint color.

INT4 layer

The ID of the layer associated with the constraint.

BOOL expanded

True if this geometry-based constraint is currently expanded.

INT4 geomType

The type of geometry that is constrained by this object: 3=Point, 4=Curve, 5=Surface.

INT4 geomID

The ID of the geometry that is constrained by this object.

INT4 type

The type of constraint being applied (0=DOF Pinned or Fixed, 1=General 6 DOF Control in output_sys, 2=Constrained normal to surface, 3=Constrained in all “in-surface” directions, 4=Allow sliding in a direction, 5=Cylinder, dof control directions)

REAL8 direction[0..2] or VARIANT vdirection

The direction of sliding for type=4 constraints.

INT4 outCSys

ID of constraint coordinate system for type=1 constraints.

INT4 BCDefinitionID

The ID of the constraint definition that contains this constraint (0=None)

Additional Properties

API-1132 Property BOOL dofvec[0..5]

Description Accesses all six components of the dof vector and returns them as a variant. Same as using dof independently.

GetSearch

API-1133

5.10.2 BCGeom Object Methods 5.10.2.1 GetSearch

GetSearch ( geomType, geomID ) Description: This method searches for and retrieves an entity that is constraining a specified geometric entity. Input: INT4 geomType

Type of geometry being constrained: 3=Point, 4=Curve, 5=Surface.

INT4 geomID

ID of geometry being constrained.

Output: None Return Code: FE_FAIL

The specified entity does not exist or is not constrained.

Remarks/Usage: Since BCGeom objects are not stored by a specified ID, but rather in sequential order, the normal Get method may not be useful if you are trying to find the constraints on a specific geometric entity. The only way to do that would be to Get every constraint and check for the geometry that you want. This method does that for you. You specify the geometry you want to search for, and it returns the constraints on that entity. Be aware that this method does still search the entire set. If you are going to retrieve constraints on a large number of geometry entities, it could be faster to retrieve them all using Get, and discard the ones you do not want. Example: None

API-1134

SetSurfSliding

5.10.2.2 SetSurfSliding

SetSurfSliding ( INT4 surfID ) Description: This method initializes the current object to allow sliding along a surface. Input: INT4 surfID

The ID of the surface to slide along

Output: None Return Code: None Remarks/Usage: This method does not store the constraint. You must still call Put to do that. It simply initializes the properties necessary to define this type of constraint. Example: None

SetSurfNormal

API-1135

5.10.2.3 SetSurfNormal

SetSurfNormal ( INT4 surfID ) Description: This method initializes the current object to allow movement normal to a surface. Input: INT4 surfID

The ID of the surface to move normal to.

Output: None Return Code: None Remarks/Usage: This method does not store the constraint. You must still call Put to do that. It simply initializes the properties necessary to define this type of constraint. Example: None

API-1136

SetSurfDirection

5.10.2.4 SetSurfDirection

SetSurfDirection ( INT4 surfID, REAL8 x, REAL8 y, REAL8 z ) Description: This method initializes the current object to allow sliding of a surface in a specified direction. Input: INT4 surfID

The ID of the surface to slide

REAL8 x

The Global X component of the permitted sliding direction

REAL8 y

The Global Y component of the permitted sliding direction

REAL8 z

The Global Z component of the permitted sliding direction

Output: None Return Code: None Remarks/Usage: This method does not store the constraint. You must still call Put to do that. It simply initializes the properties necessary to define this type of constraint. Example: None

SetCylinder

API-1137

5.10.2.5 SetCylinder

SetCylinder ( INT4 surfID, BOOL radius, BOOL rotation, BOOL sliding ) Description: This method initializes the current object to allow sliding of a surface in cylindrical directions. Input: INT4 surfID

The ID of the surface to slide

BOOL radius

If True, allow growth of the radius of the cylinder.

BOOL rotation

If True, allow rotation around the axis of the cylinder.

BOOL sliding

If True, allow sliding along the axis of the cylinder.

Output: None Return Code: FE_FAIL

The specified surface is not cylindrical.

Remarks/Usage: This method does not store the constraint. You must still call Put to do that. It simply initializes the properties necessary to define this type of constraint. Example: None

API-1138 5.11 BCNode Objects BCNode objects correspond to the nodal constraints in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for BCNodes. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feBCNode method of the FEMAP Application object to create BCNode objects.

5.11.1 BCNode Object Properties BCNodes are always stored with their SetID equal to the setID of the constraint set, and the ID equal to the node ID. When you create a new BCNode, it will always reference the active constraint set. You can change the set that it references simply by changing the setID parameter. In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property

Description

BOOL dof[0..5] or VARIANT vdof

An array of flags telling whether or not the corresponding degrees of freedom are constrained (True) or free (False) in this set.

INT4 color

The constraint color.

INT4 layer

The ID of the layer associated with the constraint.

BOOL expanded

True if this is a constraint from an expanded geometric constraint.

INT4 BCDefinitionID

The ID of the constraint definition that contains this constraint (0=None)

Additional Properties BOOL dofvec[0..5]

5.11.2 BCNode Object Methods

Accesses all six components of the dof vector and returns them as a Variant. Same as using dof independently.

Add

API-1139

5.11.2.1 Add

Add ( setID, bDOF1, bDOF2, bDOF3, bDOF4, bDOF5, bDOF6 ) Description: This method creates nodal constraints on all selected nodes Input: INT4 setID

The ID of a Set object that contains the nodes to constraint. Alternatively, if you specify a negative value, this is simply the ID of the single node to constrain.

BOOL bDOF1 BOOL bDOF2 BOOL bDOF3 BOOL bDOF4

The constraints to apply to the nodes. If True, the corresponding degree of freedom is constained.

BOOL bDOF5 BOOL bDOF6 Output: None Return Code: FE_FAIL

The Constraints could not be created.

Remarks/Usage: Prior to using this method, you must properly specify the other parameters in the object - such as, color, layer and setID, and any other types required for your constraints. This method simply uses the data you specify here to overwrite specific values in the BCNode object, and create a new constraint for each entry in the set. Example: None

API-1140

AddArray

5.11.2.2 AddArray

AddArray ( count, doDOF, NodeID, DOF ) Description: This method creates multiple nodal constraints Input: INT4 count

The number of constraints to create, and the number of IDs in NodeID

BOOL doDOF

If True, then the DOF array must contain degree-of-freedom flags to be used. If False, then whatever is specified in the current object is used and DOF is ignored

INT4 NodeID[0..count-1]

The Node IDs where constraints will be created. One constraint is created on each ID.

INT4 DOF[0..(6*count)-1]

Flags specifying constraints on each specified node. 6 flags per node. Refer to “dof” property.

Output: None Return Code: FE_FAIL

The Constraints could not be created.

FE_NO_MEMORY

Unable to allocate memory to store arrays of data.

Remarks/Usage: Prior to using this method, you must properly specify the other parameters in the object - such as, color, layer and setID, and any other types required for your constraints. This method simply uses the data you specify here to overwrite specific values in the BCNode object, and create a new constraint for each entry in the arrays. Example: None

API-1141 5.12 BCSet Objects BCSet objects correspond to the constraint sets in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for constraint sets. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feBCSet method of the FEMAP Application object to create BCSet objects.

5.12.1 BCSet Object Properties BCSets are always stored with a SetID=1, and the ID equal to the constraint set ID. BCSet objects are really simply placeholders for global data for the constraint set. The actual constraints are defined in other objects. Property

Description

STRING title

Constraint set title (maximum 79 characters).

BOOL IsCombination

This is a Nastran SPCADD/MPCADD combination set if True.

API-1142

Expand

5.12.2 BCSet Object Methods 5.12.2.1 Expand

Expand ( void ) Description: This method expands all of the geometric constraints in a selected constraint set. Input: None Output: None Return Code: FE_FAIL

The specified expansion did not work.

Remarks/Usage: This method takes the current constraint set object (uses the ID), and expands all of the geometric constraints in that set, so that they may be retrieved as normal mesh-based constraints. If you are using advanced geometric constraints (not just fixed and/or pinned), the resulting nodal output coordinate systems, and expanded constraints may depend on the sets you choose to expand. Expanding one set at a time may not yield the result that you expect. NOTE: This method only works with BCSets after they have been stored in the model database. If you are creating a new BCSet, only call this method after you have called Put(). Example: None

Compress

API-1143

5.12.2.2 Compress

Compress ( void ) Description: This method compresses all of the geometric constraints in a selected constraint set. Input: None Output: None Return Code: FE_FAIL

The specified compression did not work.

Remarks/Usage: This method takes the current constraint set object (uses the ID), and compresses (deletes) any expanded constraints. You are left with the unexpanded geometric constraints. NOTE: This method only works with BCSets after they have been stored in the model database. If you are creating a new BCSet, only call this method after you have called Put(). Example: None

API-1144

ResetNextBC

5.12.2.3 ResetNextBC

ResetNextBC ( enDataType, bOtherBCOnly, bIncludeExpanded ) Description: This method initializes all options prior to calling the “NextBC” method below Input: INT4 enDataType

The type of constraint entities to be retrieved. For entity information, see Section 3.3.6, "Entity Types". Can be FT_BCO, FT_BCO_GEOM, or FT_BEQ.

BOOL bOtherBCOnly

If true, then only constraints that are not part of a constraint definition will be retrieved. Otherwise all are available.

BOOL bIncludeExpanded

If True, expanded geometric constraints (if any) will be returned along with normal constraints. Ignored if enDataType = FT_BCO_GEOM.

Output: None Return Code: FE_OK Remarks/Usage: This method is used prior to calling NextBC to specify which constraints will be retrieved. It also resets this object so that the next call to NextBC will return the first constraint available in the object. Example:

NextBC

API-1145

5.12.2.4 NextBC

NextBC ( pBC ) Description: This method returns the next available constraint that matches the criteria established by ResetNextBC Input: OBJECT pBC

The next constraint object. Depending on the options specified, this could be a BCNode, BCGeom or BCEqn object

Output: None Return Code: FE_BAD_DATA

The data type that you are trying to retrieve is invalid.

FE_FAIL

There are no more constraints of the specified type to retrieve. Call ResetNextBC to go back to the first constraint, if you want to retrieve the constraints again.

Remarks/Usage: This method, coupled with ResetNextBC provides an easy way to retrieve all constraints from a Constraint Set. Example: ‘ This example loops through all constraint sets retrieving all ‘ BCNode objects. For each it displays a message box. Sub Main Dim App As femap.model Set App = GetObject(,"femap.model") Dim bs As femap.BCSet Set bs = App.feBCSet Dim b As femap.BCNode While bs.Next() bs.ResetNextBC( FT_BCO, False, False ) While bs.NextBC( b ) MsgBox(Str$(b.setID)+""+Str$(b.ID) ) Wend Wend End Sub

API-1146

ResetNextBCDef

5.12.2.5 ResetNextBCDef

ResetNextBCDef ( bAllDataTypes, enDataType ) Description: This method initializes all options prior to calling the “NextBCDef” method below Input:

BOOL bAllDataTypes

Used to limit the type of constraint definitions to be retrieved. If True, all selected constraint definitions will be returned. If False, only constraint definitions that contain constraints of the type specified in enDataType will be returned.

INT4 enDataType

The type of constraint entities to be retrieved. For entity information, see Section 3.3.6, "Entity Types". Can be FT_BCO, FT_BCO_GEOM, or FT_BEQ.

Output: None Return Code: FE_OK Remarks/Usage: This method is used prior to calling NextBCDef to specify which constraint definitions will be retrieved. It also resets this object so that the next call to NextBCDef will return the first constraint definition available in the object. Example:

NextBCDef

API-1147

5.12.2.6 NextBCDef

NextBCDef ( pBC ) Description: This method returns the next available constraint definition that matches the criteria established by ResetNextBCDef Input: OBJECT pBC

The next constraint definition object. This is always a BCDefinition object.

Output: None Return Code: FE_FAIL

There are no more constraint definitions of the specified type to retrieve. Call ResetNextBCDef to go back to the first constraint definition, if you want to retrieve the constraints again.

Remarks/Usage: This method, coupled with ResetNextBCDef provides an easy way to retrieve all constraint definitions from a Constraint Set. Example: ‘ This example loops through all constraint sets retrieving all ‘ nodal BCDefinition objects, then loops through each ‘ BCDefinition to retrieve the individual constraints. For each ‘ it displays a message box. Sub Main Dim App As femap.model Set App = GetObject(,"femap.model") Dim bs As femap.BCSet Set bs = App.feBCSet Dim bd As femap.BCDefinition Dim b As femap.BCNode While bs.Next() bs.ResetNextBCDef( False, FT_BCO ) While bs.NextBCDef( bd ) MsgBox( "BC Set"+Str$(bd.setID)+" BC Def"+Str$(bd.ID)) While bd.NextBC( b ) MsgBox( "BC On Node "+Str$(b.ID) ) Wend Wend Wend End Sub

API-1148

GetCombination

5.12.2.7 GetCombination

GetCombination ( nCombo, nSetID ) Description: This method returns the data for a Nastran SPCADD/MPCADD Combination Set. Input: None Output: INT4 nCombo

Number of entries in the combination.

INT4 nSetID

The IDs of the constraint sets in the combination.

Return Code: FE_BAD_TYPE

This is not a Combination Constraint Set.

FE_NOT_AVAILABLE

No constraint sets are in the Combination.

Remarks/Usage: None Example: None

PutCombination

API-1149

5.12.2.8 PutCombination

PutCombination ( nCombo, nSetID ) Description: This method sets the data in a Nastran SPCADD/MPCADD Combination Set. Input: INT4 nCombo

Number of entries in the combination.

INT4 nSetID

The IDs of the constraint sets in the combination.

Output: None Return Code: FE_NOT_EXIST

One or more Combined Constraint Sets specfiied do not exist.

FE_BAD_TYPE

One or more Combined Constraint Sets specfiied is a Constraint Combination.

Remarks/Usage:

Example: None

API-1150

PutCombination

API-1151 5.13 Connection Property Objects Connection Property objects correspond to the connection properties in your model. They are derived from Entity objects so, in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for Connection Property objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feConnectionProp method of the FEMAP Application object to create Connection Property objects.

5.13.1 Connection Property Object Properties Connection Properties are always stored with a SetID=1, and the ID equal to the connection property ID. In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property

Description

INT4 color

The connection property color.

INT4 layer

The layer associated with the connection property.

INT4 type

Type of Connection, 0=Contact, 1=Glued.

STRING title

Connection property title (maximum 79 characters).

BOOL flag[0..3] or VARIANT vflag

Array of connection property flags.

INT4 flagI[0..3] or VARIANT vflagI

Array of connection property flags accessed as an INT4. Most flags are simply true/false and can be accessed with flag( ).

REAL8 pval[0..399] or VARIANT vpval

Array of connection property values.

INT4 plyval[0..1] or VARIANT vplyval

Array of material IDs.

Additional Properties INT4 plymat[0..1]

Same as plyval, but returns/sets entire array as a VARIANT.

INT4 pmat[0..234]

Same as pval, but returns/sets entire array as a VARIANT.

5.13.2 Accessing Connection Property Properties You can access the individual properties for the Property object by referencing the properties described above, and the data contained in the table below. For example, to retrieve the coefficient of static friction in direction 1, use:

API-1152 mu = pr.pval(0)

This approach provides great flexibility, but can be slow if you are going to work with a large number of properties. In this case it is best to access the data using “Additional Properties”. These all set and return entire arrays of values in one reference. For example, you could write: Dim pr as Object Set pr = femap.feConnectionProp Dim v as Variant pr.Get(1) v = pr.pmat v(0)=0.3 v(1)=0.35 pr.pmat = v pr.Put(1)

This code loads Connection Property 1, retrieves the entire array of real values into “v”, updates the two coefficients of friction, puts the entire array back, and saves the updated Connection Property definition. While the code is slightly longer than simply accessing the individual properties, performance will be better using this approach.

API-1153 5.13.2.1 Connection Property Array Index Values

In general, most of the property data is simply stored in the various array properties. The location of the specific property data is defined in the following table.

Property Values (continued) CONTACT Flags 0 1 Values 0

Static Friction 1

1

Static Friction 2

2

Dynamic Friction

3

Decay

4

Viscous

5

Damping

6 7 8 9 10 11 12 13 14 15

Abaqus Small Slide

16

Abaqus Hcrit

17

Abaqus Ext Zone

18

Abaqus Smoothing

19

Abaqus Tied

20

Abaqus Weight

API-1154 Property Values (continued) CONTACT 21

Abaqus Thickness

22

Abaqus Slide Dist

23

Abaqus Friction Type

24

Abaqus Friction Value

25

Abaqus Max Shear

26

Abaqus Adjust

27

Abaqus Approach

28 29 30

Dyna Type

31

Dyna One Way

32

Dyna Offset

33

Dyna Penalty

34

Dyna Birth

35

Dyna Death

36

Dyna Scale Slave Penalty Stiffness

37

Dyna Scale Master Penalty Stiffness

38

Dyna Over Slave Thick

39

Dyna Over Master Thick

40

Dyna Scale Slave Thick

41

Dyna Scale Master Thick

42

Dyna Scale Coulomb Friction

43

Dyna Scale Viscous Friction

44

Dyna Out SF

45

Dyna Out MF

46

Dyna Rigid Func

47

Dyna Rigid Force

48

Dyna Rigid Unload

API-1155 Property Values (continued) CONTACT 49

Dyna Tie Norm

50

Dyna Tie Shear

51

Dyna Tie Norm Exp

52

Dyna Tie Shear Exp

53

Dyna Tie Function

54

Dyna Erode Sym

55

Dyna Erode Node

56

Dyna Erode Solid

57

Dyna Constraint

58

Dyna Static Friction

59

Dyna Dynamic Friction

60

Dyna Exponential Decay

61

Dyna Viscous

62

Dyna Viscous Damping

... 65

Marc Tolerance

66

Marc Sep Force

67

Marc Inter

68

Marc Disp

69

Marc Friction

70

Marc Stick Vel

71

Marc Fr Stress

72

Marc Con Type

73

Marc Con Shell

74

Marc Tol Bias

75

Marc Beam

76

Marc Sep

77

Marc Sep Max

API-1156 Property Values (continued) CONTACT 78

Marc Sep Stress

79

Marc Slip Coeff

80

Marc Slip F

81

Marc Slip Trans

82

Marc Rig Avg

83

Marc Rig Cutoff

… 100

Sinda Type

101

Sinda Coeff1

102

Sinda View

103

Sinda Coeff2

104

Sinda Cfunc1

105

Sinda Vfunc

106

Sinda Cfunc2

107

Sinda Cfunc3

… 115

Ansys Closure

116

Ansys Min Pen

117

Ansys Max Pen

118

Ansys Close Stiff

119

Ansys Open Stiff

120

Ansys Norm Tol

121

Ansys Pinball

122

Ansys Surf Off

123

Ansys Max Fric

124

Ansys Penalty Type

125

Ansys Node Cont

126

Ansys Unsym

API-1157 Property Values (continued) CONTACT 127

Ansys No Spurious

128

Ansys Shell Thick

129

Ansys Cont Surf

130

Ansys Init Pen

131

Ansys Time Inc

… 135

NE/Nastran Scale Fact

136

NE/Nastran Fric Stiff

137

NE/Nastran Static Friction

138

NE/Nastran Pen Type

139

(9.2+) NE/Nastran

Max Penetration

140

(9.2+) NE/Nastran

Max Adjust Ratio

141

(9.2+) NE/Nastran

Max Penetration Fraction

142

(9.2+)

NE/Nastran Penetration Surface Offset

143

(9.2+)

NE/Nastran Max Activation Distance

144

(9.2+)

NE/Nastran Max Activation Distance ( Automatic )

... 145

NX/Nas601 Type

146

NX/Nas601 NSide

147

NX/Nas601 Birth Time

148

NX/Nas601 Death Time

149

NX/Nas601 Initial Penetration

150

NX/Nas601 Penetration Depth

151

NX/Nas601 Segment Normal

152

NX/Nas601 Offset Type

153

NX/Nas601 Offset Distance

154

NX/Nas601 Initial Penetration Duration

155

NX/Nas601 Consistant Stiffness

API-1158 Property Values (continued) CONTACT 156

NX/Nas601 Tied

157

NX/Nas601 Tied Tolerance

158

NX/Nas601 Surface Extention Factor

159

NX/Nas601 Friction Model

160

NX/Nas601 Friction Parameter 1

161

NX/Nas601 Friction Parameter 2

162

NX/Nas601 Friction Parameter 3

163

NX/Nas601 Friction Parameter 4

164

NX/Nas601 Friction Parameter 5

165

NX/Nas601 Eps N

166

NX/Nas601 Eps T

167

NX/Nas601 CFactor 1

168

NX/Nas601 Penetration Tolerance

169

NX/Nas601 Normal Modulus

170

NX/Nas601 Tangential Modulus

171

NX/Nas601 Tensile Freeing Force

172

NX/Nas601 Total Freeing Force

173

(9.3+)NX/Nas601

174

(9.3+)

NX/Nas601 GAPVAL

175

(9.1+)

NX/Nas101 Max Force Iterations

176

(9.1+) NX/Nas101

177

(9.1+)

NX/Nas101 Normal Penalty Factor

178

(9.1+)

NX/Nas101 Tangential Penalty Factor

179

(9.1+)

NX/Nas101 Force Convergence Tolerance

180

(9.1+) NX/Nas101

Number of Allow Contact Changes

181

(9.1+) NX/Nas101

Contact Precentage

DISP

...

Max Status Iterations

API-1159 Property Values (continued) CONTACT 182

(9.1+) NX/Nas101

183

(9.1+)

NX/Nas101 Contact Status

184

(9.1+)

NX/Nas101 Friction

185

(9.1+)

NX/Nas101 Min Contact Search Dist

186

(9.1+)

NX/Nas101 Max Contact Search Dist

187

(9.1+) NX/Nas101

Averaging Method

188

(9.1+) NX/Nas101

Initial Penetration

189

(9.2+)

NX/Nas101 Gluing Search Distance

190

(9.2+)

NX/Nas101 Gluing Penalty Factor

191

(9.3+) NX/Nas101

Gluing Zoffset

192

(9.3+) NX/Nas101

INTORD

193

(9.3+)

194

(10.0+)

NX/Nas101 NCHG TYPE

195

(10.0+)

NX/Nas101 PENTYPE

196

(10.0+)

NX/Nas101 CSTRAT

197

(10.1+)

NX/Nas101 GLUETYPE

198

(10.1+) NX/Nas101

PENGLUE

199

(10.1+) NX/Nas101

PENAUTO

Shell Offset

NX/Nas101 REFINE

... 200

(9.2+)

NX/Nas701 Friction

201

(9.2+)

Marc Friction

202

(9.2+)

AnsyNX/Nas601s Friction

203

(10.0+)

204

(10.0+)NX/Nas601SLIDVEL

205

(10.0+)

NX/Nas601BOND_EXT

NX/Nas601OCHECK

API-1160 Property Values (continued) CONTACT 206

(10.0+)NX/Nas601GAPBIAS

207

(10.0+)

NX/Nas601OFFDET

208

(10.0+)

NX/Nas601RTPCHECK

209

(10.0+)

NX/Nas601RTPMAX

210

(10.0+)

NX/Nas601FRICDLY

211

(10.0+)NX/Nas601TFORCE

212

(10.0+)NX/Nas701

213

(10.0+)

NX/Nas701 OFFDET

214

(10.0+)

NX/Nas701 GAPBIAS

215

(10.1+) NX/Nas101

PENADAPT

216

(10.1+)NX/Nas101

PENETFAC

217

(10.3+)Dyna

A Soft Constraint

218

(10.3+)Dyna

A Soft Constraint Scale Factor

219

(10.3+)Dyna

A Airbag Load Curve ID

220

(10.3+)Dyna

A Maximum Parametric Segment Search

221

(10.3+)Dyna

A Segment Based Contact Options

222

(10.3+)Dyna

A Search Depth

223

SLIDVEL

(10.3+)Dyna

A Number of Cycles Between Sorts (or Frequency Curve IDx (-1))

224

(10.3+)

Dyna A Cycles Between Contact Force Updates

225

(10.3+)

Dyna B Maximum Penetration Distance

226

(10.3+)

Dyna B Thickness Option

227

(10.3+)

Dyna B Shell Thickness Considerations

228

(10.3+)

Dyna B Shooting Node Logic (0=Enabled)

229

(10.3+)

Dyna B Symmetry Plane (0=Off)

(10.3+)

230

Dyna B Primary Segment Searching Option (0=2D; 1=3D)

231

(10.3+)

Dyna B Solid Element Thickness

API-1161 Property Values (continued) CONTACT 232

(10.3+)

Dyna B Solid Element Stiffness

233

(10.3+)

Dyna C Improve Implicit Convergence (1=On; 2=Off)

234

(10.3+)

Dyna C Ignore Initial Penetration Options

235

(10.3+)

Dyna C Penetration Depth Reduction Factor (or Time Curve ID X(-1))

236

(10.3+)

Dyna C Stiffness Time Step (or Time Curve IDx (-1))

237

(10.3+)

Dyna C Angle Tolerance for Feature Line (radians)

238 239 240 241 242

(10.3+)

Dyna D Split Quadrilateral Contact Segments into 2 triangles

(10.3+)

Dyna D Time Interval between Shell Penetration Reports

(10.3+)Dyna

D Scale Factor for Neighbor Segment Contact

(10.3+)Dyna

D Incremental Displacement Update for Tied Contacts (1=On)

(10.3+)Dyna

4=ABCD)

ABCD Level (0=Off, 1=A, 2=AB, 3=ABC,

243

(10.3+)

NE/Nastran Maximum Normal Activation Distance

244

(10.3+)

NE/Nastran Maximum Radial Activation Distance

245

(10.3+)

NE/Nastran Maximum Allowable Slip

(10.3+)

NE/Nastran MAXAD OR MAXNAD/MAXRAD tog-

246

gle

5.13.3 Connection Property Object Methods There following methods are available in addition to the standard entity methods.

API-1162

SetDefaults

5.13.3.1 SetDefaults

SetDefaults ( ContactTolerance ) Description: This method initializes default values for the connection property. Input:

REAL8 ContactTolerance

Specifies the “Max Contact Search Distance” for NX Nastran Linear Contact, the “Search Distance” for NX Nastran Glued Contact, and the “Tied Tolerance” for NX Nastran Advnaced Nonlinear Contact. If you specify 0, FEMAP will automatically calculate the value (10 x model merge tolerance)

Output: None Return Code: None Remarks/Usage: This is a simple method that allows default values to be placed into the object. Example: None

API-1163 5.14 Connection Region Objects Connection Region objects correspond to the connection regions in your model (in earlier versions, they were called Contact Objects and Contact Segments). They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for Connection Region objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feConnectionRegion method of the FEMAP Application object to create Connection Region objects. For compatibility with earlier releases, you can also use feContact to create this object, however this method is obsolete.

5.14.1 Connection Region Object Properties Connection Regions are always stored with a SetID=1, and the ID equal to the region ID. In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property

Description

INT4 color

The connection region color.

INT4 layer

The layer associated with the connection region.

STRING title

The connection region title (maximum 79 characters).

INT4 refNode

Reference node ID.

INT4 output

Output on nodes(7) or elements(8).

BOOL rigid

Flag to indicate rigid segment.

REAL8 box[0..1][0..2] or VARIANT vbox

Locations at corners of contact box: box[0][xyz] is the minimum dimension, box[1][xyz] is the maximum.

INT4 count

The number of items in the connection region contact list

INT4 type

Type of Region (0=Normal/Contact, 1=Fluid, 2=Bolt, 3=Rotor)

INT4 refCSys

Reference Coordinate System

REAL8 offset

Region Offset Distance

Fluid Region Options BOOL FluidZFreeOn

True = Fluid Z Free Surface is On

REAL8 FluidZFree

Z-Depth of Fluid Free Surface

REAL8 FluidDensity

Density of Fluid

INT4 FluidXZSymmetry

Symmetry Condition for XZ Plane (0=None, 1=Symmetric, 2=Antisymmetric)

API-1164 Property

Description

INT4 FluidYZSymmetry

Symmetry Condition for YZ Plane (0=None, 1=Symmetric, 2=Antisymmetric)

REAL8 FluidCharLength

Fluid Characteristic Length

REAL8 FluidExactIntegFact

Exact Integration factor for fluid

Rotor Region Options INT4 RotorLoadSet

ID of Load Set containing Rotational body loads to be applied

REAL8 RotorOverallDamp

Frequency for Overall Damping (W3)

REAL8 RotorMatlDamp

Frequency for Material Damping (W4)

REAL8 RotorSpeed

Rotor speed (not currently used)

GetContactList

API-1165

5.14.2 Connection Region Object Methods There following methods are available in addition to the standard entity methods. 5.14.2.1 GetContactList

GetContactList ( listcount, listTYPE, entityID, faceID, expanded ) Description: This method retrieves information from the contact list in a connection region. Input: None Output: INT4 listcount

The number of entries in the other arrays.

INT4 listTYPE[0..N]

The type of entity in each list entry. Refer to Section 3.3.6, "Entity Types" for a list of types.

INT4 entityID[0..N]

The ID of the entity in each list entry. The ID of the entity face in each list entry (if applicable).

INT4 faceID[0..N]

INT4 expanded[0..N]

For elements, this represents element face, while for curves and surfaces, 1=Positive Side, 2=Negative Side. Flag indicating that this is an expanded node/element entry from a geometry contact.

Return Code: FE_NOT_EXIST

There are no entries in the list.

Remarks/Usage: This method simply retrieves the information about the contact lists from the current object. You must first load that data - either using the Get( ) method, or by loading it yourself with PutContactList( ). Example: None

API-1166

PutContactList

5.14.2.2 PutContactList

PutContactList ( listcount, listTYPE, entityID, faceID, expanded ) Description: This method loads information into the contact list for a connection region. Input: INT4 listcount

The number of entries in the other arrays.

INT4 listTYPE[0..N]

The type of entity specified in each entry. Refer to Section 3.3.6, "Entity Types" for a list of types.

INT4 entityID[0..N]

The ID of the entity specified in each entry. The ID of the face referenced by each entry (if applicable).

INT4 faceID[0..N]

INT4 expanded[0..N]

For elements, this represents element face, while for curves and surfaces, 1=Positive Side, 2=Negative Side. Flag indicating whether each entry is an expanded node/element entry from a geometric contact.

Output: None Return Code: None Remarks/Usage: This method stores information into the list of the current object. Any previous list information in that object is lost. This method does not store that information to the model database. After using this function, you must call Put( ) if you want to store the updated list in the database. Example: None

GetEntities

API-1167

5.14.2.3 GetEntities

GetEntities ( entityTYPE, bGetExpanded ) Description: This retrieves a set that contains all of the entities of a given type referenced by the region. Input: None Output: INT4 entityTYPE

The type of entity that you want to select. Refer to Section 3.3.6, "Entity Types" for a list of types.

BOOL bGetExpanded

If True, the region is first expanded - any selected geometric entities will also select associated nodes or elements.

Return Code: None Remarks/Usage: None Example: This method must be used with a Set statement to define the Set object. Dim App As femap.model Set App = GetObject(,"femap.model") Dim regn As femap.ConnectionRegion Set regn = App.feConnectionRegion Dim s As Object regn.Get(1) Set s = regn.GetEntities( FT_ELEM, True ) This sequence creates the “s” Set object with the list of elements that are referenced by Region 1.

API-1168

AddContact

5.14.2.4 AddContact

AddContact ( listTYPE, entityID, faceID ) Description: This method loads information into the contact list for a connection region. Unlike PutContactList, this method loads one entry at a time Input: INT4 listTYPE

The type of entity to be added. Refer to Section 3.3.6, "Entity Types" for a list of types.

INT4 entityID

The ID of the entity specified The ID of the face referenced by each entity (if applicable).

INT4 faceID

For elements, this represents element face, while for curves and surfaces, 1=Positive Side, 2=Negative Side.

Output: None Return Code: None Remarks/Usage: This method stores information into the list of the current object. After using this function, you must call Put( ) if you want to store the updated list in the database. Example: None

SetOutputType

API-1169

5.14.2.5 SetOutputType

SetOutputType ( entityTYPE ) Description: This method sets the output type for the connection region. Input: INT4 entityTYPE Output: None Return Code: None Remarks/Usage: None Example: None

The type of entity for output. Refer to Section 3.3.6, "Entity Types" for a list of types.

API-1170

SetOffset

5.14.2.6 SetOffset

SetOffset ( offset ) Description: This method sets the offset for the connection region. Input: REAL8 offset Output: None Return Code: None Remarks/Usage: None Example: None

The value of the region offset.

GetOffset

5.14.2.7 GetOffset

GetOffset ( offset ) Description: This method returns the offset for the connection region. Input: None Output: REAL8 offset Return Code: None Remarks/Usage: None Example: None

The value of the region offset.

API-1171

API-1172

SetRigidType

5.14.2.8 SetRigidType

SetRigidType ( offset ) Description: This method defines whether a connection region is rigid. Input: BOOLEAN isRigid Output: None Return Code: None Remarks/Usage: None Example: None

Set to True for a rigid region, False otherwise

IsRigidType

5.14.2.9 IsRigidType

IsRigidType ( void ) Description: This method indicates whether a connection region is rigid. Input: None Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Region is not rigid ( FE_OK = Rigid )

API-1173

API-1174

Expand

5.14.2.10 Expand

Expand ( void ) Description: This method expands all of the geometric connection regions in the model. Input: None Output: None Return Code: FE_FAIL

The specified expansion did not work.

Remarks/Usage: This method expands all connection regions, not just the one in the current object. Example: None

Compress

API-1175

5.14.2.11 Compress

Compress ( void ) Description: This method compresses all of the geometric connection regions in the model. Input: None Output: None Return Code: FE_FAIL

The specified compression did not work.

Remarks/Usage: This method compresses all connection regions, not just the one loaded into the current object. Example: None

API-1176

Clear

5.14.2.12 Clear

Clear ( void ) Description: This method clears and resets the contents of the connection region Input: None Output: None Return Code: None Remarks/Usage: None Example: None

Reverse

5.14.2.13 Reverse

Reverse ( void ) Description: This method reverses the direction of the connection region. Input: None Output: None Return Code: None Remarks/Usage: None Example: None

API-1177

API-1178

Enable

5.14.2.14 Enable

Enable ( bEnable ) Description: This method is used to enable or disable Fluid, Bolt or Rotor connection region. Input: BOOL bEnable

Flag to set the state of the connection region.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Region is not proper type.

IsEnabled

5.14.2.15 IsEnabled

IsEnabled ( void ) Description: This method checks the state of the connection region. Input: None Output: None Return Code: FE_FAIL

Region is disabled.

FE_OK

Region is enabled.

Remarks/Usage: None Example: None

API-1179

API-1180

IsEnabled

API-1181 5.15 Connection Objects Connection objects correspond to the connections in your model. They are derived from Entity objects, so, in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for Connection objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feConnection method of the FEMAP Application object to create Connection objects.

5.15.1 Connection Object Properties Connections are always stored with a SetID=1, and the ID equal to the connection ID. In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property

Description

INT4 color

The connection color.

INT4 layer

The layer associated with the connection.

INT4 propID

ID of the connection property referenced by the connection

INT4 type

Not currently used

STRING title

The title of the connection (max 79 char)

INT4 contact[0..1] or VARIANT vcontact

The IDs of the Master and Slave connection regions.

API-1182 5.15.2 Connection Object Methods The following methods are available in addition to the standard entity methods.

Prop

API-1183

5.15.2.1 Prop

Prop ( void ) Description: This method creates and returns a Connection Property object that is loaded with the property data referenced by a connection Input: None Output: None Return Code: None Remarks/Usage:

Example: None

API-1184

Enable

5.15.2.2 Enable

Enable ( bEnable ) Description: This method enables and disables connections Input: BOOL bEnable

Enable connection if True, disables it if False

Output: None Return Code: None Remarks/Usage: Enabled connections are translated for analysis, disabled ones are not. Example: None

IsEnabled

API-1185

5.15.2.3 IsEnabled

IsEnabled ( void ) Description: This method indicates whether a connection is enabled Input: None Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Indicates connection is disabled (FE_OK if enabled)

API-1186 5.16 CSys Objects CSys objects correspond to the coordinate systems in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for CSys objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feCSys method of the FEMAP Application object to create CSys objects.

5.16.1 CSys Object Properties CSys are always stored with a SetID=1, and the ID equal to the coordinate system ID. The predefined global coordinate systems cannot be accessed or modified using this object. Therefore you must always specify an ID > 2. Property REAL8 x REAL8 y

Description The coordinates of the origin of the coordinate system. They are always specified in global rectangular coordinates.

REAL8 z REAL8 rotx REAL8 roty REAL8 rotz

The rotations, in degrees, of the coordinate system axes, from the global coordinate axes. These are ordered rotations about X, then the rotated Y axis, then the doubly-rotated Z. No matter what definition coordinate system is used, these are always relative to global coordinates.

INT4 layer

The ID of the layer associated with the coordinate system.

INT4 color

The coordinate system color.

INT4 type

The coordinate system type: 0=Rectangular, 1=Cylindrical, 2=Spherical.

INT4 defCSys

The ID of the definition coordinate system.

STRING title

Coordinate system title (maximum 79 characters).

Additional Properties REAL8 origin[0..2]

Accesses all three coordinates of the origin as a Variant. Same as using x, y, and z independently.

REAL8 rotation[0..2]

Accesses all three components of the rotations as a Variant. Same as using rotx, roty, and rotz independently.

REAL8 matrix[0..8]

The 3 x 3 direction cosine matrix that corresponds to the orientation of the coordinate system in global rectangular. The rows of the array are stored sequentially.

XYPoints

API-1187

5.16.2 CSys Object Methods 5.16.2.1 XYPoints

XYPoints ( origin, xaxis, xyplane ) Description: This method automatically updates the origin and rotations of a coordinate system based on three locations that you specify Input: REAL8 origin[0..2]

The origin of the coordinate system. This, and all other locations, must be specified in global rectangular coordinates.

REAL8 xaxis[0..2]

The coordinates of a point along the X Axis of the coordinate system.

REAL8 xyplane[0..2]

The coordinates of a point in the XY Plane of the coordinate system. This point does not need to lie along any of the coordinate axes.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

The operation failed. You probably did not correctly specify one of the coordinate locations

API-1188

5.17 Curve Objects Curve objects correspond to the curves in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for curve objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feCurve method of the FEMAP Application object to create Curve objects.

5.17.1 Curve Object Properties Curves are always stored with a SetID=1, and the ID equal to the Curve ID. In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property

Description

INT4 layer

The ID of the layer associated with the curve.

INT4 color

The curve color.

INT4 type

The curve type: 0=Line, 1=Arc, 2=Circle, 3=Spline, 4=BSpline, 5=Solid, 6=Combined.

INT4 StdPoint[0..4] or VARIANT vStdPoint

The IDs of the points referenced by lines, arcs, circles, splines and solid lines.

INT4 attrPID

The Property ID of the meshing attribute.

REAL8 attrOrient[0..2] or VARIANT vattrOrient

The orientation vector meshing attribute. Either a location or vector (based on attrOffsetType), specified in global rectangular coordinates.

REAL8 attrOffset[0..1][0..2] or VARIANT vattrOffset

The meshing attribute defining the offset to be applied to elements. attrOffset[0][0..2] is at the beginning of the curve, attrOffset[1][0..2] is at the end. Specified in global rectangular coordinates. If doing radial offsets, attrOffset[0][0..2] contains the radial origin, attrOffset[1][0] contains the radial offset distance.

INT4 attrOrientType

Type of orientation for property attribute: 0=Orient By Vector, 1=Orient By Location, 2=Orient By Vector, Reversed Element Direction, 3=Orient By Location, Reversed Element Direction.

INT4 attrOffsetType

Type of offset for property attribute: 0=Offset by Vector, 1=Offset Radial, 2=Offset by Location.

INT4 attrRelease[0..1][0..5] or VARIANT vattrRelease

The release flags for the start and end of the curve. Nonzero if the associated degree of freedom is released.

API-1189 Property

Description

INT4 Engine

The ID of the solid modeling engine used with this curve: 0=None, 1=Parasolid, 2=ACIS.

INT4 Address

The solid modeling engine geometry address.

BOOL Suppressed

True if this curve is suppressed (will not be meshed).

INT4 InternalToBoundary

If this curve is internal to a multi-surface boundary, this property contains the ID of the boundary, otherwise 0.

INT4 InCombinedCurve

If this curve is used to define a combined curve, this property contains the ID of the combined curve, otherwise 0

Mesh Sizing INT4 MeshElem[0..159] or VARIANT vMeshElem

The number of elements associated with the curve or this segment of a custom mesh size.

REAL8 MeshBias[0..159] or VARIANT vMeshBias

The bias factor for these elements.

REAL8 MeshMaxParam[0..159] or VARIANT vMeshMaxParam

The s parametric value along the curve at the end of this segment. If you do not use a custom mesh size, this will always have MeshMaxParam[0] = 1.0.

BOOL LengthSpacing[0..159] or VARIANT vLengthSpacing

True if elements are sized with equal length spacing. False if parametric spacing is used.

BOOL CenterBias[0..159] or VARIANT vCenterBias

True if center biasing is used. False if end biasing is used.

BOOL GeometricBias[0..159] or VARIANT vGeometricBias

True if geometric biasing is used. False if linear biasing is used.

BOOL HasCustomMesh

True if this is a custom mesh size, False otherwise.

For BSplines only INT4 BSplineOrder

The order of the BSpline.

INT4 BSplineNumPoints

The number of keypoints used to define the BSpline.

INT4 BSplinePoint[0..109] or VARIANT vBSplinePoint

The IDs of the points used to define the Bspline.

REAL8 BSplineKnot[0..120] or VARIANT vBSplineKnot

The knot values associated with the BSpline.

API-1190 Property REAL8 BSplineWeight[0..120] or VARIANT vBSplineWeight

Description The weight values associated with the control points of the BSpline.

REAL8 BSplineT0 REAL8 BSplineT1 BOOL BSplinePlanar

True if the BSpline is planar.

BOOL BSplineClosed

True if the BSpline is closed.

BOOL BSplineRational

True if the BSpline is rational.

BOOL BSplinePeriodic

True if the BSpline is periodic.

API-1191 5.17.1.1 The Curve Types

If you look at the curve Type property, you will see a list of seven available types. In fact, these seven types really comprise three categories: Standard Curves, BSplines and Solid Curves. Each category stores its point definitions differently. The following table shows the point definition for each curve type. Curve Type

Point Location

Description

Line

StdPoint

[0]=start, [1]=end

Arc

StdPoint

[0]=center, [1]=start, [2]=along in direction from start to end, [3]=end

Circle

StdPoint

[0]=center, [1]=start/end, [2]=90 deg., [3]=180 deg., [4]=270 deg.

Spline

StdPoint

[0]=start, [1]=first keypoint, [2]=second keypoint, [3]=end

BSpline

BSplinePoint

[0]=start, ... [BSplineNumPoints-1]=end

Solid Combined

Points are not defined, unless this is a solid curve that represents a line, in which case [0]=start,[1]=end. StdPoint

[0]=start, [1]=end

API-1192

Reverse

5.17.2 Curve Object Methods 5.17.2.1 Reverse

Reverse ( void ) Description: This method reverses the direction of a curve. Input: None Output: None Return Code: FE_FAIL

Unable to reverse the curve, probably a solid curve.

Remarks/Usage: This method will not work for solid curves. Example: None

EndPoints

API-1193

5.17.2.2 EndPoints

EndPoints ( startPt, endPt ) Description: This method retrieves the IDs of the endpoints of the current curve. Input: None Output: INT4 startPt INT4 endPt

The IDs of the starting and ending points on the curve.

Return Code: FE_FAIL

Unable to get the endpoints. Possibly curve has not been loaded, or not stored.

Remarks/Usage: This method works for any stored curve. You must first call Get to load the curve from the database. It will not work with data you have loaded into a curve object but not yet stored. Example: None

API-1194

ArcCircleInfo

5.17.2.3 ArcCircleInfo

ArcCircleInfo ( center, normal, startPt, endPt, angle, radius ) Description: This method retrieves information about arcs and circles. Input: None Output: REAL8 center[0..2]

The coordinates of the center of the circle.

REAL8 normal[0..2]

The vector components of the arc/circle normal direction.

REAL8 startPt[0..2]

The coordinates of the starting point of the curve.

REAL8 endPt[0..2]

The coordinates of the ending point of the curve.

REAL8 angle

The subtended angle of the curve.

REAL8 radius

The radius of the curve.

Return Code: FE_FAIL

Unable to get the information. Possibly the curve has not been loaded, or is not the correct type.

Remarks/Usage: This method will only work for arc and circle curve types - not for solids that represent those types. Example: None

ParamToXYZ

API-1195

5.17.2.4 ParamToXYZ

ParamToXYZ ( s, xyz ) Description: This method retrieves the coordinates along the curve of a specified parametric location. Input: REAL8 s

The parametric value (0Load->Map Output From Model... Similar to MapFromModelToSet, but allows specification of Element or Node IDs, along with Element Face IDs, if needed, instead of specifying the TargetSet in the MapOutput object. Input: INT4 SourceModel

ID of the source model containing output to be mapped.

INT4 GroupID

ID of group of entities in source model from which to map output.

INT4 OutputSetID

ID of output set in source model containing data from which to map output.

INT4 OutputVector

ID of output vector in source model containing data from which to map output.

VARIANT vID

Array of element or node IDs where data is to be mapped.

VARIANT vElFace

Array of element faces where data is to be mapped.

Output: None Return Code: FE_FAIL

Unable to get the map data. Possibly data is not stored or source group does not exist in source model or required properties are set incorrectly.

Remarks/Usage: This method will work with any output, but will only map to types specified in LoadType. All listed properties in the MapOutput object, except TargetSet, must be set before calling this method. Example:

MapFromModelToSet2

API-1433

MapFromModelToSet2 ( SourceModel, Group ID, OutputSetID, OutputVector ) Sub Main Dim App As femap.model Set App = feFemap() Dim rc As Integer Dim Velems As Variant Dim Vfaces As Variant Dim num As Long Dim map As femap.MapOutput Set map = App.feMapOutput Dim targElemSet As femap.Set Set targElemSet = App.feSet '1 Pick Target Elements and Faces App.feGetElementFaces(" Pick Faces", 0, , , num, Velems, Vfaces ) '2 Set No-map preference map.MapOption = femap.FMO_INTERP '3 Set Default values map.DefaultMapValue1 = 0.0 map.DefaultMapValue2 = 0.0 map.DefaultMapValue3 = 0.0 '4 Set element/Node conversion If any map.MapToType = femap.FMP_STANDARD '5 Set output load Type map.loadType = femap.FMLT_EPRESSURE

API-1434

MapFromModelToSet2

MapFromModelToSet2 ( SourceModel, Group ID, OutputSetID, OutputVector ) '6 Get Model ID Dim modelID As Long Dim vModelID As Variant Dim numM As Long Dim modelName As String modelName ="" rc = App.feAppGetAllModels(numM, vModelID) For e=0 To numM rc = App.feAppGetModelName(vModelID(e), modelName) If modelName App.ModelName Then modelID = vModelID(e) Debug.Print modelID; " - "; modelName Exit For End If Next '7 Output data to map from Dim srcGroup As Long Dim srcSet As Long Dim srcVector As Long srcGroup = 1 srcSet = 2 srcVector = 9000000 ret = map.MapFromModelToSet2( modelID, srcGroup, srcSet,srcVector, Velems, Vfaces) End Sub

MapFromModelToLocation

API-1435

5.38.2.3 MapFromModelToLocation

MapFromModelToLocation ( SourceModel, Group ID, OutputSetID, OutputVector, XLoc, YLoc, ZLoc, vMapVal, vUnitX, vUnitY, vUnitZ ) Description: This method maps output data from a source model to any locations in space. Input: INT4 SourceModel

ID of the source model containing output to be mapped.

INT4 GroupID

ID of group of entities in source model from which to map output.

INT4 OutputSetID

ID of output set in source model containing data from which to map output.

INT4 OutputVector

ID of output vector in source model containing data from which to map output.

REAL8 XLoc[0...N-1] or VARIANT vXLoc

Array of global rectangular x-coordinates for locations where data is to be mapped. N = number of locations for which mapped values are returned.

REAL8 YLoc[0...N-1] or VARIANT vYLoc

Array of global rectangular y-coordinates for locations where data is to be mapped. N = number of locations for which mapped values are returned.

REAL8 ZLoc[0...N-1] or VARIANT vZLoc

Array of global rectangular z-coordinates for locations where data is to be mapped. N = number of locations for which mapped values are returned.

Output: VARIANT vMapVal

Output value mapped to location. Values ordered 0..N-1 in VARIANT

VARIANT vUnitX

Unit x vector (global, rectangular) of corresponding mapped output value.

VARIANT vUnitY

Unit y vector (global, rectangular) of corresponding mapped output value.

VARIANT vUnitZ

Unit z vector (global, rectangular) of corresponding mapped output value.

Return Code: FE_FAIL Remarks/Usage:

Unable to get the map data. Possibly data is not stored or group does not exist in model or required MapObject properties are set incorrectly.

API-1436

MapFromModelToLocation

MapFromModelToLocation ( SourceModel, Group ID, OutputSetID, OutputVector, XLoc, YLoc, ZLoc, vMapVal, vUnitX, vUnitY, vUnitZ ) This method will work with any output, but will only map to types specified in LoadType. All listed properties must be set on the MapOutput object before calling this method. Example: None

API-1437 5.39 Material Objects Material objects correspond to the materials in your model. They are derived from Entity objects so, in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for materials. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feMatl method of the FEMAP Application object, or the Matl method of the Element object to create Material objects.

5.39.1 Material Object Properties Materials are always stored with a SetID=1, and the ID equal to the material ID. In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property

Description

INT4 color

The material color.

INT4 type

Type of material (0=Iso, 1=2D Ortho, 2=3D Ortho, 3=2D Aniso, 4=3D Aniso, 5=Hyperelastic, 6=General, 7=Fluid).

INT4 subtype

Subtype for general materials.

INT4 layer

The ID of the layer associated with the material.

STRING title

Material title (maximum 79 characters).

BOOL bval[0..9] or VARIANT vbval

Array of Boolean flags.

INT4 ival[0..24] or VARIANT vival

Array of integer values.

REAL8 mval[0..199] or VARIANT vmval

Array of real values.

INT4 fval[0..49] or VARIANT vfval

Array of function IDs.

INT4 tval[0..69] or VARIANT vtval

Additional function IDs.

Additional Properties REAL8 mmat[0..199]

Same as mval, but returns/sets entire array as a VARIANT.

INT4 imat[0..24]

Same as ival but returns/sets entire array as a VARIANT.

API-1438 Property

Description

INT4 fmat[0..49]

Same as fval, but returns/sets entire array as a VARIANT.

INT4 tmat[0..69]

Same as tval, but returns/sets entire array as a VARIANT

The following properties can be accessed directly from the value arrays, or by name using the following references. REAL8 Ex REAL8 Ey

Young’s Modulus

REAL8 Ez REAL8 Gx REAL8 Gy

Shear Modulus

REAL8 Gz REAL8 Nuxy REAL8 Nuyz

Poisson’s Ratio

REAL8 Nuxz REAL8 Alphaxx REAL8 Alphayy REAL8 Alphazz REAL8 Alphaxy

Coefficient of Thermal Expansion

REAL8 Alphayz REAL8 Alphazx REAL8 Kxx REAL8 Kyy REAL8 Kzz REAL8 Kxy

Thermal Conductivity

REAL8 Kyz REAL8 Kzx REAL8 Cp

Heat Capacity

REAL8 Density

Density

REAL8 Damping

Damping Coefficient

REAL8 RefTemp

Reference Temperature

API-1439 Property REAL8 TensionLimit1 REAL8 TensionLimit2 REAL8 CompressionLimit1 REAL8 CompressionLimit2

Description Limit Stress/Strain in Tension

Limit Stress/Strain in Compression

REAL8 ShearLimit

Limit Stress/Strain in Shear

REAL8 TsaiWu

Tsai-Wu Interaction Factor

5.39.1.1 Accessing Material Properties

You can access the individual properties for the Material object by referencing the properties described above, and the data contained in the table below. For example, to retrieve the Young’s Modulus for an Isotropic material, use: E = mt.mval(0)

or rho = mt.mval(49)

for density. This method provides great flexibility, but can be slow if you are going to work with a large number of properties. In this case, it is best to access the data using “Additional Properties”. These all set and return entire arrays of values in one reference. For example, you could write: Dim mt as Object Set mt = femap.feMatl Dim v as Variant mt.Get(1) v = mt.mmat v(0)=30.0E6 v(49)=0.1 mt.mmat = v mt.Put(1)

This code loads Material 1, retrieves the entire array of real values into “v”, updates the Young’s modulus and density, puts the entire array back, and saves the updated material definition. While the code is slightly longer than simply accessing the individual properties, performance will be better using this approach. 5.39.1.2 Material Array Index Values

In general, most of the material data is simply stored in the various array properties. The location of the specific property data is defined in the following table. The IDs of the functions used for function dependence of the standard properties (accessed in FEMAP by pressing the Function button on the Material dialog boxes) can be accessed by looking in the following table under the “Real Values” section. There you should identify the property that you want, and call the tval property with the same index as the mval property that you are looking for.

API-1440

Value

Value

Description

Locations

HYPER_POLYORD(i)

Strain Energy Polynomial Order for Hyperelastic

ival[0],ival[1]

NONLINEAR_TYPE

Nonlinear Type (0=None/Linear, 1=Nonlinear Elastic, 2=Plastic, 3=Elasto-Plastic

ival[2]

HARDENING_TYPE

Hardening Data Type

ival[3]

YIELD_TYPE

Yield Criterion (0=von Mises, 1=Tresca, 2=Mohr-Coloumb, 3=Drucker-Prager)

ival[4]

CREEP_TYPE

Creep Type (0=None, 1=Empirical, 2=Tabular)

ival[5]

CREEP_EMPIRICAL_FORM(i)

Empirical Creep Law Format Flags

ival[6..9]

DP_HARDENING_DATA_TYPE

Drucker-Prager Hardening data type

ival[10]

HAS_STRAIN_LIMITS

Flag if material uses strain limits instead of stress limits

bval[0]

FLUID IS LIQUID

Flag if a fluid type material is a liquid vs. a gas

bval[1]

Integer Values

Boolean Values

OPT_FRONT_SIDE

bval[2]

OPT_REV_SIDE

bval[3] Flag to write D1 in Nastran Hyperelastic material as Zero

bval[4]

E(i)

Young's modulus

mval[0..2]

G(i)

Shear modulus

mval[3..5]

NU(i)

Poisson's ratio

mval[6..8]

GMATRIX_3D(i)

Upper triangle of 6x6 3D anisotropic elastic matrix.

mval[9..29]

GMATRIX_2D(i)

Upper triangle of 3x3 2D anisotropic elastic matrix.

mval[30..35]

THERMAL_EXPANSION(i)

Thermal expansion coefficients.

mval[36..41]

THERMAL_CONDUCTIVITY(i)

Thermal conductivity coefficients.

mval[42..47]

THERMAL_CAPACITY

Specific Heat

mval[48]

DMATRIX_HYP_D1_ZERO Real Values

Locations

API-1441

Value

Description

Locations

DENSITY

Material density

mval[49]

DAMPING

Damping coefficient

mval[50]

TEMPERATURE

Reference temperature

mval[51]

TENSION_LIMIT(i)

Stress allowable in tension

mval[52..53]

COMPRESSION_LIMIT(i)

Stress allowable in compression

mval[54..55]

SHEAR_LIMIT

Stress allowable in shear

mval[56]

TSAI_WU_INTERACTION

Tsai_wu interaction factor

mval[57]

AMATRIX_HYP(i)

Hyperelastic Amatrix values

mval[58..78]

DMATRIX_HYP(i)

Hyperelastic Dmatrix values

mval[79..83]

HARDENING_SLOPE

Plasticity Hardening Slope

mval[84]

YIELD_LIMITS(i)

Plasticity Yield Limits - Initial Yield Stress, Friction Angle, additional yield limits

mval[85..89]

CREEP_THRESHOLD_STRESS

Creep Threshold Stress

mval[90]

CREEP_REF_TEMP

Creep Reference Temperature

mval[91]

CREEP_TEMP_DEP_RATE

Temperature Dependent Creep Rate

mval[92]

CREEP_EMPIRICAL_COEFF(i)

Empirical Creep Law Coefficients

mval[93..99]

HEAT GENERATION

Heat Generation Value

mval[100], or tval[57]

REFERENCE ENTHALPY

Enthalpy for Phase Change

mval[101]

PHASE CHANGE TEMP

Temperature for Phase Change Onset

mval[102]

PHASE CHANGE TEMP RANGE

Temperature Range for Phase Change

mval[103]

LATENT HEAT OF FUSION

Latent heat of Fusion

mval[104]

SPECIFIC HEAT ABOVE PHASE

Specific heat above Phase Change Temp

mval[105]

OPT EMISSIVITY

Optical - Emissivity

mval[106]

OPT EMISSIVITY REV

Optical - Emissivity, Reverse Side

mval[107]

OPT ABSORPTIVITY

Optical - Absorptivity

mval[108]

OPT ABSORPTIVITY REV

Optical - Absorptivity, Reverse Side

mval[109]

OPT TRANSMISSIVITY SOLAR

Optical - Solar Transmissivity

mval[110]

OPT TRANSMISSIVITY IR

Optical - InfraRed Transmissivity

mval[111]

OPT REFLECTIVITY SOLAR

Optical - Solar Reflectivity

mval[112]

API-1442

Locations

Value

Description

Locations

OPT REFLECTIVITY SOLAR REV

Optical - Solar Reflectivity, Reverse Side

mval[113]

OPT REFLECTIVITY IR

Optical - InfraRed Reflectivity

mval[114]

OPT REFLECTIVITY IR REV

Optical - InfraRed Reflectivity, Reverse

mval[115]

GAS CONSTANT

Fluid Gas Constant

mval[116] or tval[58]

DYNAMIC VISCOSITY

Fluid Dynamic Viscosity

mval[117] or tval[59]

PRANDTL NUMBER

Prandtl Number

mval[118] or tval[60]

ELECTRICAL RESISTIVITY

Electrical Resistivity

mval[119]

EXPERIMENTAL_FUNCTIONS(i)

IDs of Hyperelastic Experimental Data Functions

fval[0..4]

NONLINEAR_FUNCTION

ID of function for Plasticity

fval[5]

CREEP_FUNCTIONS(i)

Tabular Model Creep Function IDs

fval[6..8]

DP_YIELD_FUNCTION

ID of Drucker-Prager Yield Function

fval[9]

OPT EMISSIVITY FUNCTION

ID of Optical Emissivity Function

fval[10]

OPT_EMISSIVITY REV FUNCTION

ID of Optical Emissivity Rev Side Function

fval[11]

OPT ABSORPTIVITY FUNCTION

ID of Optical Absorptivity Function

fval[12]

OPT ABSORPTIVITY REV FUNC

ID of Optical Absorptivity Rev Side Function

fval[13]

OPT TRANSMISSIVITY SOLAR FUNC

ID of Solar Transmissivity Function

fval[14]

OPT TRANSMISSIVITY IR FUNC

ID of InfraRed Transmissivity Function

fval[15]

OPT REFLECTIVITY SOLAR FUNC

ID of Solar Reflectivity Function

fval[16]

OPT REFLECTIVITY SOLAR REV FUNC

ID of Solar Reflectivity, Rev Side Function

fval[17]

OPT REFLECTIVITY IR FUNC

ID of InfraRed Reflectivity Function

fval[18]

OPT REFLECTIVITY IR REV FUNC

ID of InfraRed Reflectivity Rev Side Function

fval[19]

ELECTRICAL RESISTIVITY FUNC

ID of Electrical Resistivity Function

fval[20]

Function Values

AutoComplete

API-1443

5.39.2 Material Object Methods 5.39.2.1 AutoComplete

AutoComplete ( void ) Description: This method automatically fills out additional properties in the material object. Input: None Output: None Return Code: None Remarks/Usage: Often you want to define a material using a particular type - for example, orthotropic. In some cases however FEMAP will need to use that material as another type - for example, anisotropic. To do this successfully, all of the properties, not just the ones for the defined type need to be completed. This method will automatically compute, using the standard definitions in FEMAP, the required properties. Only standard structural properties are supported - E, G, NU, GMATRIX_2D, GMATRIX_3D, THERMAL_EXPANSION, and THERMAL_CONDUCTIVITY, and the TENSION_LIMIT and COMPRESSION_LIMIT are currently supported. You should call this method after completing your material definition, and immediately before calling Put to store the material in the database. Example: None

API-1444 5.40 Node Objects Node objects correspond to the nodes in your model. They are derived from Entity objects so, in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for nodes. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feNode method of the FEMAP Application object to create Node objects.

5.40.1 Node Object Properties Nodes are always stored with a SetID=1, and the ID equal to the node ID. In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property REAL8 x REAL8 y

Description These are the coordinates of the node. They are always specified in global rectangular coordinates.

REAL8 z VARIANT xyz

The coordinates of the node as a Variant

INT4 layer

The ID of the layer associated with the node.

INT4 color

The node color.

BOOL permBC[0..5] or VARIANT vpermBC

An array of flags telling whether the corresponding degrees of freedom are constrained (True) or free (False) as permanent constraints.

INT4 type

The node type (0=Node, 1=Scalar, 2=Extra).

INT4 defCSys

The ID of the definition coordinate system.

INT4 outCSys

The ID of the output coordinate system.

INT4 superelementID

The ID of the superelement that contains this node (0=None/ Residual)

Additional Properties REAL8 xyz[0..2]

Accesses all three coordinates of a node as a Variant. Same as using x, y, and z independently

API-1445

API-1446

GetAll

5.40.2 Node Object Methods 5.40.2.1 GetAll

GetAll ( entID, x, y, z, layer, color, type, defCSys, outCSys, permBC ) Description: This method retrieves an entity with the specified ID. Input: INT4 entID

ID of the entity to retrieve.

Output: REAL8 x REAL8 y REAL8 z INT4 layer INT4 color INT4 type

Refer to the property descriptions for each of these items. permBC is returned in an integer array, even though it contains only True/False values.

INT4 defCSys INT4 outCSys INT4 permBC[0..5] Return Code: FE_FAIL

The specified entity does not exist.

Remarks/Usage: Unlike the standard Get method, this function returns all of the properties as arguments. If you need to get all of the property data anyway, calling this will be faster than multiple calls to retrieve each property individually. Example: None

GetAllArray

API-1447

5.40.2.2 GetAllArray

GetAllArray ( setID, numNode, entID, xyz, layer, color, type, defCSys, outCSys, permBC ) Description: This method retrieves arrays of values for a set of nodes. Input: INT4 setID

ID of the set that contains the node IDs to retrieve. If 0, retrieve all nodes in the model.

Output: INT4 numNode

The number of nodes for which data is being returned.

INT4 entID[0..numNode-1]

Each entry is the ID of the associated node.

REAL8 xyz[0..(3*numNode)-1]

The coordinates of the node. There are 3 entries, x, y, z for each node.

INT4 layer[0..numNode-1]

The ID of the layer for the node.

INT4 color[0..numNode-1]

The color of the node.

INT4 type[0..numNode-1]

The type of the node.

INT4 defCSys[0..numNode-1]

The definition coordinate system of the node.

INT4 outCSys[0..numNode-1]

The output coordinate system of the node.

INT4 permBC[0..(6*numNode)-1]

Flags indicating the permanent constraints on the node. 0=off, 1=on. There are 6 entries, corresponding to the degrees of freedom for each node.

Return Code: FE_FAIL

Unable to retrieve data from the selected nodes.

Remarks/Usage: This method is the fastest way to retrieve information about a large number of nodes. Example: None

API-1448

GetCoordArray

5.40.2.3 GetCoordArray

GetCoordArray ( setID, numNode, entID, xyz ) Description: This method retrieves arrays of coordinates for a set of Nodes Input: INT4 setID

ID of the set that contains the node IDs to retrieve. If 0, retrieve all nodes in the model

Output: INT4 numNode

The number of nodes for which data is being returned.

INT4 entID[0..numNode-1]

Each entry is the ID of the associated node

REAL8 xyz[0..(3*numNode)-1]

The coordinates of the node. There are 3 entries, x, y, z for each node.

Return Code: FE_FAIL

Unable to retrieve data from the selected nodes.

Remarks/Usage: This is a simpler form of GetAllArray, if you simply need the nodal coordinates. Example: None

PutAll

API-1449

5.40.2.4 PutAll

PutAll ( entID, x, y, z, layer, color, type, defCSys, outCSys, permBC ) Description: This method stores an entity with the specified ID. Input: INT4 entID

The ID of the entity to store.

REAL8 x REAL8 y REAL8 z INT4 layer INT4 color INT4 type

Refer to the property descriptions for each of these items. permBC is loaded in an integer array, even though it contains only True/False values.

INT4 defCSys INT4 outCSys INT4 permBC[0..5] Output: None Return Code: FE_FAIL

Unable to store the entity with the specified ID.

Remarks/Usage: Unlike the standard Put method, this function loads all of the properties as arguments. If you are updating all of the properties before storing an entity, this function will be faster than multiple calls to load each property individually. Example: None

API-1450

PutAllArray

5.40.2.5 PutAllArray

PutAllArray ( numNode, entID, xyz, layer, color, type, defCSys, outCSys, permBC ) Description: This method stores multiple node entities with the specified data. Input: INT4 numNode

The number of nodes to create (i.e. the number of entries in the arrays)

INT4 entID[0..numNode-1]

The IDs of the nodes to store.

REAL8 xyz[0..(3*numNode)-1] INT4 layer[0..numNode-1] INT4 color[0..numNode-1] INT4 type[0..numNode-1] INT4 defCSys[0..numNode-1]

Refer to the property descriptions for each of these items. xyz is an array of the nodal coordinates, there are 3 entries for each node (must be in global rectangular coordinates). permBC is loaded in an integer array, even though it contains only True/ False values. It contains six values per node.

INT4 outCSys[0..numNode-1] INT4 permBC[0..(6*numNode)-1] Output: None Return Code: FE_FAIL

Unable to store the entity with the specified ID.

Remarks/Usage: This is the fastest “Put” method if you have a large number of nodes to create. All data can be accumulated in arrays and then transferred in one call. Example: None

GetClosest

API-1451

5.40.2.6 GetClosest

GetClosest ( xyz ) Description: This method finds the Node closest to the desired location and loads it into the current object Input: REAL8 xyz[0..2]

The coordinates of the location of interest.

Output: None Return Code: FE_NOT_EXIST Remarks/Usage: None Example: None

Unable to find closest Node.

API-1452 5.41 Optim Objects Optim objects correspond to the Design Optimization definitions in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for Optim objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feOptim method of the FEMAP Application object to create Optim objects.

5.41.1 Optim Object Properties Optim are always stored with their SetID = 1, and the ID varying from 1 to N, depending on the order in which the item was created. Each object contains a specific type of information: goal, vary or limit. You must look at the total collection of Optim objects to assemble the full design optimization definition.

Property

Description

INT4 type

The Optim object type: 1=Goal, 2=Vary, 3=Limit.

INT4 goal

Goal of optimization (only if type=1): 0=None,1=MinWeight

INT4 vary

Optimization variable: 0=None,1=RodArea,2=RodTorsion, 3=BarArea, 4=BarI1, 5=BarI2, 6=BarTorsion, 7=PlateThickness

INT4 limit

Optimization limit: 0=None, 1=NodXDisp, 2=NodYDisp,3=NodZDisp, 4=NodXRDisp, 5=NodYRDisp,6=NodZRDisp, 7=RodAxialStress,8=RodTorsionStress, 9=RodAxialStrain, 10=RodTorsionStrain, 11=BarAxialStress, 12=BarMaxStress, 13=BarMinStress, 14=BarAxialStrain, 15=BarMaxStrain, 16=BarMinStrain, 17=PltXNormalStress, 18=PltYNormalStress, 19=PltXYShearStress, 20=PltMaxPrinStress, 21=PltMinPrinStress, 22=PltVonMisesStress, 23=PltXNormalStrain, 24=PltYNormalStrain, 25=PltXYShearStrain, 26=PltMaxPrinStrain, 27=PltMinPrinStrain, 28=PltVonMisesStrain

INT4 cycles

The number of design cycles.

INT4 varyType

The type of data to vary. 11=Property

INT4 varyID

Property ID to vary.

INT4 varyExtraID

Not used.

BOOL varyPct

If True, max/min specified as %, otherwise as values.

REAL8 varyMin

Minimum allowable value for variable.

REAL8 varyMax

Maximum allowable value for variable.

REAL8 varyDelta

Maximum change in variable before new analysis is required.

API-1453 Property

Description

INT4 respType

Response on: Node=7 or Property=11.

INT4 respID

ID of node or property for response.

REAL8 respMin

Minimum allowable response.

REAL8 respMax

Maximum allowable response.

5.41.2 Optim Object Methods There are no Optim object-specific methods. Only the standard entity methods are available.

API-1454 5.42 Output Objects Output objects correspond to the Output data in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for Output objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feOutput method of the FEMAP Application object to create Output objects.

5.42.1 Output Object Properties Output objects are always stored with their SetID equal to the ID of the output set/step that they reference, and the ID equal to the output vector ID of the type of data stored in the vector. Output vector IDs can vary from version to version of FEMAP. The best way to determine the standard IDs used is to simply read results into FEMAP and see what vectors are created. In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information.

Property

Description

STRING title

Output vector title (maximum 79 characters).

INT4 component[0..19] or VARIANT vcomponent

Component vectors. Either zero, or the IDs of the X,Y,Z components, or the IDs of the corresponding elemental corner output. See below.

INT4 category

General category of output: 0=Any, 1=Disp, 2=Accel, 3=Force, 4=Stress, 5=Strain, 6=Temp, others=User.

INT4 location

The location where the output is computed and stored. Nodal = 7, Elemental Centroid or Element Corner = 8.

BOOL nonlinear

If True, this result cannot be linearly combined.

INT4 hascomponent

If 1, component[0..2] are the X,Y,Z component values. If 2, data at end of beams. If 3, reverse data at second end of beam.

BOOL centroidtotal

If True, this vector has centroidal or nodal output.

REAL8 maxval

The maximum value in the output vector.

REAL8 minval

The minimum value in the output vector.

REAL8 absmaxval

The maximum absolute value of any value in the output vector.

INT4 maxvalID

The ID of the node/element where the maxval occurs.

INT4 minvalID

The ID of the node/element where the minval occurs.

API-1455 Property REAL8 Value[1..N]

Description The output values. The index must be the ID of the node/element where the output value is stored. The value for any node or element where no output exists will be 0.0. This property can be used to manipulate results one value at a time. In general, however, it will be faster to use one or more of the output methods that manipulate entire output vectors.

API-1456 5.42.1.1 Output Components

The components are 20 vector IDs of other vectors that are "components" of the current vector. There are several possible ways these components are used: 1. The current vector contains the vector magnitude of 3 other vectors that are in the global X, Y, and Z components of similar data:

In this case, Components 0, 1, and 2 are the vector IDs of the X, Y, and Z component vectors, respectively. An example of this type of usage is Vector 1 (TOTAL TRANSLATION), which has Component 0=2(X TRANSLATION), Component 1=3(Y TRANSLATION) and Component 2=4(Z TRANSLATION). These components MUST be defined for deformed/animated plotting to work correctly. Components 3 through 19 must be 0 for this case. 2. The current vector contains data which should be plotted in a specific global direction:

In this case, if plotting should occur in Global X, then Component 0 must equal the current Vector ID. If Global Y, then Component 1 = current Vector ID, and if Global Z then Component 2 = current Vector ID. All other components must equal 0 (i.e. only 1 nonzero component and it is equal to the current Vector ID). 3. The current vector contains elemental centroidal data for elements which also have related data at the element corners:

In this case, the number of nonzero components depends upon the number of nodes on this element type (for example, output for linear plates has 4 components-4 nodes/corners). The nonzero components must equal the Vector IDs of the same type of data at the corners of the elements. For example, if the current vector is 7033 (CENTROIDAL VON MISES STRESS) then component 0 may be 20133 (CORNER1 VON MISES STRESS) and component 1 may be 30133 (CORNER2 VON MISES STRESS) etc. If you do not have corner data, all components must be 0. If the components are defined, FEMAP will use the corner data (not the data in the current vector) when calculating data at nodes (like for contouring). If no components are defined, FEMAP will assign the centroidal value to each node when doing the calculation. 4. The current vector contains line element data at one end of the element:

This is just like the previous case. The first component is the vector ID of the End A data, the second component is the vector ID of the End B data. This type of output also requires special settings in the comp_dir variable. Set comp_dir to 2 if you want FEMAP to use the data as it is specified. Set comp_dir to 3 if you want FEMAP to reverse the sign of all End B data when doing a beam diagram. This adjusts for differences in sign conventions between the various analysis programs. 5. All other cases:

All components should be 0. This will force the data in the current vector to be used for every case. The current setting of the View Option Deformed Style - Deformed Direction option will control the deformed plotting direction.

API-1457 5.42.1.2 Output Vector IDs

If you are writing your own Neutral files, you can choose any vector IDs that you want, but the normal conventions used by FEMAP are as follows: Standard Output Vectors Category

1 to 9,999,999 (magnitude, or non-complex)

Vector Range

Type

1 to 2,999

Nodal output

3,000 to 5,999

Line element output

6,000 to 59,999

Plate element output

60,000 to 79,999

Solid element output

80,000 to 89,999

Output on any element type

90,000 to 99,999

PATRAN elemental output

100,000 to 299,999

Plate corner output

1,000,000 to 6,000,000

Laminate Ply output

9,000,000 to 9,999,999

User Defined output

10,000,001 to 20,000,000 (complex, phase)

Same definition as magnitude data, just add 10,000,000 to IDs.

20,000,001 to 30,000,000 (complex, real)

Same definition as magnitude data, just add 20,000,000 to IDs.

30,000,001 to 40,000,000 (complex, imaginary)

Same definition as magnitude data, just add 30,000,000 to IDs.

API-1458

Corner

5.42.2 Output Object Methods There following methods are available in addition to the standard entity methods. 5.42.2.1 Corner

Corner ( cornerID ) Description: This method creates and returns an Output object that is loaded with the output data attached to the selected element corners. Input:

INT4 cornerID

The cornerID to retrieve. Valid corners are from 1 to 8, depending on the element shape where the results are stored. Normally plate output uses corners 1,2,3,4. Hexahedral elements use corners 1,2,3,4,5,6,7,8. Wedges use 1,2,3 and 5,6,7. Tets use 1,2,3 and 5.

Output: None Return Code: None Remarks/Usage: This method will only work if the current Output object has been loaded with results that reference either elemental centroidal data that also has corner data available, or with nodal data that has vector components (in which the valid corners will be 1,2,3). Example: None

X

API-1459

5.42.2.2 X

X ( void ) Description: This method creates and returns an Output object that is loaded with the output data attached to X component of an output vector. Input: None Output: None Return Code: None Remarks/Usage: This method is only appropriate if the current object has been loaded with results from a nodal output vector that contains vector components (Like Total Displacement, which references X Displacement, Y Displacement, and Z Displacement). Example: None

API-1460

Y

5.42.2.3 Y

Y ( void ) Description: This method creates and returns an Output object that is loaded with the output data attached to Y component of an output vector. Input: None Output: None Return Code: None Remarks/Usage: This method is only appropriate if the current object has been loaded with results from a nodal output vector that contains vector components (Like Total Displacement, which references X Displacement, Y Displacement, and Z Displacement). Example: None

Z

API-1461

5.42.2.4 Z

Z ( void ) Description: This method creates and returns an Output object that is loaded with the output data attached to Z component of an output vector. Input: None Output: None Return Code: None Remarks/Usage: This method is only appropriate if the current object has been loaded with results from a nodal output vector that contains vector components (Like Total Displacement, which references X Displacement, Y Displacement, and Z Displacement). Example: None

API-1462

GetFromSet

5.42.2.5 GetFromSet

GetFromSet ( setID, entID ) Description: This method retrieves data from a specified output vector, in a specified set. Input: INT4 setID

The Output Set containing the output vector to retrieve

INT4 entID

The Output Vector to retrieve

Output: None Return Code: None Remarks/Usage: This method is simply a shortcut to replace the standard Get() method. Assuming “Out” is an Output object, the following two sequences are identical... Out.GetFromSet( s, v ) and Out.setID = s Out.Get( v ) Example: None

GetOutputList

API-1463

5.42.2.6 GetOutputList

GetOutputList ( listcount, ID, value ) Description: This method retrieves an output vector. Input: None Output: INT4 listcount

The number of entries in the ID and value arrays.

INT4 ID[0..N]

The IDs of the nodes/elements where output is available..

REAL8 value[0..N]

The output values associated with the corresponding node/element in the ID array.

Return Code: FE_NOT_EXIST

There are no entries in the list.

Remarks/Usage: This method simply retrieves the information about the output from the current object. You must first load that data - either using the Get( ) method, or by creating it yourself. Example: None

API-1464

GetOutputListAtID

5.42.2.7 GetOutputListAtID

GetOutputListAtID ( ID, defaultVal, value ) Description: This method retrieves data from an output vector at specified IDs. Input: INT4 ID[0..N]

The IDs of the nodes/elements where output is being requested

REAL8 defaultVal[0..N]

The default values to be returned if no output is found for a specified ID. This can be specified as NULL, in which case all default values will be 0.0.

Output: REAL8 value[0..N]

The output values associated with the corresponding node/element in the ID array.

Return Code: FE_FAIL

Unable to retrieve IDs from the list or allocate memory for processing.

Remarks/Usage: This method simply retrieves the information about the output from the current object. You must first load that data - either using the Get( ) method, or by creating it yourself. Example: None

GetOutputListAtSet

API-1465

5.42.2.8 GetOutputListAtSet

GetOutputListAtSet ( idSET, defaultVal, value ) Description: This method retrieves data from an output vector at IDs selected in a Set. Input: INT4 idSET

The ID of a Set object that contains the IDs of the entities to retrieve.

REAL8 defaultVal[0..N]

The default values to be returned if no output is found for a specified ID. This can be specified as NULL, in which case all default values will be 0.0.

Output: REAL8 value[0..N]

The output values associated with the corresponding node/element in the ID array.

Return Code: FE_FAIL

Unable to retrieve IDs from the list or allocate memory for processing.

Remarks/Usage: This method simply retrieves the information about the output from the current object. You must first load that data - either using the Get( ) method, or by creating it yourself. Example: None

API-1466

PutOutputList

5.42.2.9 PutOutputList

PutOutputList ( listcount, ID, value ) Description: This method stores data to an output vector. Input: INT4 listcount

The number of entries in both the ID and value arrays.

INT4 ID[0..N]

The IDs of the nodes/elements where output is being created.

REAL8 value[0..N]

The output values associated with the corresponding node/element in the ID array.

Output: None Return Code: FE_NOT_EXIST

There are no entries in the list - you specified listcount = 0.

Remarks/Usage: This method stores information into the current object. Any previous output information in that object is lost. You cannot use this method to add to an existing output vector. This method does not store that information to the model database. After using this function, you must call Put( ) if you want to store the updated lists in the database. Example: None

InitScalarAtNode

API-1467

5.42.2.10 InitScalarAtNode

InitScalarAtNode ( outputSET, vec, title, category, nonlinear ) Description: This method initializes the current object to prepare it for creating an output vector containing a single scalar value at each node. Input: INT4 outputSET

The ID of the output set where this vector will be stored.

INT4 vec

The ID of the output vector which will be created.

STRING title

The Output vector title (maximum 79 characters).

INT4 category

General category of output: 0=Any, 1=Disp, 2=Accel, 3=Force, 4=Stress, 5=Strain, 6=Temp, others=User.

BOOL nonlinear

If True, this result cannot be linearly combined.

Output: None Return Code: None Remarks/Usage: This method simply sets up the various properties in a convenient manner for this style of output. You can override the parameters that are created automatically by directly manipulating the properties after the object has been initialized. Calling this method destroys any output that was previously loaded into the object. Example: None

API-1468

GetScalarAtNode

5.42.2.11 GetScalarAtNode

GetScalarAtNode ( listcount, ID, value ) Description: This method is identical to GetOutputList. It is simply an alias available for use with objects initialized with InitScalarAtNode.

GetScalarAtNodeSet

API-1469

5.42.2.12 GetScalarAtNodeSet

GetScalarAtNodeSet ( idSET, value ) Description: This method is identical to GetOutputListAtSet - except that the default values are not specified, and are always just 0.0. It is simply an alias available for use with objects initialized with InitScalarAtNode.

API-1470

PutScalarAtNode

5.42.2.13 PutScalarAtNode

PutScalarAtNode ( listcount, ID, value ) Description: This method is identical to PutOutputList. It is simply an alias available for use with objects initialized with InitScalarAtNode.

InitVectorAtNode

API-1471

5.42.2.14 InitVectorAtNode

InitVectorAtNode ( outputSET, vec, vecX, vecY, vecZ, title, category, nonlinear ) Description: This method initializes the current object to prepare it for creating output containing vector data at each node. Actually four output values are created for each node, the magnitude, and the X, Y and Z components. Input: INT4 outputSET

The ID of the output set where this vector will be stored.

INT4 vec

The ID of the output vector which will be created to contain the magnitude of the output vectors.

INT4 vecX

The ID of the output vector which will be created to contain the X components of output.

INT4 vecY

The ID of the output vector which will be created to contain the Y components of output.

INT4 vecZ

The ID of the output vector which will be created to contain the Z components of output.

STRING title

The output vector title (maximum 79 characters).

INT4 category

General category of output: 0=Any, 1=Disp, 2=Accel, 3=Force, 4=Stress, 5=Strain, 6=Temp, others=User.

BOOL nonlinear

If True, the components of this result cannot be linearly combined. The magnitude can never be linearly combined.

Output: None Return Code: None Remarks/Usage: This method initializes the current object to contain the magnitude results, and creates three additional objects which are the X, Y and Z components of the vector results. All of the “component” properties are properly initialized to indicate that this is nodal vector data. Example: None

API-1472

GetVectorAtSingleNode

5.42.2.15 GetVectorAtSingleNode

GetVectorAtSingleNode ( ID, x, y, z ) Description: This method retrieves the components of the results stored in an object that contains nodal vector data. Input: INT4 ID

The ID of the node to retrieve output

Output: REAL8 x

The X component of the results

REAL8 y

The Y component of the results

REAL8 z

The Z component of the results

Return Code: None Remarks/Usage: This method simply retrieves the information about the output from the current object. You must first load that data - either using the Get( ) method, or by creating it yourself. The object must contain nodal vector data for this method to work properly. Only the X,Y,Z components are returned. If you want to retrieve the magnitude data, you can do that by calling GetScalarAtNode - even though the object contains vector data. All results are returned in the coordinate system in which they were stored. Results must be stored in global rectangular coordinates to be useful in other post-processing functions. Example: None

GetVectorAtNode

API-1473

5.42.2.16 GetVectorAtNode

GetVectorAtNode ( listcount, ID, x, y, z ) Description: This method retrieves the components of the results stored in an object that contains nodal vector data. Input: None Output: INT4 listcount

The number of entries in the ID and x,y,z arrays.

INT4 ID[0..N]

The IDs of the nodes/elements where output is available.

REAL8 x[0..N]

The X component of the values associated with the corresponding node/element in the ID array.

REAL8 y[0..N]

The Y component of the values associated with the corresponding node/element in the ID array.

REAL8 z[0..N]

The Z component of the values associated with the corresponding node/element in the ID array.

Return Code: None Remarks/Usage: This method simply retrieves the information about the output from the current object. You must first load that data - either using the Get( ) method, or by creating it yourself. The object must contain nodal vector data for this method to work properly. Only the X,Y,Z components are returned. If you want to retrieve the magnitude data, you can do that by calling GetScalarAtNode - even though the object contains vector data. All results are returned in the coordinate system in which they were stored. Results must be stored in global rectangular coordinates to be useful in other post-processing functions. Example: None

API-1474

GetVectorAtNodeSet

5.42.2.17 GetVectorAtNodeSet

GetVectorAtNodeSet ( idSET, x, y, z ) Description: This method retrieves the components of the results stored in an object that contains nodal vector data for all IDs stored in the specifed Set. Input: INT4 idSET

The ID of a Set object that contains the IDs of the entities to retrieve.

Output: REAL8 x[0..N]

The X component of the values associated with the corresponding node/element in the Set.

REAL8 y[0..N]

The Y component of the values associated with the corresponding node/element in the Set.

REAL8 z[0..N]

The Z component of the values associated with the corresponding node/element in the Set.

Return Code: None Remarks/Usage: This method simply retrieves the information about the output from the current object. You must first load that data - either using the Get( ) method, or by creating it yourself. The object must contain nodal vector data for this method to work properly. Only the X,Y,Z components are returned. If you want to retrieve the magnitude data, you can do that by calling GetScalarAtNodeSet - even though the object contains vector data. All results are returned in the coordinate system in which they were stored. Results must be stored in global rectangular coordinates to be useful in other post-processing functions. Example: None

PutVectorAtNode

API-1475

5.42.2.18 PutVectorAtNode

PutVectorAtNode ( listcount, ID, x, y, z ) Description: This method loads nodal vector data into an object. The object must first be initialized with InitVectorAtNode. Input: INT4 listcount

The number of entries in the ID and x,y,z arrays.

INT4 ID[0..N]

The IDs of the nodes/elements where output is being created.

REAL8 x[0..N]

The X component of the values associated with the corresponding node/element in the ID array.

REAL8 y[0..N]

The Y component of the values associated with the corresponding node/element in the ID array.

REAL8 z[0..N]

The Z component of the values associated with the corresponding node/element in the ID array.

Output: None Return Code: None Remarks/Usage: This method stores information into the current object. Any previous output information in that object is lost. You cannot use this method to add to an existing output vector. This method does not store that information to the model database. After using this function, you must call Put( ) if you want to store the updated lists in the database. You do not have to specify the vector magnitudes with this method - they are computed and created automatically from the components. All results are stored in the coordinate system in which they were supplied. Results must be stored in global rectangular coordinates to be useful in other post-processing functions. Example: None

API-1476

InitScalarAtElem

5.42.2.19 InitScalarAtElem

InitScalarAtElem ( outputSET, vec, title, category, nonlinear ) Description: This method initializes the current object to prepare it for creating an output vector containing a single scalar value at each element. Input: INT4 outputSET

The ID of the output set where this vector will be stored.

INT4 vec

The ID of the output vector which will be created.

STRING title

The output vector title (maximum 79 characters).

INT4 category

General category of output: 0=Any, 1=Disp, 2=Accel, 3=Force, 4=Stress, 5=Strain, 6=Temp, others=User.

BOOL nonlinear

If True, this result cannot be linearly combined.

Output: None Return Code: None Remarks/Usage: This method simply sets up the various properties in a convenient manner for this style of output. You can override the parameters that are created automatically by directly manipulating the properties after the object has been initialized. Calling this method destroys any output that was previously loaded into the object. Example: None

GetScalarAtElem

API-1477

5.42.2.20 GetScalarAtElem

GetScalarAtElem ( listcount, ID, value ) Description: This method is identical to GetOutputList. It is simply an alias available for use with objects initialized with InitScalarAtElem.

API-1478

GetScalarAtElemSet

5.42.2.21 GetScalarAtElemSet

GetScalarAtElemSet ( idSET, value ) Description: This method is identical to GetOutputListAtSet - except that the default values are not specified, and are always just 0.0. It is simply an alias available for use with objects initialized with InitScalarAtElem.

PutScalarAtElem

API-1479

5.42.2.22 PutScalarAtElem

PutScalarAtElem ( listcount, ID, value ) Description: This method is identical to PutOutputList. It is simply an alias available for use with objects initialized with InitScalarAtElem.

API-1480

InitElemWithCorner

5.42.2.23 InitElemWithCorner

InitElemWithCorner ( outputSET, vec, vec1, vec2, vec3, vec4, vec5, vec6, vec7, vec8, title, category, nonlinear ) Description: This method initializes the current object to prepare it for creating output containing a scalar value at the element centroid, and a scalar value at each element corner. Input: INT4 outputSET

The ID of the output set where this vector will be stored.

INT4 vec

The ID of the output vector which will be created to contain the centroidal results.

INT4 vec1 INT4 vec2 INT4 vec3 INT4 vec4 INT4 vec5

The ID of the output vector which will be created to contain the results at the corresponding element corners.

INT4 vec6 INT4 vec7 INT4 vec8 STRING title

The output vector title (maximum 79 characters).

INT4 category

General category of output: 0=Any, 1=Disp, 2=Accel, 3=Force, 4=Stress, 5=Strain, 6=Temp, others=User.

BOOL nonlinear

If True, the components of this result cannot be linearly combined.

Output: None Return Code: None Remarks/Usage: This method initializes the current object to contain the centroid results, and creates additional objects which are the corner results. All of the “component” properties are properly initialized to indicate that this is elemental data with corner values. Example:

InitElemWithCorner

API-1481

InitElemWithCorner ( outputSET, vec, vec1, vec2, vec3, vec4, vec5, vec6, vec7, vec8, title, category, nonlinear ) None

API-1482

GetElemWithCorner

5.42.2.24 GetElemWithCorner

GetElemWithCorner ( listcount, maxcorner, ID, centroid, c1, c2, c3, c4, c5, c6, c7, c8 ) Description: This method retrieves the centroid and corner results stored in an object that contains elemental data with corners. Input: None Output: INT4 listcount

The number of entries in the ID and results arrays.

INT4 maxcorner

The ID of the maximum corner available for this object. For example, if this object contains results on quadrilateral plates, maxcorner will typically equal 4, since results are only available for corners 1,2,3, and 4.

INT4 ID[0..N]

The IDs of the nodes/elements where output is available.

INT4 centroid[0..N]

The results at the element centroid associated with the corresponding node/element in the ID array.

INT4 c1[0..N] INT4 c2[0..N] INT4 c3[0..N] INT4 c4[0..N] INT4 c5[0..N] INT4 c6[0..N] INT4 c7[0..N] INT4 c8[0..N] Return Code: None Remarks/Usage:

The results at the element corners associated with the corresponding node/element in the ID array. Some elements have missing corners. For example, Tetrahedral results are stored on corners 1,2,3 and 5. Wedge results are stored on 1,2,3 and 5,6,7.

GetElemWithCorner

API-1483

GetElemWithCorner ( listcount, maxcorner, ID, centroid, c1, c2, c3, c4, c5, c6, c7, c8 ) This method simply retrieves the information about the output from the current object. You must first load that data - either using the Get( ) method, or by creating it yourself. The object must contain elemental data with corners for this method to work properly. If you only want to retrieve the centroidal data, you can do that by calling GetScalarAtElem - even though the object contains corner data. For models where the output vectors may only contain partial corner data - for example mixed quad/tri models where there is no corner output for the triangles, or at least one missing corner - this method will return the centroidal value for all missing corner data. This only applies to corners where there are some results (below maxcorner). Corners that have no output for all elements are still not returned. Example: None

API-1484

GetElemWithCornerSet

5.42.2.25 GetElemWithCornerSet

GetElemWithCornerSet ( idSET, maxcorner, centroid, c1, c2, c3, c4, c5, c6, c7, c8 ) Description: This method retrieves the centroid and corner results stored in an object that contains elemental data with corners. Results are retrieved for all elements specified in the Set Input: INT4 idSET

The ID of a Set object that contains the IDs of the entities to retrieve.

Output:

INT4 maxcorner

The ID of the maximum corner available for this object. For example, if this object contains results on quadrilateral plates, maxcorner will typically equal 4, since results are only available for corners 1,2,3, and 4.

INT4 centroid[0..N]

The results at the element centroid associated with the corresponding node/element in the Set.

INT4 c1[0..N] INT4 c2[0..N] INT4 c3[0..N] INT4 c4[0..N] INT4 c5[0..N] INT4 c6[0..N]

The results at the element corners associated with the corresponding node/element in the Set. Some elements have missing corners. For example, Tetrahedral results are stored on corners 1,2,3 and 5. Wedge results are stored on 1,2,3 and 5,6,7.

INT4 c7[0..N] INT4 c8[0..N] Return Code: None Remarks/Usage: This method simply retrieves the information about the output from the current object. You must first load that data - either using the Get( ) method, or by creating it yourself. The object must contain elemental data with corners for this method to work properly. If you only want to retrieve the centroidal data, you can do that by calling GetScalarAtElemSet - even though the object contains corner data. For models where the output vectors may only contain partial corner data - for example mixed quad/tri models where there is no corner output for the triangles, or at least one missing corner - this method will return the centroidal value for all missing corner data. This only applies to corners where there are some results (below maxcorner). Corners that have no output for all elements are still not returned.

GetElemWithCornerSet

GetElemWithCornerSet ( idSET, maxcorner, centroid, c1, c2, c3, c4, c5, c6, c7, c8 ) Example: None

API-1485

API-1486

PutElemWithCorner

5.42.2.26 PutElemWithCorner

PutElemWithCorner ( listcount, maxcorner, ID, centroid, c1, c2, c3, c4, c5, c6, c7, c8 ) Description: This method loads elemental centroidal and corner data into an object. The object must first be initialized with InitElemWithCorner. Input: INT4 listcount

The number of entries in the ID and results arrays.

INT4 maxcorner

The ID of the maximum corner available for this object. For example, if this object contains results on quadrilateral plates, maxcorner will typically equal 4, since results are only available for corners 1,2,3, and 4. If you are trying to store results with less than 8 corners, you must still specify all 8 corner values, but you can simply provide dummy values for all corners past maxcorner.

INT4 ID[0..N]

The IDs of the nodes/elements where output is available.

INT4 centroid[0..N]

The results at the element centroid associated with the corresponding node/element in the ID array.

INT4 c1[0..N] INT4 c2[0..N] INT4 c3[0..N] INT4 c4[0..N] INT4 c5[0..N] INT4 c6[0..N]

The results at the element corners associated with the corresponding node/element in the ID array. Some elements have missing corners. For example, Tetrahedral results are stored on corners 1,2,3 and 5. Wedge results are stored on 1,2,3 and 5,6,7.

INT4 c7[0..N] INT4 c8[0..N] Output: None Return Code: None Remarks/Usage: This method stores information into the current object. Any previous output information in that object is lost. You cannot use this method to add to an existing output vector. This method does not store that information to the model database. After using this function, you must call Put( ) if you want to store the updated lists in the database.

PutElemWithCorner

PutElemWithCorner ( listcount, maxcorner, ID, centroid, c1, c2, c3, c4, c5, c6, c7, c8 ) Example: None

API-1487

API-1488

InitScalarAtBeam

5.42.2.27 InitScalarAtBeam

InitScalarAtBeam ( outputSET, vec1, vec2, title, vecstyle, category, nonlinear, bAddEndTitles ) Description: This method initializes the current object to prepare it for creating Beam output vectors for EndA and EndB containing a single scalar value at each element. Input: INT4 outputSET

The ID of the output set where this vector will be stored.

INT4 vec1

The ID of the EndA output vector which will be created.

INT4 vec2

The ID of the EndB output vector which will be created.

STRING title

The output vector title (maximum 79 characters).

INT4 vecstyle

If 1, component[0..2] are the X,Y,Z component values. If 2, data at end of beams. If 3, reverse data at second end of beam

INT4 category

General category of output: 0=Any, 1=Disp, 2=Accel, 3=Force, 4=Stress, 5=Strain, 6=Temp, others=User.

BOOL nonlinear

If True, this result cannot be linearly combined.

BOOL bAddEndTitles

Flag to prepend “End A”, “End B“ to the title.

Output: None Return Code: None Remarks/Usage: None Example: None

PutScalarAtBeam

API-1489

5.42.2.28 PutScalarAtBeam

PutScalarAtBeam ( listcount, ID, v1, v2 ) Description: This method stores data to an output vectors for beam elements. Input: INT4 listcount

The number of the elements where output is being created.

INT4 ID[0..listcount-1]

The IDs of the elements where output is being created.

INT4 v1[0..listcount-1]

The EndA output values associated with the corresponding element in the ID array.

INT4 v2[0..listcount-1]

The EndB output values associated with the corresponding element in the ID array.

Output: None Return Code: None Remarks/Usage: None Example: None

API-1490

FindMaxMin

5.42.2.29 FindMaxMin

FindMaxMin ( idSET, bUseCornersOrComponents, minID, minValue, maxID, maxValue ) Description: This method searches the data that has been loaded to find minimum and maximum values Input: INT4 idSET

The ID of a Set object that contains the node or element IDs to search

BOOL bUseCornersOrComponents

If True, and the object has corner or component data loaded, then those corners will also be searched to find the max/min values. If False, then only the primary vector will be searched.

Output: INT4 minID

The ID of node/element where the minimum value occurs

REAL8 minValue

The minimum output value

INT4 maxID

The ID of the node/element where the maximum value occurs

REAL8 maxValue

The maximum output value

Return Code: None Remarks/Usage: None Example: None

API-1491 5.43 OutputSet Objects OutputSet objects correspond to the output/results sets in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for OutputSet objects. For more information, see Section 5.1, "Common Entity Properties and Methods". . Use the feOutputSet method of the FEMAP Application object to create OutputSet objects.

5.43.1 OutputSet Object Properties OutputSets are always stored with their SetID = 1, and the ID equal to the output set or time step that you are trying to access. OutputSet objects do not contain any of the actual results data; they simply contain the header information for the set.

Property

Description

STRING title

Output set title (maximum 79 characters).

INT4 program

Analysis program where output came from: 0=Unknown, 1=FEMAP Generated, 2=PAL, 3=PAL 2, 4=MSC/NASTRAN, 5=ANSYS, 6=STARDYNE, 7=COSMOS, 8=PATRAN, 9=FEMAP Neutral, 10=ALGOR, 11=SSS/NASTRAN, 12=Comma Separated, 13=UAI/NASTRAN, 14=Cosmic NASTRAN, 15=STAAD, 16=ABAQUS, 17=WECAN, 18=MTAB/ SAP, 19=CDA/Sprint, 20=CAEFEM, 21=I-DEAS, 22=ME/ NASTRAN, 26=CSA/NASTRAN, 28=CFDesign, 31=LSDYNA, 32=MARC, 33=SINDA, 38=NX Nastran.

INT4 analysis

Type of analysis: 0=Unknown, 1=Static, 2=Modes, 3=Transient, 4=Frequency Response, 5=Response Spectrum, 6=Random, 7=Linear Buckling, 8=Design Opt, 9=Explicit, 10=Nonlinear Static, 11=Nonlinear Buckling, 12=Nonlinear Transient, 19=Comp Fluid Dynamics, 20=Steady State Heat Transfer, 21=Transient Heat.

REAL8 value

The output set value. For modal analyses, the modal frequency. For any transient or nonlinear analysis, the time value at this step. For Buckling, the eigenvalue. For static analysis = 0.0

STRING notes

One or more lines of text. Maximum 256 characters. Each line is separated by a CR-LF (0x0D, 0x0A) character pair. The end of the string is terminated by a NULL character.

API-1492

Vector

5.43.2 OutputSet Object Methods 5.43.2.1 Vector

Vector ( vectorID ) Description: This method creates and returns an Output object that is loaded with the data for a specific output vector. Input: INT4 caseID

The ID of the output vector to load.

Output: None Return Code: None Remarks/Usage: The current OutputSet must be loaded with the Set data from the set where you want to retrieve the vector prior to calling this method. The OutputSet ID property is used to define the set where the vector is retrieved. Example: None

OutputVectors

API-1493

5.43.2.2 OutputVectors

OutputVectors ( nVectorSetID ) Description: This method fills a Set object with the IDs of all Output vectors that are in the currently selected Output Set Input: INT4 nVectorSetID

The ID of a Set Object that will receive the IDs of the Output vectors

Output: None Return Code: None Remarks/Usage: You must set the “ID” property of the current object to match the Output Set where you want to retrieve the vectors - this happens automatically if you “Get” the Output Set object. Example: None

API-1494 5.44 Point Objects Point objects correspond to the points in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for point objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the fePoint method of the FEMAP Application object to create Point objects.

5.44.1 Point Object Properties Points are always stored with a SetID=1, and the ID equal to the Point ID. Property REAL8 x REAL8 y

Description These are the coordinates of the point. They are always specified in global rectangular coordinates.

REAL8 z INT4 layer

The ID of the layer associated with the point.

INT4 color

The point color.

INT4 type

The point type: 0=Default, 1=Solid.

INT4 defCSys

The ID of the definition coordinate system.

INT4 attrPID

The Property ID of the meshing attribute.

INT4 engine

The ID of the solid modeling engine used with this point: 0=None, 1=Parasolid, 2=ACIS.

INT4 address

The solid modeling engine geometry address.

REAL8 meshsize

MeshSize at the point. 0.0, unless a point-based mesh size has been defined.

INT4 InCombinedCurve

If the point is internal to a combined curve, this propety contains the ID of the combined curve, otherwise it is 0

Additional Properties REAL8 xyz[0..2]

5.44.2 Point Object Methods

Accesses all three coordinates of a point as a Variant. Same as using x, y, and z independently.

Nodes

API-1495

5.44.2.1 Nodes

Nodes ( numNodes, nodeID ) Description: This method returns the nodes that are attached to this point Input: None Output: INT4 numNodes

The number of nodes returned.

INT4 nodeID[0..numNodes-1]

The IDs of the selected nodes which are attached to the point.

Return Code: FE_FAIL

Unable to return nodes, possibly none exist.

FE_NOT_EXIST

No nodes were attached to the point in the manner you selected.

FE_NO_MEMORY

Insufficient memory to allocate list of attached nodes.

Remarks/Usage: None Example:

API-1496

Nodes

Nodes ( numNodes, nodeID ) The following codes modifies the color of all nodes on Point 4. Sub Main Dim App As femap.model Set App = GetObject(,"femap.model") Dim pt As Object Set pt = App.fePoint Dim nd As Object Set nd = App.feNode Dim rc As Long Dim Count As Long Dim Nodes As Variant Dim i As Long rc = pt.Get (4) rc = pt.Nodes(Count, Nodes) For i = 0 To Count - 1 nd.Get (Nodes(i)) nd.color = 4 nd.Put (0) Next i App.feViewRegenerate(0) End Sub

NodesAsSet

API-1497

5.44.2.2 NodesAsSet

NodesAsSet ( nSetID, bClear ) Description: This method returns the nodes that are attached to this point in a Set Object Input: INT4 nSetID

The ID of the Set Object which receives the Node IDs.

BOOL bClear

If True, the Set is cleared before loading the Node IDs.

Output: None Return Code: FE_FAIL Remarks/Usage: None Example: None

Unable to return nodes, possibly none exist.

API-1498

Curves

5.44.2.3 Curves

Curves ( nCombinedMode, numCurves, curveID ) Description: This method returns the curves that are attached to this point Input:

INT4 nCombinedMode

0=List contains the basic curves that are adjacent to the point, 1=Any curves that are adjacent that are in a Combined Curve are replaced by the ID of the Combined Curve, 2=List contains both the underlying and combined curves.

Output: INT4 numCurves

The number of curves in the returned array

INT4 curveID[0..numCurves-1]

The IDs of the curves.

Return Code: FE_FAIL

Unable to return curves, possibly none exist.

Remarks/Usage: Only points that are on Solids/Sheet Solids can be used with this method. Example: None

CurvesAsSet

API-1499

5.44.2.4 CurvesAsSet

CurvesAsSet ( nCombinedMode, nSetID, bClear ) Description: This method returns the curves that are attached to this point in a Set Object Input:

INT4 nCombinedMode

0=List contains the basic curves that are adjacent to the point, 1=Any curves that are adjacent that are in a Combined Curve are replaced by the ID of the Combined Curve, 2=List contains both the underlying and combined curves.

INT4 nSetID

ID of the Set Object to receive the Curve IDs

BOOL bClear

If True, the Set is cleared before loading the curves

Output: None Return Code: FE_FAIL

Unable to return curves, possibly none exist.

Remarks/Usage: Similar to Curves, except that the attached curves are returned in a Set Object instead of an array. Only points that are on Solids/Sheet Solids can be used with this method. Example: None

API-1500

SurfacesAsSet

5.44.2.5 SurfacesAsSet

SurfacesAsSet ( nCombinedMode, nSetID, bClear ) Description: This method returns the surfaces that are attached to this point in a Set Object Input:

INT4 nCombinedMode

0=List contains the basic surfaces that are adjacent to the curve, 1=Any surfaces that are adjacent that are in a Combined Surface are replaced by the ID of the Combined Surface, 2=List contains both the underlying and combined surfaces.

INT4 nSetID

ID of the Set Object to receive the Surface IDs

BOOL bClear

If True, the Set is cleared before loading the surfaces

Output: None Return Code: FE_FAIL

Unable to return surfaces, possibly none exist.

Remarks/Usage: Only points that are on Solids/Sheet Solids can be used with this method. Example: None

API-1501 5.45 Property Objects Property objects correspond to the properties in your model. They are derived from Entity objects so, in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for Property objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feProp method of the FEMAP Application object, or the Prop method of the Element object to create Property objects.

5.45.1 Property Object Properties Properties are always stored with a SetID=1, and the ID equal to the property ID. In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property

Description

INT4 color

The property color.

INT4 layer

The layer associated with the property.

INT4 type

Type of property: Rod=1, Bar=2, Tube=3, Link=4, Beam=5, Spring/Damper=6, DOFSpring=7, CurvedBeam=8, Gap=9, PlotOnly=10, ShearPanel (Lin=11 Para=12), Membrane (Lin=13 Para=14), BendingOnly (Lin=15 Para=16), Plate (Lin=17 Para=18), PlaneStrain (Lin=19 Para=20), Laminate (Lin=21 Para=22), Axisymmetric (Lin=23 Para=24), Solid (Lin=25 Para=26), Mass=27, MassMatrix=28, Rigid=29, StiffnessMatrix=30, CurvedTube=31, PlotOnlyPlate=32, SlideLine=33, Contact=34, Axisymmetric Shell (Lin=35, Para=36), Para Beam=37, Weld/Fastener=38

INT4 matlID

ID of material referenced by property. This is not used for certain property types, like masses and laminates. These properties do not directly reference material data

INT4 layupID

ID of the layup referenced by property. This is only used for laminates.

STRING title

Property title (maximum 79 characters).

INT4 refCS

Reference coordinate system. Used to specify the coordinate system used on the Weld/Fastener property in the “Fastener Property Values” section.

BOOL flag[0..3] or VARIANT vflag

Array of property flags.

API-1502 Property

Description

INT4 flagI[0..3] or VARIANT vflagI

Array of property flags accessed as an INT4. Most flags are simply true/false and can be accessed with flag( ). For bars, beams and curved beams, where shapes are available, flagI(1) defines the type of shape selected must be accessed as an INT4. Beam/Bar Sections: 1 = Rectangular Bar, 2 = Rectangular Tube, 3 = Trapezoidal Bar, 4 = Trapezoidal Tube, 5 = Circular Bar, 6 = Circular Tube, 7 = Hex Bar, 8 = Hex Tube, 9 = I, 10 = Channel, 11 = Angle, 12 = T, 13 = Z, 14 = Hat, 15 = General NASTRAN PBEAML/PBARL sections: 16 = ROD, 17 = TUBE, 18 = L, 19 = I, 20 = CHAN, 21 = T, 22 = BOX, 23 = BAR, 24 = CROSS, 25 = H, 26 = T1, 27 = I1, 28 = CHAN1, 29 = Z, 30 = CHAN2, 31 = T2, 32 = BOX1, 33 = HEXA, 34 = HAT, 35 = HAT1 For bars, beams and curved beams, flagI(2) (End A) & flagI(3) (End B) define the Section Property Generation Method. Beam/Bar Section Property Methods: 1 = Original FEMAP, 2 = Alternate FEMAP, 3 = NASTRAN PBARL/PBEAML For laminates... Failure Theory: 0 = None, 1 = Hill, 2 = Hoffman, 3 = Tsai-Wu, 4 = Max Strain NEi Only(10.3+):( 5 = Max Stress, 6 = NASA LaRC (LARC02), 7 = Puck PCP (PUCK), 8 = Multicontinuum (MCT) ) Options: 0 = As Specified, 1 = Symmetry, 2 = Membrane Only, 3 = Bending Only, 4 = Smear, 5 = Smear-core

REAL8 pval[0..188] or VARIANT vpval

Array of property values.

INT4 ExtraMatlID[0..9] or VARIANT vExtraMatlID

Array of extra material IDs. For Plate elements... ExtraMatlID[0] = Bending Material Specification ExtraMatlID[1] = Transverse Shear Material Specification ExtraMatlID[2] = Membrane-Bending Coupling Specification Link property... ExtraMatlID[0] = Conduction Calculated Material ID ExtraMatlID[1] = Convection Fluid Material ID ExtraMatlID[2] = Advection Fluid Material ID ExtraMatlID[3] = Radiation Coating Material ID “Advanced Thermal” Interface Style Only: Mass property... ExtraMatlID[0] = Mass Material

Additional Properties INT4 extramat[0..9]

Same as plyval, but returns/sets entire array as a VARIANT.

INT4 pmat[0..74]

Same as pval, but returns/sets entire array as a VARIANT.

API-1503 Property

Description

INT4 numOutline

This is a read-only property that specifies the number of points available in the current outline. You can multiply this value by 3 to get the number of real numbers that are available in “outline”.

INT4 outline[0..3N]

Gets or sets the outline drawn for a general shape. The outline array consists of real numbers. For each point in the outline, there are three consecutive entries in the array. The first two entries are the x,y coordinates (in the 2D coordinates of the outline) of the location on the outline. The third entry is a flag indicating the type of location being specified. Possible values include: 0=Off, 1=Normal, 2=Start of Loop, 3=End of Loop, 4=Stress Recovery, 5=No Draw (used by FEMAP to reduce complexity of beam elements displayed with cross-sections in the graphics window, cannot be a Stress Recovery). Points on each loop in the outline must be specified in consecutive order.

5.45.2 Accessing Property Properties You can access the individual properties for the Property object by referencing the properties described above, and the data contained in the table below. For example, to retrieve the cross-sectional area for a bar property, use: A = pr.pval(0)

or bend = pr.pval(10)

for the bending stiffness parameter of a plate property. This approach provides great flexibility, but can be slow if you are going to work with a large number of properties. In this case it is best to access the data using “Additional Properties”. These all set and return entire arrays of values in one reference. For example, you could write: Dim pr as Object Set pr = femap.feProp Dim v as Variant pr.Get(1) v = pr.pmat v(0)=10.5 v(1)=14.5 pr.pmat = v pr.Put(1)

This code loads Property 1, retrieves the entire array of real values into “v”, updates the area and first moment of inertia (assuming the property was a bar), puts the entire array back, and saves the updated Property definition. While the code is slightly longer than simply accessing the individual properties, performance will be better using this approach.

API-1504 5.45.2.1 Property Array Index Values

In general, most of the property data is simply stored in the various array properties. The location of the specific property data is defined in the following table. For laminate properties, the ply information is stored on the layup referenced by the property.Property values are listed in the following tables: •

Property Values for Rod, Bar, Tube, Link, Beam, and Spring Elements



Property Values for DOF Spring, Curved Beam, Gap, Shear, Membrane, and Bending Elements



Property Values for Plate, Plane Strain, Laminate, Mass, Mass Matrix, and Stiff Matrix Elements

Property Values for Rod, Bar, Tube, Link, Beam, and Spring Elements

Property Values ROD Type

1

BAR 2

TUBE 3

LINK 4

BEAM

SPRING/ DAMPER

5

6

pipe

tapered

Bush orient. csys

closed ends

shape type

axial(1)/ torsion(0)

section method_A

Bush Spring/ Damper Loc.

Flags 0

cable

1

compress. only gaps

2

shape type section method

3

section method_B

Values 0

Area

Area

Dout

Ku_A

Area_A

Stiffness

1

Cable Area I

I1

Din

Kv_A

I1_A

Damping

2

I2

Kw_A

I2_A

Bush Struc. Damping

3

I12

Kthu_A

I12_A

Bush Spring/ Damper Loc.

4

J

J

Kthv_A

J_A

Bush Trans. Stress Coeff

5

Ctors

K1,eff

Kthw_A

K1_A,eff

Bush Rot. Stress Coeff

K2,eff

Ku_B

K2_A,eff

Bush Trans. Strain Coeff

6

API-1505 Property Values ROD

BAR

TUBE

LINK

BEAM

SPRING/ DAMPER Bush Rot. Strain Coeff

7

NSM

NSM

NSM

Kv_B

NSM_A

8

Initial Tension

Yf_A1

Pipe Pressure

Kw_B

Yf_A1

9

Init. Slack

Zf_A1

Kthu_B

Zf_A1

10

Allow. Ten. Stress

Yf_A2

Kthv_B

Yf_A2

Bush DOF1 Struct Damp

11

Zf_A2

Kthw_B

Zf_A2

Bush DOF2 Struct Damp

12

Yf_A3

Yf_A3

Bush DOF3 Struct Damp

13

Zf_A3

Zf_A3

Bush DOF4 Struct Damp

14

Yf_A4

Yf_A4

Bush DOF5 Struct Damp

Zf_A4

Bush DOF6 Struct Damp

15

Zf_A4

link type: 1 = Struct. 2 = Cond. 3 = Conv. 4 = Advect. 5 = Rad.

16

Yoff_A

17

Zoff_A

18

Warp_A

19

Perimeter

Perimeter_A

20

cond. type 0 = Bulk 1 = Calc.

Area_B

21

Bulk cond.

I1_B

22

Calc. Area

I2_B

23

Calc. Length

I12_B

24

Calc. Cond

J_B

Damp Force vs Freq

API-1506 Property Values ROD

BAR

TUBE

LINK Cond. Direct.

25

BEAM

SPRING/ DAMPER

K1_B,eff

26

K2_B,eff

27

NSM_B

28

Yf_B1

29

Zf_B1

30

Conv. Area

Yf_B2

31

Conv. Coeff.

Zf_B2

32

Yf_B3

33

Zf_B3

34

Yf_B4

35

Adv. Mass Flow

Zf_B4

36

Adv. Spec. Heat

Yoff_B

Bush DOF1 Stiffness

37

Adv. Direct.

Z_offB

Bush DOF2 Stiffness

38

Warp_B

Bush DOF3 Stiffness

39

Perimeter_B

Bush DOF4 Stiffness

40

Std Shape H or Radius (DIM1)

Rad. View Factor

Std Shape H or Radius (DIM1)

Bush DOF5 Stiffness

41

Std Shape W1 (DIM2)

Rad. View Fac. Func.

Std Shape W1 (DIM2)

Bush DOF6 Stiffness

42

Std Shape W2 (DIM3)

Rad. Area

Std Shape W2 (DIM3)

Bush DOF1 Damping

43

Std Shape T1 (DIM4)

Rad. Emiss.

Std Shape T1 (DIM4)

Bush DOF2 Damping

44

Std Shape T2 (DIM5)

Std Shape T2 (DIM5)

Bush DOF3 Damping

API-1507 Property Values ROD

BAR

TUBE

LINK

BEAM

SPRING/ DAMPER

45

Std Shape T (DIM6)

Std Shape T (DIM6)

Bush DOF4 Damping

46

Std Shape SR1

Std Shape SR1

Bush DOF5 Damping

47

Std Shape SR2

Std Shape SR2

Bush DOF6 Damping

48

Std Shape SR3

Std Shape SR3

Bush DOF1 K vs. Frequency Function

49

Std Shape SR4

Std Shape SR4

Bush DOF2 K vs. Frequency Function

50

Std Shape Orient

Std Shape Orient

Bush DOF3 K vs. Frequency Function

51

Std Shape RefLoc

Std Shape RefLoc

Bush DOF4 K vs. Frequency Function

52

Shape RefY

Shape RefY

Bush DOF5 K vs. Frequency Function

53

Shape RefZ

Shape RefZ

Bush DOF6 K vs. Frequency Function Bush DOF1 F/ V vs. Freq. Function

54

55

End B_Std Shape H or Radius (DIM1)

Bush DOF2 F/ V vs. Freq. Function

56

B_Std Shape W1 (DIM2)

Bush DOF3 F/ V vs. Freq. Function

57

B_Std Shape W2 (DIM3)

Bush DOF4 F/ V vs. Freq. Function

API-1508 Property Values ROD

BAR

TUBE

LINK

BEAM

SPRING/ DAMPER

58

B_Std Shape T (DIM4)

Bush DOF5 F/ V vs. Freq. Function

59

B_Std Shape T2 (DIM5)

Bush DOF6 F/ V vs. Freq. Function

60

B_Std Shape T (DIM6)

Bush DOF1 F vs. Disp. Function

61

B_Std Shape SR1

Bush DOF2 F vs. Disp. Function

62

B_Std Shape SR2

Bush DOF3 F vs. Disp. Function

63

B_Std Shape SR3

Bush DOF4 F vs. Disp. Function

64

B_Std Shape SR4

Bush DOF5 F vs. Disp. Function

65

B_Std Shape Orient

Bush DOF6 F vs. Disp. Function

66

B_Std Shape RefLoc

Bush DOF1 Struc. Damping vs. Frequency

B_Shape RefY

Bush DOF2 Struc. Damping vs. Frequency

B_Shape RefZ

Bush DOF3 Struc. Damping vs. Frequency

67

68

API-1509 Property Values ROD

BAR

TUBE

LINK

BEAM

SPRING/ DAMPER

68

Bush DOF4 Struc. Damping vs. Frequency

68

Bush DOF5 Struc. Damping vs. Frequency

68

Bush DOF6 Struc. Damping vs. Frequency

API-1510 Property Values for DOF Spring, Curved Beam, Gap, Shear, Membrane, and Bending Elements

Property Values (continued) DOF SPRING Type

7

CURVED BEAM 8

GAP 9

SHEAR 11/12

MEMBRANE 13/14

BENDING 15/16

Flags 0

Has CSys

1

Top Fiber

shape type

2

DOF_A

3

DOF_B

Bot Fiber

section method

Values 0

Stiffness

Area

Gap,initial

T

T

T

1

Damping

I1

Stiff,comp.

2

I2

Stiff,tens.

3

I12

Stiff,trans.

4

J

Mu,y

5

K1,eff

Mu,z

6

K2,eff

PreloadT

7

NSM

Plane X

NSM

NSM

NSM

8

Yf_A1

Plane Y

F1,eff.fact.

Top Fiber

9

Zf_A1

Plane Z

F2,eff.fact.

Bot Fiber

10

Yf_A2

Width/Area

11

Zf_A2

MaxPenRat (Set value to -1 to uncheck Adaptive box)

12

Yf_A3

MaxAdjRat

13

Zf_A3

MinPenRat

14

Yf_A4

15

Zf_A4

(9.1+)

F3,eff.fact. (9.1+)

F4,eff.fact.

12I/T3

API-1511 Property Values (continued) DOF SPRING

CURVED BEAM

16 17

18..39

R, bend rad 20 = Force vs. Freq. function 21 = Damping vs. Frequency function 22 = Force vs. Disp. function

40

Std Shape H or R (DIM1)

41

Std Shape W1 (DIM2)

42

Std Shape W2 (DIM3)

43

Std Shape T1 (DIM4)

44

Std Shape T2 (DIM5)

45

Std Shape T (DIM6)

46

Std Shape SR1

47

Std Shape SR2

48

Std Shape SR3

49

Std Shape SR4

50

Std Shape Orient

51

Std Shape RefLoc

52

Shape RefY

53

Shape RefZ

GAP

SHEAR

MEMBRANE

BENDING

API-1512

Property Values for Plate, Plane Strain, Laminate, Mass, Mass Matrix, and Stiff Matrix Elements

Property Values (continued) PLATE Type

PLANE STRAIN

LAMINATE

17/18

19/20

21/22

0

Top Fiber

Top Fiber

failure theory

1

Bot Fiber

Bot Fiber

options

0

Tavg,T1

T

Bottom Fiber

1

T2

NSM

2

T3

3

T4

MASS 27

MASS MATRIX

STIFF MATRIX

28

30

M11

K11

Ixx

M12

K12

Bond Shear

Ixy

M13

K13

Ref Temp

Iyy

M14

K14

Damping

Izx

M15

K15

5

Iyz

M16

K16

6

Izz

Flags

Values

4

7

NSM

NSM

M or Mx

M22

K22

8

Top Fiber

Top Fiber

Xoff,refCS

M23

K23

9

Bot Fiber

Bot Fiber

Yoff,refCS

M24

K24

10

12I/T3

Zoff,refCS

M25

K25

11

Ts/T

My

M26

K26

12 13

(NE)

Comp. Direction

Mz

(NE)Copress

Allowable

14

(NE)

X Fact.

M33

K33

15

(NE)

Y Fact.

M34

K34

16

(NE)

Type

M35

K35

17

(NE)

F1, eff.

M36

K36

API-1513 Property Values (continued) PLATE 18

(NE)

F2, eff.

19

(NE)

F3, eff.

20

(NE)

F4, eff.

PLANE STRAIN

LAMINATE

MASS

MASS MATRIX

STIFF MATRIX

Effective Diameter (1)

Mass Functon

21

M44

K44

22

M45

K45

23

M46

K46

28

M55

K55

29

M56

K56

M66

K66

24 25 26 27

30 31 32 33 34 35

1. Signifies value only available in GUI when using the Advanced Thermal Interface Style. NE. Signifies these values are only available after clicking the NEiNastran Tesion Only button. For Laminate Properties, the follwing values specify the Failure Theory options: flagI(0): 0 = None, 1 = Hill, 2 = Hoffman, 3 = Tsai-Wu, 4 = Max Stran, 5 = NEi Nastran/STRESS, 6 = NEi Nastran/LARC02, 7 = NEi Nastran/PUCK, and 8 = NEi Nastran/MCT

API-1514 Property Values for Curved Tube, Slide Line, Axisymmetric Shell, and Weld/Fastener Elements

Property Values (continued) CURVED TUBE Type

31

SLIDE LINE 33

CONTACT 34 (Obsolete)

AXISYM SHELL

WELD/FASTENER

35/36

38

Flags Penetration (Unsym = 1, Sym = 0)

0

(9.1+)M-Set

DOF

(CWELD) (9.1+)Spot

Weld (CWELD)

1

(10+)Absolute

2

(CFAST) (10+)

Use Material CSys (CFAST)

3 Values 0

Dout

Stiffness Scale

1

Din

Nonsliding Friction

(8.2+)

T

(10+)Diameter

for both CWELD and CFAST (10+)

Mass

2

(10+)Struct

3

(10+)KTX

4

Static Friction

(10+)KTY

5

(10+)

KTZ

6

(10+)

KRX

(10+)

KRY

7

NSM

(10+)KRZ

8

(10+)CWELD/CFAST

9 10

Damping

toggle (0 = CWELD, 1 = CFAST) Master Width

API-1515 Property Values (continued) CURVED TUBE 11

SLIDE LINE

CONTACT

AXISYM SHELL

WELD/FASTENER

Slave Width

12 13 14 15 16 17

R, bend rad The following types are also available: Plot Only (10), Plot Plate (32), Axisymmetric (23/24), Solid (25/26), and Rigid (29). When two types are listed, the first number corresponds to a linear type, the second to a parabolic type. For Solid Properties (25/26): flag(0): False = Align to CSys, True = Align to Element pval(0): Intergration Network (must be a value from 0 to 3)

5.45.3 Property Object Methods There following methods are available in addition to the standard entity methods.

API-1516

ComputeShape

5.45.3.1 ComputeShape

ComputeShape ( shear_center_offset, warping, stress_recovery ) Description: This method computes the properties for a standard shape. Input: BOOL shear_center_offset

If True, the shear center offset is computed.

BOOL warping

If True, the warping constants are computed.

BOOL stress_recovery

If True, the stress recovery locations and cross section orientation that are currently defined in the object are used for the computation. If False, default stress recovery locations and orientation are used.

Output: None Return Code: None Remarks/Usage: NOTE: This method is obsolete - for new applications you should use either ComputeStdShape() or ComputeGeneralShape() To use this method, the property must be a type that uses a shape - Bar, Beam... Prior to using this method, you must load the appropriate properties (as shown in the table above) to define the type of shape and its dimensions. This method will not work with general shapes. For bars, beams and curved beams, where shapes are available, flagI(1) defines the type of shape selected. Available values are: 1 = Rectangular Bar, 2 = Rectangular Tube, 3 = Trapezoidal Bar, 4 = Trapezoidal Tube, 5 = Circular Bar, 6 = Circular Tube, 7 = Hex Bar, 8 = Hex Tube, 9 = I, 10 = Channel, 11 = Angle, 12 = T, 13 = Z, 14 = Hat, 15 = General Example:

ComputeShape

API-1517

ComputeShape ( shear_center_offset, warping, stress_recovery ) Sub Main() Dim App As femap.model Set App = GetObject(,"femap.model") Dim pr As Object Set pr = App.feProp pr.matlID = 1 pr.Type = 5 ' Beam pr.flagI(1) = 1 ' Rect Bar pr.pval(40) = 3 ' Height pr.pval(41) = 5 ' Width pr.pval(46) = 1 pr.pval(47) = 2 pr.pval(48) = 0 pr.pval(49) = 0 rc = pr.ComputeShape(False, False, True) pr.Put (33) End Sub This example defines a beam property and computes its properties from a 3x5 rectangular cross section. Two stress recovery locations are defined and computed. The property is stored in the model database as Property 33. This example does not define the color and layer, and they will be defaulted to the active values.

API-1518

ComputeStdShape

5.45.3.2 ComputeStdShape

ComputeStdShape ( shapeID, dimensions, shape_orient, eval_method, shear_center_offset, warping, stress_recovery ) Description: This method computes the properties for a standard shape. Input:

INT4 shapeID

ID of one of the... Standard Shapes ( 1 = Rectangular Bar, 2 = Rectangular Tube, 3 = Trapezoidal Bar, 4 = Trapezoidal Tube, 5 = Circular Bar, 6 = Circular Tube, 7 = Hex Bar, 8 = Hex Tube, 9 = I, 10 = Channel, 11 = Angle, 12 = T, 13 = Z, 14 = Hat ), or ... Nastran Shapes (16=Rod, 17=Tube, 18=L, 19=I, 20 = Channel, 21=T, 22=Box, 23=Bar, 24=Cross, 25=H, 26=T1, 27=I1, 28=Chan1, 29=Z, 30=Chan2, 31=T2, 32=Box1, 33=Hexa, 34=Hat, 35=Hat1).

REAL8 dimensions[0..5]

The dimensions that define the shape. Values are in the same order that they are shown in the shape dialog box.

INT4 shape_orient

The orientation direction (0=Right, 1=Up, 2=Left, 3=Down). Ignored for the Nastran shapes - for these orientation is always “Right”

INT4 eval_method

The method used to evaluate the section properties (0=Auto, 1=Original, 2=Alternate, 3=Nastran PBEAML)

BOOL shear_center_offset

If True, the shear center offset is computed.

BOOL warping

If True, the warping constants are computed.

BOOL stress_recovery

If True, the stress recovery locations and cross section orientation that are currently defined in the object are used for the computation. If False, default stress recovery locations and orientation are used.

Output: None Return Code: FE_BAD_TYPE

Property type not set to a type that uses a shape

ComputeStdShape

API-1519

ComputeStdShape ( shapeID, dimensions, shape_orient, eval_method, shear_center_offset, warping, stress_recovery ) Remarks/Usage: •

The General shape is not available with this method. Use ComputeGeneralShape() instead.



The Nastran PBEAML evaluator assumes thin-walled theory. If your shape is not “thin” it will produce an inaccurate representation of the shape.



To use this method, the object must first be set to a type that uses shapes - for example a Bar or Beam. ( for example p.type = FET_L_BEAM )



If you use the “Alternate” eval_method, you should first set the Poisson’s Ratio to be used in the computation (for example p.pval(70) = 0.3)



Only End A properties can be computed with this method. Tapered beams are not supported.

Example: Sub Main Dim Set Dim Set

App As femap.model App = feFemap() p As femap.Prop p = App.feProp

Dim d(5) As Double d(0) d(1) d(2) d(3)

= = = =

2.0 1.0 0.2 0.1

p.type = FET_L_BEAM p.ComputeStdShape( FSHP_NAS_L, d, FSOR_RIGHT, FSEV_PBEAML, True, True, True ) p.Put(1) End Sub

API-1520

ComputeGeneralShape

5.45.3.3 ComputeGeneralShape

ComputeGeneralShape ( surfaceID, vecDIR, shape_orient, eval_method, shear_center_offset, warping, stress_recovery ) Description: This method computes the properties for a general shape. Input: INT4 surfaceID

ID of a surface to be used to compute the general shape

REAL8 vecDIR[0..2]

A vector that defines the original surface Y axis

INT4 shape_orient

The orientation direction (0=Right, 1=Up, 2=Left, 3=Down). Ignored for the Nastran shapes - for these orientation is always “Up”

INT4 eval_method

The method used to evaluate the section properties (0=Auto, 1=Original, 2=Alternate)

BOOL shear_center_offset

If True, the shear center offset is computed.

BOOL warping

If True, the warping constants are computed.

BOOL stress_recovery

If True, the stress recovery locations and cross section orientation that are currently defined in the object are used for the computation. If False, default stress recovery locations and orientation are used.

Output: None Return Code: FE_BAD_TYPE

Property type not set to a type that uses a shape

Remarks/Usage: •

The Nastran PBEAML evaluator is not available for the general section



To use this method, the object must first be set to a type that uses shapes - for example a Bar or Beam. ( for example p.type = FET_L_BEAM )



If you use the “Alternate” eval_method, you should first set the Poisson’s Ratio to be used in the computation (for example p.pval(70) = 0.3)



Only End A properties can be computed with this method. Tapered beams are not supported.

Example:

Matl

API-1521

5.45.3.4 Matl

Matl ( void ) Description:

Input: None Output: None Return Code: None Remarks/Usage: This method loads the material that is referenced by the currently loaded property object. Example: This method must be used with a Set statement to define the Material object. Sub Main() Dim App As femap.model Set App = GetObject(, "femap.model") Dim mt As Matl Dim pr As Prop Dim prID as Long prID = 83 Set pr = App.feProp pr.Get(prID) Set mt = pr.Matl() App.feAppMessage(FCM_NORMAL, "Material: " _ + Str$(mt.ID)+ " "+mt.title) End Sub This sequence creates the “mt” Material object with the material data that is referenced by property 83.

API-1522

Layup

5.45.3.5 Layup

Layup ( void ) Description:

Input: None Output: None Return Code: None Remarks/Usage: This method loads the layup that is referenced by the currently loaded property object. Example:

Thickness

5.45.3.6 Thickness

Thickness ( dAvgOrC1, dAtC2, dAtC3, dAtC4 ) Description: This method returns the thickness of the property. Input: None Output: REAL8 dAvgOrC1

The thickness or alternately the thickness at corner 1.

REAL8 dAtC2

The thickness at corner 2.

REAL8 dAtC3

The thickness at corner 3.

REAL8 dAtC4

The thickness at corner 4.

Return Code: FE_OK FE_BAD_TYPE

Property type does not have thickness.

FE_NOT_AVAILABLE

Laminate property does not reference a Layup.

Remarks/Usage: None Example: None

API-1523

API-1524

Area

5.45.3.7 Area

Area ( dAreaA, dAreaB ) Description: This method returns the area at EndA and EndB of the line element property. Input: None Output: REAL8 dAreaA

The area at EndA.

REAL8 dAreaB

The area at EndB.

Return Code: FE_OK FE_BAD_TYPE Remarks/Usage: None Example: None

Property is not correct type.

Inertia

5.45.3.8 Inertia

Inertia ( dI1A, dI2A, dI12A, dJA, dI1B, dI2B, dI12B, dJB ) Description: This method returns the Inertia properties of the line property. Input: None Output: REAL8 dI1A

Area Moment of Inertia for plane 1 EndA

REAL8 dI2A

Area Moment of Inertia for plane 2 EndA

REAL8 dI12A

Cross product of inertia at EndA

REAL8 dIJA

Torsional constant EndA

REAL8 dI1B

Area Moment of Inertia for plane 1 EndB

REAL8 dI2B

Area Moment of Inertia for plane 2 EndB

REAL8 dI12B

Cross product of inertia at EndB

REAL8 dIJB

Torsional constant EndB

Return Code: FE_OK FE_BAD_TYPE Remarks/Usage: None Example: None

Property is not a line type.

API-1525

API-1526 5.46 Report Objects Report objects correspond to the report formats in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for Report objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feReport method of the FEMAP Application object to create Report objects.

5.46.1 Report Object Properties Reports are always stored with a SetID=1, and the ID equal to the report ID. Property

Description

STRING title

Material title (maximum 79 characters).

INT4 DataType

The type of data included in this report: 7=Nodal Results, 8=Elemental Results.

BOOL CenterHeader1 BOOL CenterHeader2 BOOL DbSpHeader1 BOOL DbSpHeader2

Set to True to center the associated header.

Set to True to double-space the associated header.

STRING Header1 STRING Header2 STRING ColumnHeader STRING Data1 STRING Data2

The formats associated with the various lines of the report. Refer to the List, Output, Use Format command for more information about how to define each of these formats. Maximum size is 130 characters.

STRING Data3 STRING Data4

5.46.2 Report Object Methods There are no Report object-specific methods. Only the standard entity methods are available.

API-1527 5.47 Solid Objects Solid objects correspond to the solids and volumes in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for solids. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feSolid method of the FEMAP Application object to create Solid objects.

5.47.1 Solid Object Properties Surfaces are always stored with a SetID=1, and the ID equal to the Solid (or Volume) ID. Property

Description

INT4 Type

The solid/volume type: 6=Volume, 39=Solid.

INT4 attrPID

The Property ID of the meshing attribute.

For Volumes Only INT4 VolSurface[0..5] or VARIANT vVolSurface

The IDs of the surfaces used to define the volume.

BOOL VolReverse[0..5][0..2] or VARIANT vVolReverse

Flags used to indicate how the surface parametric directions are reversed when defining the volume. True=Reversed

INT4 VolColor

The color of the volume.

INT4 VolLayer

The layer associated with the volume.

INT4 VolType

The type/shape of the volume: 0=Brick,1=Wedge,2=Pyramid,3=Tetra.

For Solids Only INT4 color

The color of the solid.

INT4 layer

The layer associated with the solid.

INT4 Engine

The ID of the solid modeling engine used with this solid: 0=None, 1=Parasolid, 2=ACIS.

INT4 Address

The solid modeling engine geometry address.

STRING title

The title of the solid (maximum 79 characters).

API-1528

Points

5.47.2 Solid Object Methods 5.47.2.1 Points

Points ( numPoints, pointID ) Description: This method returns a list of all of the points used to define this solid/volume. Input: None Output: INT4 numPoints

The number of points in the pointID list.

INT4 pointID[0..numPoints-1]

The IDs of the points on the solid.

Return Code: FE_FAIL

Unable to get the point list. Possibly data is not stored or ID is not set correctly.

Remarks/Usage: This method will work with any solid/volume, but it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. Example: None

PointsAsSet

API-1529

5.47.2.2 PointsAsSet

PointsAsSet ( nSetID, bClear ) Description: This method returns all of the points used to define this solid/volume in a Set object. Input: INT4 nSetID

The ID of the Set Object that will contain the IDs of the Points

BOOL bClear

If True, the Set is cleared prior to loading the Point IDs

Output: None Return Code: FE_FAIL

Unable to get the point list. Possibly data is not stored or ID is not set correctly.

Remarks/Usage: This method will work with any solid/volume, but it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. Example: None

API-1530

Curves

5.47.2.3 Curves

Curves ( nCombinedMode, numCurves, curveID ) Description: This method returns a list of all of the curves used to define this solid/volume. Input:

INT4 nCombinedMode

0=List contains the basic curves that are on the solid, 1=Any curves that are on the solid that are in a Combined Curve are replaced by the ID of the Combined Curve, 2=List contains both the underlying and combined curves.

Output: INT4 numCurves

The number of curves in the curveID list.

INT4 curveID[0..numCurves-1]

The IDs of the curves on the solid.

Return Code: FE_FAIL

Unable to get the curve list. Possibly data is not stored or ID is not set correctly.

Remarks/Usage: This method will work with any solid/volume, but it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. Example: None

CurvesAsSet

API-1531

5.47.2.4 CurvesAsSet

CurvesAsSet ( nCombinedMode, nSetID, bClear ) Description: This method returns all of the curves used to define this solid/volume in a Set object. Input:

INT4 nCombinedMode

0=List contains the basic curves that are on the solid, 1=Any curves that are on the solid that are in a Combined Curve are replaced by the ID of the Combined Curve, 2=List contains both the underlying and combined curves.

INT4 nSetID

The ID of the Set Object that will contain the IDs of the Curves

BOOL bClear

If True, the Set is cleared prior to loading the Curve IDs

Output: None Return Code: FE_FAIL

Unable to get the curve list. Possibly data is not stored or ID is not set correctly.

Remarks/Usage: This method will work with any solid/volume, but it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. Example: None

API-1532

FreeCurvesAsSet

5.47.2.5 FreeCurvesAsSet

FreeCurvesAsSet ( nCombinedMode, nSetID, bClear ) Description: This method returns all of the free curves used to define this Solid in a Set object. Free curves are curves on a sheet solid that are only attached to one surface - the free edges of the sheet Input:

INT4 nCombinedMode

0=List contains the basic curves that are on the solid, 1=Any curves that are on the solid that are in a Combined Curve are replaced by the ID of the Combined Curve, 2=List contains both the underlying and combined curves.

INT4 nSetID

The ID of the Set Object that will contain the IDs of the Curves

BOOL bClear

If True, the Set is cleared prior to loading the Curve IDs

Output: None Return Code: FE_FAIL

Unable to get the curve list. Possibly data is not stored or ID is not set correctly.

Remarks/Usage: This method will work with any solid/volume, but it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. Example: None

Surfaces

API-1533

5.47.2.6 Surfaces

Surfaces ( nCombinedMode, numSurfs, surfaceID ) Description: This method returns a list of all of the surfaces used to define this solid/volume. Input:

INT4 nCombinedMode

0=List contains the basic surfaces that are on the solid, 1=Any surfaces that are on the solid that are in a Combined Surface are replaced by the ID of the Combined Surface, 2=List contains both the underlying and combined surfaces.

Output: INT4 numSurfs

The number of surfaces in the surfaceID list.

INT4 surfaceID[0..numSurfs-1]

The IDs of the surfaces on the solid.

Return Code: FE_FAIL

Unable to get the surface list. Possibly data is not stored or ID is not set correctly.

Remarks/Usage: This method will work with any solid/volume, but it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. Example: None

API-1534

SurfacesAsSet

5.47.2.7 SurfacesAsSet

SurfacesAsSet ( nCombinedMode, nSetID, bClear ) Description: This method returns a list of all of the surfaces used to define this solid/volume. Input:

INT4 nCombinedMode

0=List contains the basic surfaces that are on the solid, 1=Any surfaces that are on the solid that are in a Combined Surface are replaced by the ID of the Combined Surface, 2=List contains both the underlying and combined surfaces.

INT4 nSetID

The ID of the Set Object that will contain the IDs of the Surfaces

BOOL bClear

If True, the Set is cleared prior to loading the Surface IDs

Output: None Return Code: FE_FAIL

Unable to get the surface list. Possibly data is not stored or ID is not set correctly.

Remarks/Usage: This method will work with any solid/volume, but it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. Example: None

MassProp

API-1535

5.47.2.8 MassProp

MassProp ( area, volume, cg, inertia ) Description: This function computes the mass properties of a solid. Input: None Output: REAL8 area

The total surface area of the solid.

REAL8 volume

The volume of the solid (if closed).

REAL8 cg[0..2]

The location of the center of gravity of the solid.

REAL8 inertia[0..9]

The 3x3 inertia matrix stored in row order [0][0], [0][1], [0][2], [1][0]...[2][2].

Return Code: FE_NOT_EXIST

The solid that you have selected does not exist.

Remarks/Usage: The cg and inertia terms are in global rectangular coordinates. This method will only work with solids. Furthermore, it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. Example: None

API-1536

Export

5.47.2.9 Export

Export ( fName ) Description: This function writes the current solid to an export (SAT or X_T) file. Input: STRING fName

The name of the file to create.

Output: None Return Code: FE_FAIL

The current object does not contain a solid (must be a solid, not a volume).

Remarks/Usage: This method will only work with solids. Furthermore, it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. Example: None

IsSolid

API-1537

5.47.2.10 IsSolid

IsSolid ( void ) Description: This function indicates whether a solid is a true, valid solid. Input: None Output: None Return Code: FE_FAIL

The solid is not a true solid - could be a sheet or wire.

FE_INVALID

The current object does not contain a valid solid - volumes are not supported.

Remarks/Usage: This method will only work with solids, not volumes. Returns FE_OK if current object is a solid. Example: None

API-1538

IsSheet

5.47.2.11 IsSheet

IsSheet ( void ) Description: This function indicates whether a solid is a sheet solid. Input: None Output: None Return Code: FE_FAIL

The solid is not a sheet solid - could be a solid body or wire.

FE_INVALID

The current object does not contain a valid solid - volumes are not supported

Remarks/Usage: This method will only work with solids, not volumes. Returns FE_OK if current object is a sheet solid. A sheet solid is a collection of surfaces, possibly stitched, but which do not enclose a closed volume. Example: None

IsWire

API-1539

5.47.2.12 IsWire

IsWire ( void ) Description: This function indicates whether a solid is a wire solid. Input: None Output: None Return Code: FE_FAIL

The solid is not a wire solid - could be a solid body or sheet.

FE_INVALID

The current object does not contain a valid solid - volumes are not supported.

Remarks/Usage: This method will only work with solids, not volumes. Returns FE_OK if current object is a wire solid. A wire solid is a collection of curves, without surfaces. Example: None

API-1540

IsGeneral

5.47.2.13 IsGeneral

IsGeneral ( void ) Description: This function indicates whether a solid is a general body. Input: None Output: None Return Code: FE_FAIL

The solid is not a general body.

FE_INVALID

The current object does not contain a valid solid - volumes are not supported.

Remarks/Usage: This method will only work with solids, not volumes. Returns FE_OK if current object is a general body. Example: None

Facets

API-1541

5.47.2.14 Facets

Facets ( numFacets, xyzFacet ) Description: This method returns the triangular facets used for display of solids. Input: None Output: INT4 numFacets

The number of facets returned.

REAL8 xyzFacet[0..9*numFacets-1]

The coordinates of the corners of the facets. Each facet is a triangle, and therefore has 9 coordinates. They are arranged in xyzFacet as [X1,Y1,Z1,X2,Y2,Z2,X3,Y3,Z3....] for the first facet, followed by the second and so on.

Return Code: FE_FAIL

Not a solid, or unable to retrieve facets.

Remarks/Usage: This method will only work with solid faces that have facetting information. The surface information must be in the database. Only the ID from the current object is used. Example: None

API-1542

Nodes

5.47.2.15 Nodes

Nodes ( getBoundary, getInterior, numNodes, nodeID ) Description: This method returns the nodes that are attached to this solid Input: BOOL getBoundary

If True, the nodes attached to the solid boundary (the surfaces, curves and points) are selected

BOOL getInterior

If True, the nodes attached to the interior of the solid (not on the surfaces, curves or points) are selected

Output: INT4 numNodes

The number of nodes returned.

INT4 nodeID[0..numNodes-1]

The IDs of the selected nodes which are attached to the solid.

Return Code: FE_FAIL

Unable to return nodes, possibly none exist.

FE_NOT_EXIST

No nodes were attached to the solid in the manner you selected.

FE_NO_MEMORY

Insufficient memory to allocate list of attached nodes.

Remarks/Usage: None Example:

Nodes

Nodes ( getBoundary, getInterior, numNodes, nodeID ) The following codes modifies the color of all nodes on Solid 4. Sub Main Dim App As femap.model Set App = GetObject(,"femap.model") Dim Set Dim Set Dim Dim Dim Dim

so As Object so = App.feSolid nd As Object nd = App.feNode rc As Long Count As Long Nodes As Variant i As Long

solidID = 4 rc = so.Get (solidID) rc = so.Nodes(True, True, Count, Nodes) For i = 0 To Count - 1 nd.Get (Nodes(i)) nd.Color = 4 nd.Put (0) Next i App.feViewRegenerate(0) End Sub

API-1543

API-1544

NodesAsSet

5.47.2.16 NodesAsSet

NodesAsSet ( getBoundary, getInterior, nSetID, bClear ) Description: This method returns the nodes that are attached to this solid in a Set Input: BOOL getBoundary

If True, the nodes attached to the solid boundary (the surfaces, curves and points) are selected

BOOL getInterior

If True, the nodes attached to the interior of the solid (not on the surfaces, curves or points) are selected

INT4 nSetID

The ID of the Set Object that will contain the IDs of the Nodes

BOOL bClear

If True, the Set is cleared prior to loading the Node IDs

Output: None Return Code: FE_FAIL

Unable to return nodes, possibly none exist.

FE_NOT_EXIST

No nodes were attached to the solid in the manner you selected.

FE_NO_MEMORY

Insufficient memory to allocate list of attached nodes.

Remarks/Usage: None Example: None

Elements

API-1545

5.47.2.17 Elements

Elements ( numElems, elemID ) Description: This method returns the elements that are attached to this solid Input: None Output: INT4 numElems

The number of elements returned.

INT4 elemID[0..numElems-1]

The IDs of the selected elements which are attached to the solid.

Return Code: FE_FAIL

Unable to return elements, possibly none exist.

FE_NOT_EXIST

No elements were attached to the solid in the manner you selected.

FE_NO_MEMORY

Insufficient memory to allocate list of attached elements.

Remarks/Usage: Only elements that have all of their nodes in the solid will be returned by this method. Elements that simply touch the solid at one edge or one node will not be returned. Example: None

API-1546

ElementsAsSet

5.47.2.18 ElementsAsSet

ElementsAsSet ( nSetID, bClear ) Description: This method returns the elements that are attached to this solid in a Set Input: INT4 nSetID

The ID of the Set Object that will contain the IDs of the Elements

BOOL bClear

If True, the Set is cleared prior to loading the Element IDs

Output: None Return Code: FE_FAIL

Unable to return elements, possibly none exist.

FE_NOT_EXIST

No elements were attached to the solid in the manner you selected.

FE_NO_MEMORY

Insufficient memory to allocate list of attached elements.

Remarks/Usage: Only elements that have all of their nodes in the solid will be returned by this method. Elements that simply touch the solid at one edge or one node will not be returned. Example: None

BoundingBox

API-1547

5.47.2.19 BoundingBox

BoundingBox ( Box ) Description: This method returns the coordinates of a rectangular box the encloses this geometry. Input: None Output:

INT4 Box[0..5]

The dimensions of the bounding box, in Global Rectangular coordinates. Box[0] - Minimum X, Box[3] - Maximum X Box[1] - Minimum Y, Box[4] - Maximum Y Box[2] - Minimum Z, Box[5] - Maximum Z

Return Code: FE_FAIL

Unable to find a bounding box.

FE_INVALID

Object does not contain valid geometry. This method only works for Parasolid-based geometry.

Remarks/Usage: This method always retrieves a box that is aligned with Global Rectangular coordinates, not an aligned box of minimum volume. Example: None

API-1548 5.48 Surface Objects Surface objects correspond to the surfaces (including boundary surfaces) in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for Surface objects. For more information, see Section 5.1, "Common Entity Properties and Methods".. Use the feSurface method of the FEMAP Application object to create Surface objects.

5.48.1 Surface Object Properties Surfaces are always stored with a SetID=1, and the ID equal to the Surface ID. In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property

Description

INT4 layer

The ID of the layer associated with the surface.

INT4 color

The surface color.

INT4 type

The surface type: 0=Bilinear, 1=Ruled, 2=Revolution, 3=Coons, 4=Bezier, 5=Solid, 6=Not Used, 7=Boundary.

INT4 StdCurve[0..5] or VARIANT vStdCurve

The IDs of the curves referenced by Bilinear, Ruled, Revolution, Coons and Bezier surfaces.

BOOL StdCurveReverse[0..5] or VARIANT vStdCurveReverse

If True, the surface uses the corresponding StdCurve in a reversed orientation.

INT4 Divisions[0..1] or VARIANT vDivisions

The number of divisions in the u and v parametric directions for display purposes.

INT4 Engine

The ID of the solid modeling engine used with this surface: 0=None, 1=Parasolid.

INT4 Address

The solid modeling engine geometry address

BOOL Suppressed

True if this surface is suppressed (will not be meshed).

INT4 InternalToBoundary

If this surface is used to define a Combined Surface, then this property contains the ID of the Combined Surface, otherwise it is 0.

Mesh Attributes INT4 attrPID

The Property ID of the meshing attribute.

INT4 attrTopology

The shape of elements that will be meshed onto the surface (2=Tri3, 3=Tri6, 4=Quad4, 5=Quad8)

API-1549 Property

Description

INT4 attrMesher

The mesher that will be used (0=Auto,1=Subdivision, 2=Fast Tri, 3=3D Tri

INT4 attrMappedLevel

Mapped Meshing Switch (0=Off,1=On)

BOOL attrMapSubdivisions

If True and using subdivision mesher, then additional mapped meshing may be done at the subdivision level

BOOL attrMapEqualOnly

If True, only surfaces with equal numbers of elements on opposite sides will be mapped mesh

BOOL attrMapAltTri

If True, and Mapped Tri meshing, the triangle cuts will alternate directions

BOOL attrMapRightBias

If True and Mapped Tri meshing, the first cut will be “right” oriented, otherwise “left”

BOOL attrMapSplitQuads

If True and Mapped Tri meshing, the map will be done with quads, then the quads will be split along the diagonal that makes the best triangles.

REAL8 attrMapAngleDeviation

If Mapped Meshing, this value is the max angle deviation from 90 deg to determine a corner of the mapped mesh

REAL8 attrMapMinCornerAngle

If Mapped Meshing, prevents mapped meshing if a mapped corner angle is less than this value.

BOOL attrMidsideGeom

If True, Midside nodes will be moved to (or toward) the geometry. If False, Midside nodes are at the midpoint of the element edge. This has no effect on planar surfaces.

REAL8 attrMidsideAngle

If Nonzero, then this limits the angle that an edge can be distorted as the midside node is moved toward the geometry.

INT4 attrMinBetween

For the Subdivision mesher, ensures that there will be at least this number of elements along any cut between edges. Normally should be set to 1.

REAL8 attrMaxAspect

For the Subdivision mesher, the divisions are adjusted to attempt to get a max element aspect ratio less than this value.

INT4 attrQuickCutNodes

For the Subdivision mesher, surfaces with more than this number of elements along its edges are subdivided without looking at every possibility. Not used with v10 Mesher.

REAL8 attrQuadCutAngle

Quad elements with angles that are further from 90 deg than this angle are split into triangles.

BOOL attrSmoothLaplacian

If True, use Laplacian smoothing. If False, Centroidal.

INT4 attrSmoothIter

Number of Smoothing Iterations

API-1550 Property

Description

REAL8 attrSmoothTolerance

Tolerance value for smoothing. Smoothing will stop prior to the specified number of iterations if no nodes are moving further than this value.

BOOL attrConnectEdgeNodes

If True, automatically uses nodes on curves when meshing this surface (automatically connects to adjoining meshes)

REAL8 attrConnectEdgeNodeTol

Tolerance between nodal locations and mesh locations on edge for finding existing edge nodes to connect.

INT4 attrOffsetFrom

Location in element to offset from (0=Centerline, 1=Top Face, 2=Bottom Face)

REAL8 attrOffset

The meshing attribute defining the offset to be applied to elements.

BOOL attrInitialized

If True, the attributes have been initialized - probably because the surface has been meshed, or attributes have been defined.

BOOL attrPostMeshCleanup

If True, for the v10 meshers, after meshing has completed the mesh is scanned for certain patterns of elements that can be adjusted to improve the mesh.

INT4 QuadMeshLayers

The number of quad mesh layers to pave around holes

Mesh Approach INT4 approach

INT4 approachData[0..3] or VARIANT vapproachData

The meshing approach for the surface: 0=Not Specified, 1=Free-Parametric, 2=Free-Planar, 3=Mapped-Four Corner, 4=Mapped-Three Corner, 5=Mapped-Three Corner Fan, 6=Link to Surface, 7=Fast Tri-Parametric, 8=Fast Tri-Planar. The data for various approaches. For the mapped approaches, these are the point IDs defining the “corners” of the mapped mesh. For the Link to Surface approach, approachData[0] is the ID of the surface that this surface is linked to.

Mesh Sizing REAL8 MeshSizeInterior

Growth factor on interior of surface.

REAL8 MeshSizeChord

Factor for curvature-based meshing.

For Mesh Points on Surface INT4 MeshPoint[0..149] or VARIANT vMeshPoint

The IDs of points used as mesh points on the surface.

For Boundary Surfaces only INT4 BoundaryCurve[0..749] or VARIANT vBoundaryCurve

The IDs of the curves used to define the boundary.

API-1551 Property

INT4 BoundaryFlag[0..749] or VARIANT vBoundaryFlag

Description An identifier corresponding to how each curve is used in the boundary. This flag should be compared against the following values to see if the corresponding conditions exist. 0x00 - curve is used in a forward orientation 0x01 - curve is used in a reverse orientation 0x10 - curve is used as the start of a loop 0x20 - curve is used as the end of a loop 0x80 - curve is used in a loop that is part of a “hole” in the surface The outer loop of the boundary always comes first, starts with a curve marked with 0x10 (start of loop), and ends with a curve marked as 0x20 (end of loop). This is followed by any additional loops which define the holes in the surface. There can only be one outer loop.

INT4 BoundaryMode

The mapping of the boundary for meshing: 0=Planar/Interpolate Curves, 3=Map to Surface.

INT4 BoundaryOnSurface

The ID for the surface to use for mapping if BoundaryMode=3.

API-1552

Inside

5.48.2 Surface Object Methods 5.48.2.1 Inside

Inside ( u, v ) Description: This method finds if a parametric location lies inside the specified surface. Input: REAL8 u REAL8 v

The parametric coordinates of the location to be tested.

Output: None Return Code: FE_FAIL

The location lies outside of the surface (or inside a hole).

Remarks/Usage: This method will work for any type of surface except combined boundary surfaces. Use InsideXYZ for those surfaces. Example: None

InsideXYZ

API-1553

5.48.2.2 InsideXYZ

InsideXYZ ( xyz ) Description: This method finds if a location lies inside the specified surface. Input: REAL8 xyz[0..2]

The Global Rectangular coordinates of the location to be tested.

Output: None Return Code: FE_FAIL

The location lies outside of the surface (or inside a hole).

Remarks/Usage: This method will work for any type of surface including combined boundary surfaces. Example: None

API-1554

ParamToXYZ

5.48.2.3 ParamToXYZ

ParamToXYZ ( u, v, xyz ) Description: This method converts a parametric location (u,v) to a coordinate location (xyz). Input: REAL8 u REAL8 v

The parametric coordinates of the location being specified.

Output: REAL8 xyz[0..2]

The coordinates of the location in global rectangular.

Return Code: FE_FAIL

Unable to compute the location.

Remarks/Usage: This method will work for any type of surface. Example: None

XYZToParam

API-1555

5.48.2.4 XYZToParam

XYZToParam ( xyz, u, v ) Description: This method converts a coordinate location (xyz) to a parametric location (u,v). Input: REAL8 xyz[0..2]

The coordinates of the location in global rectangular.

Output: REAL8 u REAL8 v

The parametric coordinates of the location.

Return Code: FE_FAIL

Unable to compute the location.

Remarks/Usage: This method will work for any type of surface. Example: None

API-1556

CG

5.48.2.5 CG

CG ( xyz ) Description: This method finds the center of gravity of a surface. Input: None Output: REAL8 xyz[0..2]

The coordinates of the center of gravity, in global rectangular.

Return Code: FE_FAIL

Unable to compute the location. Possibly wrong surface type, ID is not set, or data is not stored in database.

Remarks/Usage: This method will only work for solid surfaces. Furthermore, the surface must be Put to the model. The data in the current object is not used. Example: None

Area

API-1557

5.48.2.6 Area

Area ( area ) Description: This method finds the area of a surface. Input: None Output: REAL8 area

The area of the surface.

Return Code: FE_FAIL

Unable to compute the location. Possibly wrong surface type, ID is not set, or data is not stored in database.

Remarks/Usage: This method will only work for solid surfaces. Furthermore, the surface must be Put to the model. The data in the current object is not used. Example: None

API-1558

ApproximateArea

5.48.2.7 ApproximateArea

ApproximateArea ( area ) Description: This method is similar to Area( ), however the area is not computed as precisely to improve performance Input: None Output: REAL8 area

The area of the surface.

Return Code: FE_FAIL

Unable to compute the location. Possibly wrong surface type, ID is not set, or data is not stored in database.

FE_BAD_TYPE

Surface type is not supported. This method only works with Solid and Combined Surfaces

FE_NOT_EXIST

The surface does not exist

Remarks/Usage: This method will only work for solid surfaces. Furthermore, the surface must be Put to the model. The data in the current object is not used. Example: None

Tangents

API-1559

5.48.2.8 Tangents

Tangents ( u, v, uTangent, vTangent ) Description: This method finds unit vectors in the directions of the tangents to the surface at a selected location. Input: REAL8 u REAL8 v

The parametric coordinates of the location being specified.

Output: REAL8 uTangent[0..2]

The tangent vector in the direction of the u parametric space of the surface.

REAL8 vTangent[0..2]

The tangent vector in the direction of the v parametric space of the surface.

Return Code: FE_FAIL

Unable to compute the location. Possibly wrong surface type, ID is not set, or data is not stored in database.

Remarks/Usage: This method will work for any surface. Example: None

API-1560

Normal

5.48.2.9 Normal

Normal ( u, v, normal ) Description: This method finds a unit vector in the direction of the surface normal at a selected location. Input: REAL8 u REAL8 v

The parametric coordinates of the location being specified.

Output: REAL8 normal[0..2]

The vector in the direction of the surface normal.

Return Code: FE_FAIL

Unable to compute the normal. Possibly wrong surface type, ID is not set, or data is not stored in database.

Remarks/Usage: This method will work for any surface. Example: None

NormalAtXYZ

API-1561

5.48.2.10 NormalAtXYZ

NormalAtXYZ ( nLocations, xyz, normal ) Description: This method finds a unit vector in the direction of the surface normal at one or more locations. Input: INT4 nLocations

Number of locations specified in the xyz array

REAL8 xyz[0..3*nLocations-1]

The Global Rectangular coordinates of the locations where you want normals computed. This array is stored [x0,y0,z0,x1,y1,z1...], and must contain 3*nLocations entries.

Output: REAL8 normal[0..3*nLocations-1]

The vectors in the direction of the surface normals. Each set of 3 entries in this array correspond to the matching entries in the xyz array, and are the x,y and z vector components of the normal.

Return Code: FE_FAIL

Unable to compute the normals. Possibly wrong surface type, ID is not set, or data is not stored in database.

Remarks/Usage: This method will work for any surface. Example: None

API-1562

ProjectOnto

5.48.2.11 ProjectOnto

ProjectOnto ( initial, tolerance, projection ) Description: This method projects a location to the closest location that lies on a surface. Input: REAL8 initial[0..2]

The initial coordinates to be projected onto the surface.

REAL8 tolerance

The tolerance within which you will consider the projected location to be on the surface. The method stops when it finds a point that is at least this close. This tolerance is only used for certain standard surface types.

Output: REAL8 projection[0..2]

The projected location, on the surface.

Return Code: FE_FAIL

Unable to compute the location. Possibly wrong surface type, ID is not set, or data is not stored in database.

Remarks/Usage: This method will work for any surface, but all boundary surfaces must be Put to the database before using this method. Example: None

Solid

API-1563

5.48.2.12 Solid

Solid ( nSolidID ) Description: This method returns the ID of the Solid that contains the current Surface Input: None Output: INT4 nSolidID

The ID of the Solid that references the current Surface

Return Code: FE_FAIL

Unable to get the solid

Remarks/Usage: This method will only work with Solid surfaces and Combined Surfaces that are defined on a Solid. Example: None

API-1564

BoundarySurfaces

5.48.2.13 BoundarySurfaces

BoundarySurfaces ( numSurf, surfID ) Description: For a combined surface, this method returns a list of all of the surfaces used to define this surface. Input: None Output: INT4 numSurf

The number of surfaces in the “surfID” list.

INT4 surfID[0..numSurf-1]

The IDs of the surfaces used to define the Combined Surface

Return Code: FE_FAIL

Unable to get the surface list. Possibly data is not stored or this is not a Combined Surface

FE_NOT_AVAILABLE

No surfaces available for this surface.

Remarks/Usage: This method will only work with Combined Surfaces. Example: None

BoundarySurfacesAsSet

API-1565

5.48.2.14 BoundarySurfacesAsSet

BoundarySurfacesAsSet ( nSetID, bClear ) Description: For a combined surface, this method returns a list of all of the surfaces used to define this surface in a Set object Input: INT4 nSetID

The ID of the Set Object that will contain the IDs of the Surfaces

BOOL bClear

If True, the Set is cleared prior to loading the Surface IDs

Output: None Return Code: FE_FAIL

Unable to get the surface list. Possibly data is not stored or this is not a Combined Surface

FE_NOT_AVAILABLE

No surfaces available for this surface.

Remarks/Usage: This method will only work with Combined Surfaces. Example: None

API-1566

AdjacentSurfaces

5.48.2.15 AdjacentSurfaces

AdjacentSurfaces ( nCombinedMode, numSurf, surfID ) Description: This method returns a list of all of the surfaces that are adjacent to the current surface. Input:

INT4 nCombinedMode

0=List contains the basic surfaces that are adjacent, 1=Any surfaces that are adjacent that are in a Combined Surface are replaced by the ID of the Combined Surface, 2=List contains both the underlying and combined surfaces.

Output: INT4 numSurf

The number of surfaces in the “surfID” list.

INT4 surfID[0..numSurf-1]

The IDs of the adjacent surfaces

Return Code: FE_FAIL

Unable to find adjacent surfaces

Remarks/Usage: This method will only work with Solid Surfaces or Combined Surfaces on Solids. It finds all of the curves on the current surface and then finds and returns all of the other surfaces that use one or more of those curves. Example: None

AdjacentSurfacesAsSet

API-1567

5.48.2.16 AdjacentSurfacesAsSet

AdjacentSurfacesAsSet ( nCombinedMode, nSetID, bClear ) Description: This method returns a list of all of the surfaces that are adjacent to the current surface in a Set object. Input:

INT4 nCombinedMode

0=List contains the basic surfaces that are adjacent, 1=Any surfaces that are adjacent that are in a Combined Surface are replaced by the ID of the Combined Surface, 2=List contains both the underlying and combined surfaces.

INT4 nSetID

The ID of the Set Object that will contain the IDs of the Surfaces

BOOL bClear

If True, the Set is cleared prior to loading the Surface IDs

Output: None Return Code: FE_FAIL

Unable to find adjacent surfaces

Remarks/Usage: This method will only work with Solid Surfaces or Combined Surfaces on Solids. It finds all of the curves on the current surface and then finds and returns all of the other surfaces that use one or more of those curves. Example: None

API-1568

Curves

5.48.2.17 Curves

Curves ( nCombinedMode, numCurves, curveID ) Description: This method returns a list of all of the curves used to define this surface. Input:

INT4 nCombinedMode

0=List contains the basic curves that are on the surface, 1=Any curves that are on the surface that are in a Combined Curve are replaced by the ID of the Combined Curve, 2=List contains both the underlying and combined curves.

Output: INT4 numCurves

The number of curves in the “curveID” list.

INT4 curveID[0..numCurves-1]

The IDs of the curves on the surface.

Return Code: FE_FAIL

Unable to get the curve list. Possibly data is not stored or ID is not set correctly.

Remarks/Usage: This method will work with any surface, but it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. Example: None

CurveLoops

API-1569

5.48.2.18 CurveLoops

CurveLoops ( nCombinedMode, numLoops, numCurves, curveID ) Description: This method returns a list of all of the curves used to define this surface. Unlike Curves() this method returns the curves in their order around each surface loop. Input:

INT4 nCombinedMode

0=List contains the basic curves that are on the surface, 1=Any curves that are on the surface that are in a Combined Curve are replaced by the ID of the Combined Curve, 2=List contains both the underlying and combined curves.

Output:

INT4 numLoops

The number of loops on the surface and in the “curveID” list. A loop is a connected set of curves. Any surface with no interior holes or other features only has one loop. Each hole in the surface adds another loop.

INT4 numCurves

The number of entries in the “curveID” list. This is not the number of curves since there is an extra 0 at the end of each loop.

INT4 curveID[0..numCurves-1]

The IDs of the curves on the surface. Each loop ends with a 0. If the ID is negative, this indicates that the curve is used in the reverse direction.

Return Code: FE_FAIL

Unable to get the curve list. Possibly data is not stored or ID is not set correctly.

Remarks/Usage: The ID list in curveID list looks like outer c1, outer c2...outer cn, 0, inner1 c1...inner1 cn, 0, ... innerN c1...innerN cn, 0 The 0 entries define the end of a loop. IDs are negative if a curve is used in reverse direction. This method will work with any surface, but it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. Example: None

API-1570

CurvesAsSet

5.48.2.19 CurvesAsSet

CurvesAsSet ( nCombinedMode, nSetID, bClear ) Description: This method returns a list of all of the curves used to define this surface in a Set object. Input:

INT4 nCombinedMode

0=List contains the basic curves that are on the surface, 1=Any curves that are on the surface that are in a Combined Curve are replaced by the ID of the Combined Curve, 2=List contains both the underlying and combined curves.

INT4 nSetID

The ID of the Set Object that will contain the IDs of the Curves

BOOL bClear

If True, the Set is cleared prior to loading the Curve IDs

Output: None Return Code: FE_FAIL

Unable to get the curve list. Possibly data is not stored or ID is not set correctly.

Remarks/Usage: This method will work with any surface, but it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. Example: None

Points

API-1571

5.48.2.20 Points

Points ( nCombinedMode, numPoints, pointID ) Description: This method returns a list of all of the points referenced by the surface. Input: When finding the list of points, this method first finds all curves on the surface, then points on those curves. INT4 nCombinedMode

0=Uses the basic curves that are on the surface, 1=Any curves that are on the surface that are in a Combined Curve are replaced by the ID of the Combined Curve, 2=Uses both the underlying and combined curves.

Output: INT4 numPoints

The number of points in the pointID list.

INT4 pointID[0..numPoints-1]

The IDs of the points on the surface.

Return Code: FE_FAIL

Unable to get the point list. Possibly data is not stored or ID is not set correctly.

Remarks/Usage: This method will work with any surface, but it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. Example: None

API-1572

PointsAsSet

5.48.2.21 PointsAsSet

PointsAsSet ( nCombinedMode, nSetID, bClear ) Description: This method returns a list of all of the points referenced by the surface in a Set object. Input: When finding the list of points, this method first finds all curves on the surface, then points on those curves. INT4 nCombinedMode

0=Uses the basic curves that are on the surface, 1=Any curves that are on the surface that are in a Combined Curve are replaced by the ID of the Combined Curve, 2=Uses both the underlying and combined curves.

INT4 nSetID

The ID of the Set Object that will contain the IDs of the Points

BOOL bClear

If True, the Set is cleared prior to loading the Point IDs

Output: None Return Code: FE_FAIL

Unable to get the point list. Possibly data is not stored or ID is not set correctly.

Remarks/Usage: This method will work with any surface, but it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. Example: None

EndPoints

API-1573

5.48.2.22 EndPoints

EndPoints ( numPoints, pointID ) Description: This method returns a list of all of the points referenced by the surface at the ends of the defining curves. Input: None Output: INT4 numPoints

The number of points in the pointID list.

INT4 pointID[0..numPoints-1]

The IDs of the points on the surface.

Return Code: FE_FAIL

Unable to get the point list. Possibly data is not stored or ID is not set correctly.

Remarks/Usage: This method will work with any surface, but it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. This is just like the Points method, except that function will return other points like the points at the center of an arc used to define the surface. This method will only return one pair of points (the endpoints) for each curve. Example: None

API-1574

EndPointsAsSet

5.48.2.23 EndPointsAsSet

EndPointsAsSet ( nSetID, bClear ) Description: This method returns a list of all of the points referenced by the surface at the ends of the defining curves in a Set object Input: INT4 nSetID

The ID of the Set Object that will contain the IDs of the Points

BOOL bClear

If True, the Set is cleared prior to loading the Point IDs

Output: None Return Code: FE_FAIL

Unable to get the point list. Possibly data is not stored or ID is not set correctly.

Remarks/Usage: This method will work with any surface, but it uses the data stored in the database, not any changes made in the current object (until it is Put to the database). The ID field must be properly specified. This is just like the Points method, except that function will return other points like the points at the center of an arc used to define the surface. This method will only return one pair of points (the endpoints) for each curve. Example: None

Planar

API-1575

5.48.2.24 Planar

Planar ( base, normal ) Description: This method returns information about planar surfaces. Input: None Output: REAL8 base[0..2]

The coordinates of a point on the surface

REAL8 normal[0..2]

The vector that is normal to the plane

Return Code: FE_FAIL

Surface is not planar, or could not evaluate the surface.

Remarks/Usage: This method will only work with solid surfaces, not surfaces created with the FEMAP Standard geometry engine. It uses the data stored in the database, not any changes made in the current object (until they are Put to the database). Note: This method has changed for consistency with other surface methods. Prior to v9.2 it did not return information about the plane. To access the old functionality, use IsPlane( ). Example: None

API-1576

Cylindrical

5.48.2.25 Cylindrical

Cylindrical ( radius, base, axis ) Description: This method returns information about cylindrical surfaces Input: None Output: REAL8 radius

The radius of the cylinder.

REAL8 base[0..2]

The coordinates of the center of the base of the cylinder.

REAL8 axis[0..2]

The components of the axis vector.

Error Codes: FE_FAIL

Surface is not cylindrical, or could not evaluate the surface.

Remarks/Usage: This method will only work with solid surfaces, not surfaces created with the FEMAP Standard geometry engine. It uses the data stored in the database, not any changes made in the current object (until it is Put to the database). Example: None

Spherical

API-1577

5.48.2.26 Spherical

Spherical ( radius, center ) Description: This method returns information about spherical surfaces Input: None Output: REAL8 radius

The radius of the sphere.

REAL8 center[0..2]

The coordinates of the center of the sphere.

Error Codes: FE_FAIL

Surface is not spherical, or could not evaluate the surface.

Remarks/Usage: This method will only work with solid surfaces, not surfaces created with the FEMAP Standard geometry engine. It uses the data stored in the database, not any changes made in the current object (until it is Put to the database). Example: None

API-1578

Conical

5.48.2.27 Conical

Conical ( radius, angle, base, axis ) Description: This method returns information about conical surfaces Input: None Output: REAL8 radius

The radius of the cone in the plane of the base location.

REAL8 angle

The half angle of the cone

REAL8 base[0..2]

A location along the axis of the cone.

REAL8 axis[0..2]

The vector along the axis of the cone

Error Codes: FE_FAIL

Surface is not conical, or could not evaluate the surface.

Remarks/Usage: This method will only work with solid surfaces, not surfaces created with the FEMAP Standard geometry engine. It uses the data stored in the database, not any changes made in the current object (until it is Put to the database). Example: None

Toroidal

API-1579

5.48.2.28 Toroidal

Toroidal ( radius1, radius2, base, axis ) Description: This method returns information about toroidal surfaces Input: None Output: REAL8 radius1

The major radius of the toroid.

REAL8 radius2

The minor radius of the toroid

REAL8 base[0..2]

A location along the axis of the toroid.

REAL8 axis[0..2]

The vector along the axis of the toroid

Error Codes: FE_FAIL

Surface is not toroidal, or could not evaluate the surface.

Remarks/Usage: This method will only work with solid surfaces, not surfaces created with the FEMAP Standard geometry engine. It uses the data stored in the database, not any changes made in the current object (until it is Put to the database). Example: None

API-1580

IsPlane

5.48.2.29 IsPlane

IsPlane ( void ) Description: This method indicates whether a surface is planar Input: None Output: None Error Codes: FE_FAIL

Surface is not planar, or could not evaluate the surface.

FE_BAD_TYPE

Surface is not a solid surface

FE_NOT_AVAILABLE

Surface object has not been loaded with valid data from the database

Remarks/Usage: This method will only work with solid surfaces, not surfaces created with the FEMAP Standard geometry engine. It uses the data stored in the database, not any changes made in the current object (until it is Put to the database). Example: None

IsCylinder

API-1581

5.48.2.30 IsCylinder

IsCylinder ( void ) Description: This method indicates whether a surface is cylindrical Input: None Output: None Error Codes: FE_FAIL

Surface is not cylindrical, or could not evaluate the surface.

FE_BAD_TYPE

Surface is not a solid surface

FE_NOT_AVAILABLE

Surface object has not been loaded with valid data from the database

Remarks/Usage: This method will only work with solid surfaces, not surfaces created with the FEMAP Standard geometry engine. It uses the data stored in the database, not any changes made in the current object (until it is Put to the database). Example: None

API-1582

IsSphere

5.48.2.31 IsSphere

IsSphere ( void ) Description: This method indicates whether a surface is spherical Input: None Output: None Error Codes: FE_FAIL

Surface is not shperical, or could not evaluate the surface.

FE_BAD_TYPE

Surface is not a solid surface

FE_NOT_AVAILABLE

Surface object has not been loaded with valid data from the database

Remarks/Usage: This method will only work with solid surfaces, not surfaces created with the FEMAP Standard geometry engine. It uses the data stored in the database, not any changes made in the current object (until it is Put to the database). Example: None

IsCone

API-1583

5.48.2.32 IsCone

IsCone ( void ) Description: This method indicates whether a surface is conical Input: None Output: None Error Codes: FE_FAIL

Surface is not conical, or could not evaluate the surface.

FE_BAD_TYPE

Surface is not a solid surface

FE_NOT_AVAILABLE

Surface object has not been loaded with valid data from the database

Remarks/Usage: This method will only work with solid surfaces, not surfaces created with the FEMAP Standard geometry engine. It uses the data stored in the database, not any changes made in the current object (until it is Put to the database). Example: None

API-1584

IsTorus

5.48.2.33 IsTorus

IsTorus ( void ) Description: This method indicates whether a surface is toroidal Input: None Output: None Error Codes: FE_FAIL

Surface is not toroidal, or could not evaluate the surface.

FE_BAD_TYPE

Surface is not a solid surface

FE_NOT_AVAILABLE

Surface object has not been loaded with valid data from the database

Remarks/Usage: This method will only work with solid surfaces, not surfaces created with the FEMAP Standard geometry engine. It uses the data stored in the database, not any changes made in the current object (until it is Put to the database). Example: None

IsBoundingSolidRegion

API-1585

5.48.2.34 IsBoundingSolidRegion

IsBoundingSolidRegion ( void ) Description: This method indicates whether a surface is part of a solid body definition. Input: None Output: None Error Codes: FE_FAIL

Could not evaluate the surface.

FE_BAD_TYPE

Surface is not a solid surface

Remarks/Usage: This method will only work with solid surfaces, not surfaces created with the FEMAP Standard geometry engine. It uses the data stored in the database, not any changes made in the current object (until it is Put to the database). Example: None

API-1586

Facets

5.48.2.35 Facets

Facets ( numFacets, xyzFacet ) Description: This method returns the triangular facets used for display of solid surfaces. Input: None Output: INT4 numFacets

The number of facets returned.

REAL8 xyzFacet[0..9*numFacets-1]

The coordinates of the corners of the facets. Each facet is a triangle, and therefore has 9 coordinates. They are arranged in xyzFacet as [X1,Y1,Z1,X2,Y2,Z2,X3,Y3,Z3....] for the first facet, followed by the second and so on.

Return Code: FE_FAIL

Wrong type of surface, or unable to retrieve facets.

Remarks/Usage: This method will only work with solid faces that have facetting information. The surface information must be in the database. Only the ID from the current object is used. Example: None

Nodes

API-1587

5.48.2.36 Nodes

Nodes ( getBoundary, getInterior, numNodes, nodeID ) Description: This method returns the nodes that are attached to this surface Input: BOOL getBoundary

If True, the nodes attached to the surface boundary (the curves and points) are selected

BOOL getInterior

If True, the nodes attached to the interior of the surface (not on the curves or points) are selected

Output: INT4 numNodes

The number of nodes returned.

INT4 nodeID[0..numNodes-1]

The IDs of the selected nodes which are attached to the surface.

Return Code: FE_FAIL

Unable to return nodes, possibly none exist.

FE_NOT_EXIST

No nodes were attached to the surface in the manner you selected.

FE_NO_MEMORY

Insufficient memory to allocate list of attached nodes.

Remarks/Usage: None Example:

API-1588

Nodes

Nodes ( getBoundary, getInterior, numNodes, nodeID ) The following code modifies the color of all nodes on Surface 4. Sub Main() Dim App As femap.model Set App = GetObject(,"femap.model") Dim Set Dim Set Dim Dim Dim Dim

su As Surface su = App.feSurface nd As Node nd = App.feNode rc As Long Count As Long Nodes As Variant i As Long

surfID = 4 rc = su.Get (surfID) rc = su.Nodes(True, True, Count, Nodes) For i = 0 To Count - 1 nd.Get (Nodes(i)) nd.Color = 4 nd.Put (0) Next i App.feViewRegenerate(0) End Sub

NodesAsSet

API-1589

5.48.2.37 NodesAsSet

NodesAsSet ( getBoundary, getInterior, nSetID, bClear ) Description: This method returns the nodes that are attached to this surface in a Set object Input: BOOL getBoundary

If True, the nodes attached to the surface boundary (the curves and points) are selected

BOOL getInterior

If True, the nodes attached to the interior of the surface (not on the curves or points) are selected

INT4 nSetID

The ID of the Set Object that will contain the IDs of the Nodes

BOOL bClear

If True, the Set is cleared prior to loading the Node IDs

Output: None Return Code: FE_FAIL

Unable to return nodes, possibly none exist.

FE_NOT_EXIST

No nodes were attached to the surface in the manner you selected.

FE_NO_MEMORY

Insufficient memory to allocate list of attached nodes.

Remarks/Usage: None Example: None

API-1590

Elements

5.48.2.38 Elements

Elements ( numElems, elemID ) Description: This method returns the elements that are attached to this surface Input: None Output: INT4 numElems

The number of elements returned.

INT4 elemID[0..numElems-1]

The IDs of the selected elements which are attached to the surface.

Return Code: FE_FAIL

Unable to return elements, possibly none exist.

FE_NOT_EXIST

No elements were attached to the surface in the manner you selected.

FE_NO_MEMORY

Insufficient memory to allocate list of attached elements.

Remarks/Usage: Only elements that have all of their nodes on the surface will be returned by this method. Elements that simply touch the surface at one edge or one node will not be returned. Similarly, solid elements with one face on the surface will not be returned. Example: None

ElementsAsSet

API-1591

5.48.2.39 ElementsAsSet

ElementsAsSet ( nSetID, bClear ) Description: This method returns the elements that are attached to this surface in a Set object Input: INT4 nSetID

The ID of the Set Object that will contain the IDs of the Elements

BOOL bClear

If True, the Set is cleared prior to loading the Element IDs

Output: None Return Code: FE_FAIL

Unable to return elements, possibly none exist.

FE_NOT_EXIST

No elements were attached to the surface in the manner you selected.

FE_NO_MEMORY

Insufficient memory to allocate list of attached elements.

Remarks/Usage: Only elements that have all of their nodes on the surface will be returned by this method. Elements that simply touch the surface at one edge or one node will not be returned. Similarly, solid elements with one face on the surface will not be returned. Example: None

API-1592

ElementsWithFaces

5.48.2.40 ElementsWithFaces

ElementsWithFaces ( numElems, elemID ) Description: This method returns the elements that have faces which are attached to this surface Input: None Output: INT4 numElems

The number of elements returned.

INT4 elemID[0..numElems-1]

The IDs of the selected elements which have faces that are attached to the surface.

Return Code: FE_FAIL

Unable to return elements, possibly none exist.

FE_NOT_EXIST

No elements were attached to the surface in the manner you selected.

FE_NO_MEMORY

Insufficient memory to allocate list of attached elements.

Remarks/Usage: Only elements that have faces on the surface will be returned by this method. Solid elements with one face on the surface will be returned, as will planar elements meshed on the surface. Other elements that simply touch the surface at a corner, or solid elements touching just along an edge will not be returned. Example: None

ElementFaces

API-1593

5.48.2.41 ElementFaces

ElementFaces ( getPlaneElem, getSolidElem, requireElemAttach, numFaces, elemID, faceID ) Description: This method returns the element faces that are attached to this surface Input: BOOL getPlaneElem

If True, planar elements with faces on the surface will be returned.

BOOL getSolidElem

If True, solid elements with faces on the surface will be returned.

BOOL requireElemAttach

If True, planar elements must actually have been meshed on the surface, not just have all of its nodes on the surface.

Output: INT4 numFaces

The number of elements and faces returned.

INT4 elemID[0..numFaces-1]

The IDs of the selected elements which have faces that are attached to the surface.

INT4 faceID[0..numFaces-1]

The IDs of the faces of the elements which are on the surface.

Return Code: FE_FAIL

Unable to return element faces, possibly none exist.

FE_NOT_EXIST

No faces were attached to the surface in the manner you selected.

FE_NO_MEMORY

Insufficient memory to allocate lists of attached elements/faces.

Remarks/Usage: The elemID and faceID arrays are stored in corresponding order . . . elemID[i] and faceID[i] together represent the element face that is actually attached to the surface. Example: None

API-1594

BoundingBox

5.48.2.42 BoundingBox

BoundingBox ( Box ) Description: This method returns the coordinates of a rectangular box the encloses this geometry. Input: None Output:

INT4 Box[0..5]

The dimensions of the bounding box, in Global Rectangular coordinates. Box[0] - Minimum X, Box[3] - Maximum X Box[1] - Minimum Y, Box[4] - Maximum Y Box[2] - Minimum Z, Box[5] - Maximum Z

Return Code: FE_FAIL

Unable to find a bounding box.

FE_INVALID

Object does not contain valid geometry. This method only works for Parasolid-based geometry.

Remarks/Usage: This method always retrieves a box that is aligned with Global Rectangular coordinates, not an aligned box of minimum volume. Example: None

BoundingSize

API-1595

5.48.2.43 BoundingSize

BoundingSize ( pvDim, pvLongDir, pvNormalDir ) Description: This method finds the sizes of the smallest box that encloses the surface and the direction of the longest side and the shortest side Input: None Output: VARIANT pvDim[0..2]

The dimensions of the bounding box

VARIANT pvLongDir[0..2]

The direction along the longest side

VARIANT pvNormalDir[0..2]

The direction along the shortest side of the box (normal to a planar surface)

Return Code: FE_FAIL

Unable to compute the size. Possibly wrong surface type, ID is not set, or data is not stored in database.

FE_INVALID

Invalid surface type, this method only works with Solid and Combined surfaces.

Remarks/Usage: This method will only work for solid surfaces. Furthermore, the surface must be Put to the model. The data in the current object is not used. Example: None

API-1596

NormalBox

5.48.2.44 NormalBox

NormalBox ( box ) Description: This method finds a bounding box around the unit normals Input: None Output:

REAL8 box[0..5]

The values of the normal bounding box, in Global Rectangular coordinates. Box[0] - Minimum dX, Box[3] - Maximum dX Box[1] - Minimum dY, Box[4] - Maximum dY Box[2] - Minimum dZ, Box[5] - Maximum dZ

Return Code: FE_FAIL

Unable to compute the normals. Possibly wrong surface type, ID is not set, or data is not stored in database.

Remarks/Usage: This method will work for any surface. Example: None

MaxNormalDeviation

API-1597

5.48.2.45 MaxNormalDeviation

MaxNormalDeviation ( dLimit, dAngle ) Description: This method the maximum angle between the normal vectors on this surface Input:

REAL8 dLimit

A maximum angle that is acceptable. Normally set this to 0.0 - which means to return any angle variation. If you set this to some other positive number, then the method will fail if the angle is greater than the specified value.

Output: REAL8 dAngle

The maximum angle between normal vectors

Return Code: FE_FAIL

The maximum angle exceeded the limit you set. (dAngle is invalid)

FE_NOT_AVAILABLE

Surface facetting information is not available to compute the normals

FE_NO_MEMORY

Not enough memory to load all of the surface facets.

Remarks/Usage: This is an approximate method. It uses the normals at the corners of facets, therefore you are not guaranteed that the maximum deviation will not be slightly larger than the value computed. Example: None

API-1598

AngleAtPoint

5.48.2.46 AngleAtPoint

AngleAtPoint ( nPtID, dAngle, vBisector, vNormal ) Description: This method retrieves the internal angle, the surface normal vector, and a surface tangent vector that bisects the angle at a point on a surface boundary Input: INT4 nPtID

The ID of the point to check

Output: REAL8 dAngle

The angle, in the surface, formed by the edges meeting at the selected point

REAL8 vBisector[0..2]

The surface tangent vector that bisects the angle

REAL8 vNormal[0..2]

The surface normal at the point

Return Code: FE_FAIL

Unable to determne the requested information.

FE_NOT_AVAILABLE

The selected point was not found

FE_NO_MEMORY

Not enough memory to load all of the surface facets.

Remarks/Usage: None Example: None

HasPole

API-1599

5.48.2.47 HasPole

HasPole ( void ) Description: This method indicates whether a surface contains a pole. Input: None Output: None Return Code: FE_FAIL

Surface does not contain a pole, or could not evaluate the surface.

FE_BAD_TYPE

Surface is not a Parasolid surface

FE_NOT_AVAILABLE

Surface object has not been loaded with valid data from the database

Remarks/Usage:

Example: None

API-1600

MinRadiiOfCurvature

5.48.2.48 MinRadiiOfCurvature

MinRadiiOfCurvature ( pdConcaveRadius, pdConvexRadius, pbIsPlanar ) Description: This method returns the minimum concave and convex radii of curvature of a surface Input: None Output: REAL8 pdConcaveRadius

The minimum radius of curvature on the concave side of the surface

REAL8 pdConvexRadius

The maximum radius of curvature on the concave side of the surface

BOOL pbIsPlanar

True if the surface is plaanr

Return Code: None Remarks/Usage: Use this method to reset all parameters, then adjust individual properties to suit your needs. Example: None

RationalParamToXYZ

API-1601

5.48.2.49 RationalParamToXYZ

RationalParamToXYZ ( u, v, XYZ ) Description: This method converts a parametric location (u,v) to a coordinate location (xyz) using rational uv space. Input: REAL8 u REAL8 v

The rational parametric coordinates of the location being specified. Parametric coordinates are between 0 and 1

Output: REAL8 XYZ[0..2]

The coordinates of the location in global rectangular.

Return Code: FE_FAIL Remarks/Usage:

Example: None

Unable to compute the location.

API-1602

ResetMeshAttr

5.48.2.50 ResetMeshAttr

ResetMeshAttr () Description: This method resets the mesh attribute parameters to default values. Input: None Output: None Return Code: None Remarks/Usage: Use this method to reset all parameters, then adjust individual properties to suit your needs. Example: None

Mesh

API-1603

5.48.2.51 Mesh

Mesh ( propID, elemShape, bAllowMapped ) Description: This method meshes the surface using the current meshing attributes and the values specified. Input:

INT4 propID

Specifies the ID of the property to use for elements as they are created. If you want to use predefined meshing attributes, set propID=0. In this case, all selected surfaces must have meshing attributes defined or they will not be meshed. The propID property must be compatible with surface meshing.

INT4 elemShape

The shape of the elements to mesh. Must be 2=Tria3, 3=Tria6, 4=Quad4, 5=Quad8 or set to 0 to use the shape that is predefined on the meshing attributes.

BOOL bAllowMapped

If True, mapped meshing of the surfaces is allowed, otherwise it is not. This argument is ignored if elemShape=0

Output: None Return Code: FE_FAIL

Could not mesh surfaces.

FE_INVALID

The value specified for elemShape is invalid

FE_NOT_EXIST

The property specified does not exist.

FE_NOT_AVAILABLE

No surface has been loaded in the current object.

Remarks/Usage: This method simply calls the application method feMeshSurface2( ) with the ID of the current surface and without resetting meshing attributes. If you have made changes to the meshing attributes in the current surface object, you must call Put() prior to calling this method or those changes will not be used. Example:

API-1604

Mesh

Mesh ( propID, elemShape, bAllowMapped ) This example meshes Surface 2 with Parabolic Quad elements that are offset by 0.1 Sub Main Dim Set Dim Set

App As femap.model App = feFemap() s As femap.Surface s = App.feSurface

s.Get(2) s.ResetMeshAttr() s.attrOffset = 0.1 s.attrOffsetFrom = FMOF_TOP s.Put(2) s.Mesh(1,FTO_QUAD8,True) End Sub

Mesh

API-1605

API-1606 5.49 Text Objects Text objects correspond to the text entities in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for text. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feText method of the FEMAP Application object to create Text objects.

5.49.1 Text Object Properties Text entities are always stored with a SetID=1, and the ID equal to the Text ID. In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property

Description

BOOL ModelPosition

Method for positioning text (True=Model, False=Screen)

BOOL AllViews

Indicates if the text is visible in all Views - if False, only visible in “VisibleView”

BOOL DrawPointer

If True, a pointer is drawn in addition to the text

BOOL DrawBorder

If True, a border is drawn around the text

INT4 VisibleView

The ID of a view where the text is visible. Only used if AllViews=False

INT4 layer

The layer associated with the text.

INT4 color

The color of the text

INT4 BorderColor

The color of the border drawn around the text. Only used if DrawBorder=True

INT4 BackColor

The background color of the text. Only used if the DrawBorder=True

REAL8 TextPosition[0..2] or VARIANT vTextPosition

The coordinates of the text. If ModelPosition=True, these are model coordinates in the Global Rectangular CSys. If ModelPosition=False, these are specified as a percent of the view location and TextPosition[2] is not used.

REAL8 PointerPosition[0..2] or VARIANT vPointerPosition

The location of the tip of the pointer, specified in the same manner as TextPosition. Only used if DrawPointer=True.

INT4 HorzJustify

The horizontal justification method

INT4 VertJustify

The vertical justification method

INT4 FontNumber

The ID of the font for the text

STRING text

The actual text string (limited to 256 characters). Contains carriage return and line-feed characters between lines of text.

API-1607

API-1608 5.49.2 Text Object Methods There are no Text object-specific methods. Only the standard entity methods are available.

API-1609 5.50 TMGBC Objects TMGBC objects correspond to the TMG-defined boundary condition data in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for TmbBC Objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feTMGBC method of the FEMAP Application object to create TMGBC objects.

5.50.1 TMGBC Object Properties In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property

Description

INT4 i[0..119] or VARIANT vi

Integer array.

REAL8 r[0..73] or VARIANT vr

Real array.

INT4 c[0..242] or VARIANT vc

Character array, each entry is returned and accessed via an INT4.

API-1610

GetAll

5.50.2 TMGBC Object Methods 5.50.2.1 GetAll

GetAll ( entID, i, r, c ) Description: This method retrieves an entity with the specified ID. Input: INT4 entID

ID of the entity to retrieve.

Output: INT4 i REAL8 r

Refer to the property descriptions for each of these items. c is returned in an integer array, even though it contains only char values.

INT4 c Return Code: FE_FAIL Remarks/Usage:

Example: None

The specified entity does not exist.

PutAll

API-1611

5.50.2.2 PutAll

PutAll ( entID, i, r, c ) Description: This method stores an entity with the specified ID. Input: INT4 entID

The ID of the entity to store.

INT4 i REAL8 r

Refer to the property descriptions for each of these items. c is loaded in an integer array, even though it contains only char values.

INT4 c Output: None Return Code: FE_FAIL Remarks/Usage:

Example: None

Unable to store the entity with the specified ID.

API-1612 5.51 TMGCtrl Objects TMGCtrl objects correspond to the TMG-defined control data in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for TMGCtrl objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feTMGCtrl method of the FEMAP Application object to create TMGCtrl objects.

5.51.1 TMGCtrl Object Properties In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property

Description

INT4 i[0..53] or VARIANT vi

Integer array.

REAL8 r[0..19] or VARIANT vr

Real array.

BOOL b[0..121] or VARIANT vb

Boolean array.

INT4 c[0..485] or VARIANT vc

Character array, each entry is returned and accessed via an INT4.

GetAll

API-1613

5.51.2 TMGCtrl Object Methods 5.51.2.1 GetAll

GetAll ( entID, i, r, b, c ) Description: This method retrieves an entity with the specified ID. Input: INT4 entID

ID of the entity to retrieve.

Output: INT4 i REAL8 r BOOLEAN b

Refer to the property descriptions for each of these items. c is returned in an integer array, even though it contains only char values.

INT4 c Return Code: FE_FAIL Remarks/Usage:

Example: None

The specified entity does not exist.

API-1614

PutAll

5.51.2.2 PutAll

PutAll ( entID, i, r, b, c ) Description: This method stores an entity with the specified ID. Input: INT4 entID

The ID of the entity to store.

INT4 i REAL8 r BOOLEAN b

Refer to the property descriptions for each of these items. c is loaded in an integer array, even though it contains only char values.

INT4 c Output: None Return Code: FE_FAIL Remarks/Usage:

Example: None

Unable to store the entity with the specified ID.

API-1615 5.52 TMGInt Objects TMGInt objects correspond to the TMG-defined integer data in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for TmbInt objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feTMGInt method of the FEMAP Application object to create TMGInt Objects.

5.52.1 TMGInt Object Properties In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property INT4 i[0..49] or VARIANT vi

Description Integer array.

API-1616

GetAll

5.52.2 TMGInt Object Methods 5.52.2.1 GetAll

GetAll ( entID, i ) Description: This method retrieves an entity with the specified ID. Input: INT4 entID

ID of the entity to retrieve.

Output: INT4 i

Refer to the property descriptions for each of these items.

Return Code: FE_FAIL Remarks/Usage:

Example: None

The specified entity does not exist.

PutAll

API-1617

5.52.2.2 PutAll

PutAll ( entID, i ) Description: This method stores an entity with the specified ID. Input: INT4 entID

The ID of the entity to store.

INT4 i

Refer to the property descriptions for each of these items. c is loaded in an integer array, even though it contains only char values.

Output: None Return Code: FE_FAIL Remarks/Usage:

Example: None

Unable to store the entity with the specified ID.

API-1618 5.53 TMGOpt Objects TMGOpt objects correspond to the TMG-defined option data in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for TMGOpt objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feTMGOpt method of the FEMAP Application object to create TMGOpt objects.

5.53.1 TMGOpt Object Properties In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property

Description

INT4 i[0..16] or VARIANT vi

Integer array.

REAL8 r[0..1] or VARIANT vr

Real array.

INT4 c[0..84] or VARIANT vc

Character array, each entry is returned and accessed via an INT4.

GetAll

API-1619

5.53.2 TMGOpt Object Methods 5.53.2.1 GetAll

GetAll ( entID, i, r, c ) Description: This method retrieves an entity with the specified ID. Input: INT4 entID

ID of the entity to retrieve.

Output: INT4 i REAL8 r

Refer to the property descriptions for each of these items. c is returned in an integer array, even though it contains only char values.

INT4 c Return Code: FE_FAIL Remarks/Usage:

Example: None

The specified entity does not exist.

API-1620

PutAll

5.53.2.2 PutAll

PutAll ( entID, i, r, c ) Description: This method stores an entity with the specified ID. Input: INT4 entID

The ID of the entity to store.

INT4 i REAL8 r

Refer to the property descriptions for each of these items. c is loaded in an integer array, even though it contains only char values.

INT4 c Output: None Return Code: FE_FAIL Remarks/Usage:

Example: None

Unable to store the entity with the specified ID.

API-1621 5.54 TMGReal Objects TMGReal objects correspond to the TMG-defined real data in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for TMGReal objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feTMGReal method of the FEMAP Application object to create TMGReal objects.

5.54.1 TMGReal Object Properties In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information. Property

Description

INT4 i[0..11] or VARIANT vi

Integer array.

REAL8 r[0..55] or VARIANT vr

Real array.

API-1622

GetAll

5.54.2 TMGReal Object Methods 5.54.2.1 GetAll

GetAll ( entID, i, r ) Description: This method retrieves an entity with the specified ID. Input: INT4 entID

ID of the entity to retrieve.

Output: INT4 i REAL8 r

Refer to the property descriptions for each of these items.

Return Code: FE_FAIL Remarks/Usage:

Example: None

The specified entity does not exist.

PutAll

API-1623

5.54.2.2 PutAll

PutAll ( entID, i, r ) Description: This method stores an entity with the specified ID. Input: INT4 entID INT4 i REAL8 r

The ID of the entity to store. Refer to the property descriptions for each of these items.

Output: None Return Code: FE_FAIL Remarks/Usage:

Example: None

Unable to store the entity with the specified ID.

API-1624 5.55 Variable Objects Variable objects correspond to the variables in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for Variable objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feVar method of the FEMAP Application object to create Variable objects.

5.55.1 Variable Object Properties Variables are always stored with a SetID=1, and the ID equal to an encoded value that is derived from the variable name. You can use the GetVarID method described below to find the ID. If you use the properties to define a variable, it is your responsibility to update all of them in a compatible fashion. You cannot simply specify one or two of them and leave the rest blank. In addition, VarName must be defined to match the ID that you pass to Put. It is often easier to use the Define method below to create variables, and simply use the properties to retrieve their values. Property

Description

REAL8 Value

The stored value of the variable.

STRING VarName

The name of the variable. Maximum 20 characters.

STRING Equation

The defining equation of the variable. Maximum 160 characters.

GetVarID

API-1625

5.55.2 Variable Object Methods 5.55.2.1 GetVarID

GetVarID ( varname ) Description: This method retrieves the encoded ID that is associated with a specified variable name. Input: STRING varname

The name of the variable to compute the associated ID.

Output: None Return Code: INT4 ID

The ID associated with the name.

Remarks/Usage: You do not need to have a variable with the specified name to use this function. Example: None

API-1626

Evaluate

5.55.2.2 Evaluate

Evaluate ( void ) Description: This method evaluates the equation stored in the current Equation property. The result is returned, and used to update the Value property. Input: None Output: None Return Values: REAL8 value Remarks/Usage: None Example: None

The value of the equation property. Also stored in Value.

Define

API-1627

5.55.2.3 Define

Define ( varname, equation ) Description: This method evaluates the equation stored in the current Equation property. The result is returned, and used to update the Value property. Input: STRING varname

The variable name to create or update. Maximum 20 characters.

STRING equation

The equation used to define the variable. Maximum 160 characters.

Output: None Return Code: None Remarks/Usage: This method automatically computes the value and sets all properties for the variable. In addition, the variable is Put to the database so it is permanently retained. Example: None

API-1628

DefineReal

5.55.2.4 DefineReal

DefineReal ( varname, value ) Description: This method defines a variable and its associated real number. Input: STRING varname

The variable name to create or update. Maximum 20 characters.

REAL8 value

The value to assigned to the variable.

Output: None Return Code: None Remarks/Usage: None Example: None

API-1629 5.56 View Objects View objects correspond to the views in your model. They are derived from Entity objects, so in addition to the properties and methods described here, all of the properties and methods defined for Entity objects are also available for View objects. For more information, see Section 5.1, "Common Entity Properties and Methods". Use the feView method of the FEMAP Application object to create View objects.

5.56.1 View Object Properties Views are always stored with a SetID=1, and the ID equal to the view ID. In this table, you will see some properties that list two names - one of which is an array, the other a Variant. Refer to Section 1.2.7, "Multiple Definitions of Array Properties" for more information.

Property

Description

STRING title

View title (maximum 79 characters).

INT4 Mode

Drawing style: 0=Draw, 1=Feature, 2=Quick Hide, 3=Hide, 4=Free Edge, 5=Free Face, 6=XYvsID, 7=XYvsSET, 8=XYvsVALUE, 9=XYvsPOSITION, 10=XY of Function.

INT4 Deformed

Deformed style: 0=Off, 1=Deformed, 2=Animate, 3=Animate MultiCase, 4=Arrow.

INT4 Contour

Contour style: 0=Off, 1=Contour, 2=Criteria, 3=Beam Diagram, 4=IsoSurface, 5=Section Cut, 6=Contour Vector.

BOOL Render

True if in Render mode.

BOOL UndefAnimation

True if undeformed animation.

INT4 BC

Constraint SetID, or -1 for active.

INT4 Load

Load SetID, or -1 for active.

INT4 Group

Group SetID, -1 for active group, -2 for mutliple groups.

INT4 ContourGroup

ID of Group containing Elements to be used for various contour style displays. -1 for active.

INT4 OutputSet

Output Set ID for post.

INT4 FinalOutputSet

Final Output Set ID for multicase animation.

INT4 OutputSetInc

Output Set increment for multicase animation.

INT4 DeformData

Output Vector ID for deformation.

INT4 ContourData

Output Vector ID for contour.

INT4 XYOutputSet[0..8] or VARIANT vXYOutputSet

Output Set IDs for each curve.

API-1630 Property

Description

INT4 XYSetRange[0..1] or VARIANT vXYSetRange INT4 XYOutputData[0..8] or VARIANT vXYOutputData

Output Vector IDs for XY curves.

INT4 XYOutputEntity[0..8] or VARIANT vXYOutputEntity

Entity ID node or element) for each XY curve.

INT4 Function[0..8] or VARIANT vFunction

Function IDs for XY plot curves.

REAL8 Rotation[0..2] or VARIANT vRotation

Rotation angles

REAL8 PrevRotation[0..2] or VARIANT vPrevRotation

Previous rotation angles

REAL8 Center[0..2] or VARIANT vCenter

Location of view center.

REAL8 Magnification

Magnification factor (1=AutoScale).

REAL8 Aspect

View aspect ratio.

BOOL RotationCenterOn

Flag to use rotation center for dynamic rotation.

REAL8 RotationCenter[0..2] or VARIANT vRotationCenter

Center of rotation for dynamic rotation.

REAL8 RotationVector[0..2] or VARIANT vRotationVector

Axis of rotation for dynamic rotation.

REAL8 PrevCenter[0..2] or VARIANT vPrevCenter

Previous center location.

REAL8 PrevMagnification

Previous magnification factor.

BOOL ShowAllLayers

Flag to display all layers.

BOOL WindowTitleBar

Flag to indicate title bar is on.

INT4 WindowBorder

Border mode.

API-1631 Property

Description

BOOL WindowEraseBack

True if background should be erased.

INT4 WindowBackColor

Background Color ID.

BOOL WindowShadeBack

True if background should be shaded using second background color.

INT4 WindowShadeBackOpt

0=Vertical, 1=Horizontal, 2=Diagonal Up, 3=Diagonal Down, 4=Square Spot, 5=Circular Spot, 6=Horizon, 7=Bitmap, 8=Stretched Bitmap

INT4 WindowBackColor2

Second Background Color ID - only used in render with WindowShadeBack=True.

INT4 WindowBackColor3

Third Background Color ID - only used in render with WindowShadeBack=True and WindowShadeBackOpt=6

INT4 WindowShadeHorizon

The location of the background horizon in percent of screen height.

BOOL WindowLogo

If True, and a logo bitmap is defined, it will be shown in this view

REAL8 LogoLocation[0..2] or VARIANT vLogoLocation

The location of the logo bitmap if it is shown in the view. In percent of screen.

REAL8 PrevWindowLeft REAL8 PrevWindowTop REAL8 PrevWindowRight REAL8 PrevWindowBottom REAL8 PrevWindowXmin

Previous sizing of XY plot in window.

REAL8 PrevWindowXmax REAL8 PrevWindowYmin REAL8 PrevWindowYmax BOOL Draw[0..114] or VARIANT vDraw

View Option Draw flags.

INT4 Label[0..114] or VARIANT vLabel

View Option Labelling.

INT4 ColorMode[0..114] or VARIANT vColorMode

View Option Color Modes.

API-1632 Property

Description

INT4 Color[0..114] or VARIANT vColor

View Option View Color.

REAL8 PerspectiveDist

Perspective distance.

REAL8 InterOccularDist

Perspective separation.

REAL8 SpotlightDist

Spotlight distance.

REAL8 SpotlightDir[0..2] or VARIANT vSpotlightDir REAL8 ShrinkFactor

Element shrink factor.

REAL8 CurveError

Obsolete - use Global Info_FacetXXX properties

REAL8 AmbientLight

Ambient light value.

REAL8 Light[0..2] or VARIANT vLight

Location of light source.

REAL8 AxisLocation[0..1] or VARIANT vAxisLocation

Location of screen axes.

REAL8 ArrowsToLabel

Percent of post arrows to label.

INT4 SurfaceDivisions

Obsolete - use surface facetting

REAL8 LoadVecLength

Length of load vectors.

REAL8 OtherVecLength

Length of other vectors

REAL8 LoadVectorMinScale

Load vector minimum scale factor.

REAL8 RenderPushForward

Controls edge offset of filled entities such as surfaces and elements at an angle to the screen (25 to 150)

REAL8 RenderPushUnit

Controls edge offset of filled entities such as surfaces and elements perpendicular to normal (25 to 150)

REAL8 RenderPushUndeformed

Controls the screen normal offset of the undeformed model with respect to the deformed model (-100 to 100)

INT4 RenderPushLabel

Controls the screen normal offset of labels. The value is a multiple of the font height (0-10)

REAL8 DeformedRelScale

Deformed relative scale factor.

REAL8 DeformedAbsScale

Deformed absolute scale factor.

INT4 AnimationFrames

Number of animation frames.

API-1633 Property

Description

INT4 AnimationDelay

Animation delay factor.

INT4 UserContourLevel[0..11] or VARIANT vUserContourLevel

Use User Defined contours.

REAL8 UserContourValue[0..11] or VARIANT vUserContourValue

Contour level value.

INT4 UserContourCount

Number of user defined levels.

INT4 ContourLabelFreq

Contour labelling frequenc.y

INT4 ContourLegendFreq

Contour legend labelling frequency.

INT4 ContourLabelDigits

Number of digits on contour labels.

INT4 ContourLegendDigits

Number of digits on contour legend.

INT4 ContourColor[0..5] or VARIANT vContourColor

Contour Base Colors

REAL8 CriteriaMax

Upper criteria limit.

REAL8 CriteriaMin

Lower criteria limit.

BOOL ContourElemUnaveraged

Show unaveraged element contours.

BOOL ContourElemBreakProp

Don’t average across properties.

BOOL ContourElemBreakMatl

Don’t average across materials.

BOOL ContourElemBreakLayer

Don’t average across layers.

BOOL ContourElemBreakColor

Don’t average across colors.

BOOL ContourElemBreakGeom

Don’t average across discontinuous geometry.

REAL8 ContourElemBreakAngle

Geometry break angle.

REAL8 XYXmin REAL8 XYXmax REAL8 XYymin REAL8 XYymax REAL8 XYScale[0..8] or VARIANT vXYScale

XY X axis range.

XY Y aAxis range.

Scale factor for associated XY curve.

API-1634 Property STRING XYTitle STRING XYSubtitle

Description XY plot titles (maximum 79 characters).

INT4 XYCSys

CSys for XY vs Position.

INT4 XYDirection

Direction for XY vs Position.

INT4 XYXTics

Number of tics along X axis.

INT4 XYYTics

Number of tics along Y axis.

BOOL SectionPlaneMode

The mode for section displays - True for Multiple Section mode, false otherwise.

BOOL Section1On

True if Section plane 1 is on in Multiple Section mode

BOOL Section2On

True if Section plane 2 is on in Multiple Section mode

BOOL Section3On

True if Section plane 3 is on in Multiple Section mode

REAL8 SectionBase[0..2] or VARIANT vSectionBase

Origin for first cut plane.

REAL8 SectionNormal[0..2] or VARIANT vSectionNormal

Vector normal for first cut plane.

REAL8 Section2Base[0..2] or VARIANT vSection2Base

Origin for second cut plane.

REAL8 Section2Normal[0..2] or VARIANT vSection2Normal

Vector normal for second cut plane.

REAL8 Section3Base[0..2] or VARIANT vSection3Base

Origin for third cut plane.

REAL8 Section3Normal[0..2] or VARIANT vSection3Normal

Vector normal for third cut plane.

REAL8 SectionSpacing

Spacing between cut planes.

INT4 SectionCount

Number of Cutting Planes.

BOOL SectionMode

Section cut mode.

REAL8 IsosurfaceValue

Single iso-surface value.

INT4 TraceOpt

Trace option.

API-1635 Property

Description

INT4 TraceID

ID of output vector for trace plots.

BOOL ContourVecHide

True if contour vectors should be included in hidden line calculation.

INT4 ContourVecMode

Contour vector output relative to mode.

INT4 ContourVecID1[0..2] or VARIANT vContourVecID1

IDs of output vectors for contour vector.

INT4 ContourVecID2[0..2] or VARIANT vContourVecID2

IDs of output vectors for second contour vector.

INT4 ContourVecID3[0..2] or VARIANT vContourVecID3

IDs of output vectors for third contour vector.

INT4 ContourVecCSys

Contour vector CSys.

REAL8 ContourVecDir[0..2] or VARIANT vContourVecDir

Components of contour vector direction.

INT4 ContourVecAddl

Additional contour vector output ID.

INT4 ContourVecColor2

Color for second contour vector.

INT4 ContourVecColor3

Color for third contour vector.

INT4 ContourVecDigits

Number of digits in contour vector labels

INT4 ContourVecLength

Length of contour vectors

INT4 StreamLineOpt

Determines what location(s) are used to initiate streamlines (0 – uses vStreamLineLocation, 1 – uses StreamLineID as a point ID, 2 – uses StreamLineID as a group ID)

INT4 StreamLineID

ID of a point or group of points used to initiate a streamline

INT4 StreamLineRungeKuttaOrder

Controls accuracy of streamline solution – the higher the value, the more accurate and slower the solution (1 to 4)

REAL8 StreamLineTolerance

Controls accuracy of streamline solution – the lower the value, the more accurate and slower the solution (1e-15 to 1)

REAL8 StreamLineMaxLenFactor

This is a multiplier times the model “diameter” – if the streamline is too long, calculation is terminated (1e-15 upwards)

REAL8 StreamLineMinSpeedPct

This is a percentage of the maximum speed – if the speed gets too low, calculation is terminated (1e-15 to 100)

API-1636 Property

Description

REAL8 StreamLineMaxTime

Not Used

REAL8 StreamLineLocation[0..2] or VARIANT vStreamLineLocation

XYZ location of start point of streamline if StreamLineOpt = 0

REAL8 ContourLegendShrinkPct

Contour legend is shrunk to this percentage to avoid overlap with view legend, post title and logo bitmap

INT4 TransparencyPercent

Transparency percentage applied to all entities (0=opaque,100=fully transparent)

BOOL RotateAroundModelAxes

If True, dynamic rotations are around the model axes. If False, screen axes. (used if RotateUseAxis is true)

BOOL RotateSingleAxis

If True, dynamic rotations are around a single axis based on the predominant direction. (used if RotateUseAxis is true)

BOOL RotateUseAxis

If True, single and model axis dynamic rotation is available.

INT4 RotateCSys

The ID of the Coordinate System used for rotations by the View Rotate command.

INT4 UserContourPalette[0..63] or VARIANT vUserContourPalette

Colors for user contour palette.

INT4 MaxUserContourPalette

Number of colors stored in UserContour Palette.

INT4 TransformDeformMode

Controls destination of transformed deformation data 0 = None 1 = Coordinate System given in TransformDeformCSys 2 = Nodal Output Coordinate System

INT4 TransformDeformCSys

Destination coordinate system when TransformDeformMode = 1

BOOL TransformDeformX BOOL TransformDeformY BOOL TransformDeformZ

Control which components of the transformed deformation are displayed

INT4 TransformNodalMode

Controls contour/criteria destination coordinate system for transformed nodal output vectors 0 = None 1 = Coordinate System given in TransformNodalCSys 2 = Nodal Output Coordinate System

INT4 TransformNodalCSys

Destination coordinate system when TransformNodalMode = 1

API-1637 Property

Description

INT4 TransformPlateMode

Controls contour/criteria destination for transformed plate element output vectors 0 = None 3 = Material Coordinate System 4 = Vector defined by axis TransformPlateDOF of Coordinate System TransformPlateCSys projected onto plate 5 = Vector defined by TransformPlateVector projected onto plate

INT4 TransformPlateCSys

Destination coordinate system when TransformPlateMode = 4

INT4 TransformPlateDOF

Axis of destination coordinate system when TransformPlateMode = 4

INT4 TransformPlateVector[0..2] or VARIANT vTransformPlateVector

Vector used when TransformPlateMode = 5

INT4 TransformSolidMode

Controls contour/criteria destination coordinate system for transformed solid element output vectors 0 = None 6 = Coordinate System given in TransformSolidCSys 7 = Material Coordinate System

INT4 TransformSolidCSys

Destination coordinate system when TransformSolidMode = 4

INT4 GlobalPlyLocation

For laminate results, the global ply location to display for contour/criteria displays: 0=Location of Selected Output Vector, -1=Top Ply, -2=Bottom Ply, any other positive number is the ID of the Global Ply to display. Not used unless laminate results are selected.

INT4 DeformRelativeToNode

The NodeID to deform/animate around. You must also set the “label” value for this to be used.

REAL8 BeamDiagramScale

The scale factor for beam diagrams

REAL8 ClipPlaneOrigin[0..2] or VARIANT vClipPlaneOrigin

The coordinates of a point on the model clipping plane

REAL8 ClipPlaneNormal[0..2] or VARIANT vClipPlaneNormal

The vector components of the normal to the model clipping plane

BOOL BlankNodesOff

If True, nodes associated with the blanked entity will not be blanked.

API-1638 5.56.1.1 View Object Freebody Interface

The following table shows properties that were part of the View Object Freebody Interface prior to Version 10.3. With that release, the entire methodology of Freebody Display was changed necessitating changes to the API. This table shows how to map the old API interface to the new one.

Property

Description

Now Controlled By

BOOL FreebodyOn

Flag indicating freebody is on.

View Object Draw[FVI_FREEBODY] Property

BOOL FreebodyLoad[0..5] or VARIANT vFreebodyLoad

Flags for load types for freebody.

Freebody Object SumContributions Property

INT4 FreebodyGroup

ID of group to be used in freebody.

Freebody Object Group Property

BOOL FreebodyForceMom[0..1] or VARIANT vFreebodyForceMom

Show forces[0] and moments[1].

Vector visibility: Freebody Object ShowTotalVec and ShowNodalVec Properties. Inclusion in summation vector calculation: Freebody Object SumComponents Property

BOOL FreebodyShowInternal

Show internal freebody data.

No longer used

BOOL FreebodyShowSum

Show summed data at each node.

Still Valid

BOOL FreebodyMinVecFlag

Show vectors with a minimum length.

Still Valid

BOOL FreebodyComponents

Show vector components.

Freebody Object TotalVectorMode and NodalVectorMode Properties

BOOL FreebodyXYZ[0..2] or VARIANT vFreebodyXYZ

Flags for X,Y,Z components.

Vector visibility: Freebody Object ShowTotalVec and ShowNodalVec Properties. Inclusion in summation vector calculation: Freebody Object SumComponents Property

BOOL FreebodyScaleMag

Scale vectors based on their magnitude.

View Object Draw[FVI_FREEBODY_VECTOR] Property

BOOL FreebodyShowResultant

Show resultant of summed freebody info.

Freebody Object TotalVectorMode Property

API-1639 Property

Description

Now Controlled By

BOOL FreebodyEntityColor

Show freebody with entity colors.

View Object ColorMode[FVI_NODAL_F] and ColorMode[FVI_NODAL_M] Properties. Set to 3 for Entity Colors

INT4 FreebodyShowCSys

CSys ID for freebody display.

Freebody Object CSys Property

REAL8 FreebodyShowMag

Minimum magnitude vector to show.

Still Valid

REAL8 FreebodyShowLength[0..1] or VARIANT vFreebodyShowLength

Min/Max display length.

View Object Freebody_Length, Freebody_UnitsPerLength, Freebody_Total_Force_Factor, Freebody_Total_Moment_Factor, Freebody_Nodal_Force_Factor and Freebody_Nodal_Moment_Factor Properties

REAL8 FreebodyResultantLoc[0..2] or VARIANT vFreebodyResultantLoc

Location for resultant vector.

Freebody Object X, Y and Z Properties

INT4 FreebodyResultantColor

Color for resultant vector.

Freebody Object TotalVecColor Property when Total Vector Color Mode is set to Freebody in the Active View

The following table describes new View Object Properties that were added in Version 10.3 for controlling Freebody displays.

Property

Description

INT4 FreebodyLength

Controls the baseline length for all Freebody Vectors

INT4 FreebodyUnitsPerLength

Controls the number of units per baseline length when Freebody Vector scaling is enabled.

REAL8 FreebodyTotalForceFactor

Length Factor for Freebody Total Force Vector

REAL8 FreebodyTotalMomentFactor

Length Factor for Freebody Total Moment Vector

REAL8 FreebodyNodalForceFactor

Length Factor for Freebody Nodal Force Vectors

REAL8 FreebodyNodalMomentFactor

Length Factor for Freebody Nodal Moment Vectors

INT4 FreebodyDigits

Controls the number of digits on Freebody value labels. This is an alias for the ColorMode[FVI_FREEBODY_VECTOR] Property

API-1640 5.56.1.2 View Option Types

All of the the View Option properties (Draw, Label, Color, ColorMode) require an index to access the desired values. These properties and their related indices correspond to the options that you can control in the user interface View Options command. The following figure shows how the API properties relate to the various controls in the dialog box.

Draw( )

Label( ) Index selects option from this list

ColorMode( )

Color( )

Value 1

Value 2

More Properties

So, for example, to set the View to use Double-Sided, Elemental Contours, as shown above, you would set View.Draw( FVI_CONTOUR_TYPE )

= True

View.Label( FVI_CONTOUR_TYPE ) = 1 and save the View object. Note that for FVI_CONTOUR_TYPE, the Color( ) property is not used and does not appear in the dialog box. You should not query or set these unused properties. Doing so will not cause any current problem, but it will also not be useful and if those properties are used in future releases, it could cause errors.

API-1641 The View Options dialog does have additional controls that are not linked to the Draw( ), Label( ), ColorMode( ) or Color( ) properties. In the figure above, they are labeled “Value 1”, “Value 2” and “More Properties”. Accessing these properties is described later, first however, the following table maps the index used by Draw( ), Label( ), ColorMode( ) and Color( ) to the names in the View Options command. Text in View Options

Index

Constant

Label Parameters

0

FVI_LABEL

Coordinate System

1

FVI_CSYS

Point

2

FVI_POINT

Curve

3

FVI_CURVE

Combined Curve

95

FVI_COMPOSITE_CURVE

Curve - Mesh Size

24

FVI_CURVE_MESHSIZE

Curve/Surface Directions

39

FVI_CURVE_ACCURACY

Surface

4

FVI_SURFACE

Volume

5

FVI_VOLUME

Text

6

FVI_TEXT

Boundary

27

FVI_BOUNDARY

Node

7

FVI_NODE

Node - Perm Constraint

8

FVI_NODE_PERMCONSTRAINT

Element

9

FVI_ELEMENT

Element - Directions

10

FVI_ELEMENT_DIRECTION

Element - Offsets/Releases

11

FVI_ELEMENT_OFFSET

Element - Orientation/Shape

12

FVI_ELEMENT_ORIENT

Element - Beam Y-Axis

13

FVI_BEAM_YAXIS

Element - Coordinate System

96

FVI_ELEM_CSYS

Element - Weld

90

FVI_ELEMENT_WELD

Element - Rigid

94

FVI_RIGID

Load Vectors

78

FVI_LOAD_VECTORS

Load Body

100

FVI_LOAD_BODY

Load Force

14

FVI_LOAD_FORCE

Labels, Entities and Colors

API-1642 Text in View Options

Index

Constant

Load Moment and Torque

15

FVI_LOAD_MOMENT

Load Temperature

16

FVI_LOAD_THERMAL

Load Distributed

71

FVI_LOAD_DISTRIBUTEDLOAD

Load Pressure

17

FVI_LOAD_PRESSURE

Load Acceleration

18

FVI_LOAD_ACCELERATION

Load Velocity

72

FVI_LOAD_VELOCITY

Load Enforced Displacement

19

FVI_LOAD_ENFORCEDDISP

Load Nonlinear Force

73

FVI_LOAD_NONLINEARFORCE

Load Heat Generation

66

FVI_LOAD_HEATGEN

Load Heat Flux

67

FVI_LOAD_HEATFLUX

Load Convection

68

FVI_LOAD_CONVECTION

Load Radiation

69

FVI_LOAD_RADIATION

Load Bolt Preload

93

FVI_BOLT_PRELOAD

Load Fluid Tracking

81

FVI_LOAD_FLUIDTRACKING

Load Unknown Condition

82

FVI_LOAD_UNKNOWN

Load Slip Wall Condition

83

FVI_LOAD_SLIPWALL

Load Fan Curve

84

FVI_LOAD_FANCURVE

Load Periodic Condition

85

FVI_LOAD_PERIODIC

Constraint

20

FVI_CONSTRAINT

Constraint Equation

21

FVI_CONSTRAINT_EQUATION

Connector

79

FVI_CONNECTOR

Connection Region

91

FVI_CONNECTION_REGION

Combined - Eliminated Points

99

FVI_INTERIOR_POINT

Combined - Eliminated Curves

97

FVI_INTERIOR_CURVE

Combined - Eliminated Surfaces

98

FVI_INTERIOR_SURFACE

Aero Panel

102

FVI_AERO_PANEL

Aero Mesh

103

FVI_AERO_MESH

Aero Interference

108

FVI_AERO_INTERFERENCE

API-1643 Text in View Options

Index

Constant

Aero Splines

104

FVI_AERO_SPLINE

Aero Control Surfaces

105

FVI_AERO_SURFACE

Free Edge and Face

22

FVI_FREE_EDGE

Shrink Elements

23

FVI_SHRINK_ELEM

Fill, Backfaces and Hidden

25

FVI_FILL_ELEM

Filled Edges

26

FVI_FILLED_EDGES

Render Options

77

FVI_RENDER_OPTIONS

Transparency

92

FVI_TRANSPARENCY

Shading

28

FVI_SHADING

Perspective

29

FVI_PERSPECTIVE

Stereo

30

FVI_STEREO

Axisymmetric Axis

87

FVI_AXISYM_AXIS

View Legend

31

FVI_VIEW_LEGEND

View Axes

32

FVI_VIEW_AXES

Origin

33

FVI_ORIGIN

Workplane and Rulers

34

FVI_WORKPLANE

Workplane Grid

35

FVI_WORKPLANE_GRID

Clipping Planes

36

FVI_CLIPPING_PLANE

Symbols

37

FVI_SYMBOL

Preview

109

FVI_PREVIEW

View Aspect Ratio

38

FVI_ASPECT_RATIO

Model Clipping Plane

101

FVI_CLIP_PLANE

Post Titles

40

FVI_POST_TITLES

Deformed Style

41

FVI_DEFORMED_STYLE

Vector Style

42

FVI_VECTOR_STYLE

Animated Style

43

FVI_ANIMATED_STYLE

Tools and View Style

PostProcessing

API-1644 Text in View Options

Index

Constant

Deformed Model

44

FVI_DEFORMED

Undeformed Model

45

FVI_UNDEFORMED

Trace Style

74

FVI_TRACE_STYLE

Contour Type

80

FVI_CONTOUR_TYPE

Contour/Criteria Style

46

FVI_CONTOUR_STYLE

Contour/Criteria Levels

47

FVI_CONTOUR_LEVELS

Contour/Criteria Legend

48

FVI_CONTOUR_LEGEND

Criteria Limits

49

FVI_CRITERIA_LIMITS

Criteria - Elements that Pass

50

FVI_CRITERIA_PASS

Criteria - Elements that Fail

51

FVI_CRITERIA_FAIL

Beam Diagram

86

FVI_BEAM_DIAGRAM

IsoSurface

76

FVI_ISOSURFACE

IsoLine

88

FVI_ISOLINE

Streamline

89

FVI_STREAMLINE

Contour Vector Style

75

FVI_CONTOUR_VECTOR

XY Titles

52

FVI_XY_TITLES

XY Legend

53

FVI_XY_LEGEND

XY Axes Style

54

FVI_XY_AXES_STYLE

XY X Range/Grid

55

FVI_XY_XAXIS

XY Y Range/Grid

56

FVI_XY_YAXIS

XY Curve 1

57

FVI_XY_CURVE1

XY Curve 2

58

FVI_XY_CURVE2

XY Curve 3

59

FVI_XY_CURVE3

XY Curve 4

60

FVI_XY_CURVE4

XY Curve 5

61

FVI_XY_CURVE5

XY Curve 6

62

FVI_XY_CURVE6

XY Curve 7

63

FVI_XY_CURVE7

XY Curve 8

64

FVI_XY_CURVE8

API-1645 Text in View Options

Index

Constant

XY Curve 9

65

FVI_XY_CURVE9

Freebody

114

FVI_FREEBODY

Freebody Node Markers

106

FVI_FREEBODY_NODEMARKER

Freebody Vectors

113

FVI_FREEBODY_VECTOR

Freebody Total Force

107

FVI_FREEBODY_TOTALF

Freebody Total Moment

110

FVI_FREEBODY_TOTALM

Freebody Nodal Force

111

FVI_FREEBODY_NODAL_F

Freebody Nodal Force

112

FVI_FREEBODY_NODAL_M

The following table describes how to get to the “extra properties” used by some of the dialog options. Text in View Options

Control

Property

Value1, Render Offset

RenderPushLabel

Value1, Load Len

LoadVecLength

Value2, Min Scale

LoadVectorMinScale

Value1, Shrink To %

ShrinkFactor

Value1, Offset Factor

RenderPushForward

Value2, Offset

RenderPushUnit

Value1, Percent

TransparencyPercent

Value1, % Ambient

AmbientLight

Value2, Distance

SpotlightDist

More - Light...

Light

Perspective

Value1, Distance

PerspectiveDist

View Axes

More - Position...

AxisLocation

Value1, Load Len

LoadVecLength

Value2, Other Vec

OtherVecLength

Value1, Aspect Ratio

Aspect

Labels, Entities and Colors Label Parameters Load Vectors Tools and View Style Shrink Elements Render Options Transparency

Shading

Symbols View Aspect Ratio

API-1646 Text in View Options Model Clipping Plane

Control

Property

More - Clipping Plane

ClipPlaneOrigin ClipPlaneNormal

Value1, Scale %

DeformedRelScale

Value2, Scale Act

DeformedAbsScale

Value1, Top Percent

ArrowsToLabel

Value1, Frames

AnimationFrames

Value2, Delay

AnimationDelay

Value1, Node ID

DeformRelativeToNode

Value1, Render Offset %

RenderPushUndeformed

PostProcessing Deformed Style Vector Style Animated Style Deformed Model Undeformed Model

More - Contour Options

Contour Type

Contour/Criteria Style

Select Contour Options Dialog...

Contour Group

ContourGroup

Contour Type

Label( FVI_CONTOUR_TYPE )

Data Conversion

ColorMode( FVI_CONTOUR_STYLE )

No Averaging

ContourElemUnaveraged

Property

ContourElemBreakProp

Material

ContourElemBreakMatl

Layer

ContourElemBreakLayer

Color

ContourElemBreakColor

Angle Between Check

ContourElemBreakGeom

Angle Between Text

ContourElemBreakAngle

Double-Sided Planar

Draw( FVI_CONTOUR_TYPE )

Additional Element Data

ContourVecAddl

Rendered Contours

ColorMode( FVI_CONTOUR_TYPE )

Value1, Label Freq

ContourLabelFreq

Value2, Digits

ContourLabelDigits

API-1647 Text in View Options

Contour/Criteria Levels

Contour/Criteria Legend

Criteria Limits Beam Diagram IsoSurface IsoLine

Streamline

Contour Vector Style XY Titles XY Axes Style

XY X Range/Grid

XY Y Range/Grid XY Curve 1

Control

Property

Value1, Minimum

UserContourValue(11)

Value2, Maximum

UserContourValue(0)

More - Set Levels

Contour/Criteria Levels Dialog...

Specified Levels

UserContourLevel(1..10) for Level, UserContourValue(1..10) for Values

Colors

ContourColor

User Palette

MaxUserContourPaletter, UserContourPalette

Value1, Label Freq

ContourLegendFreq

Value2, Digits

ContourLegendDigits

More - Legend Shrink

ContourLegendShrinkPct

Value1, Minimum

CriteriaMin

Value2, Maximum

CriteriaMax

Value1, Scale %

BeamDiagramScale

Value1, IsoSurface At

IsosurfaceValue

Value1, IsoLine At

IsosurfaceValue

Value1, Max Length

StreamLineMaxLenFactor

Value2, Min Speed

StreamLineMinSpeedPct

More - Streamline Loc

StreamLineLocation

Value1, Digits

ContourVecDigits

Value2, Length

ContourVecLength

More - Titles

XYTitle XYSubtitle

Value1, X Tics

XYXTics

Value2, Y Tics

XYYTics

Value1, Minimum

XYXmin

Value2, Maximum

XYXmax

Value1, Minimum

XYYmin

Value2, Maximum

XYYmax

Value1, Scale

XYScale(0)

API-1648 Text in View Options

Control

Property

XY Curve 2

Value1, Scale

XYScale(1)

XY Curve 3

Value1, Scale

XYScale(2)

XY Curve 4

Value1, Scale

XYScale(3)

XY Curve 5

Value1, Scale

XYScale(4)

XY Curve 6

Value1, Scale

XYScale(5)

XY Curve 7

Value1, Scale

XYScale(6)

XY Curve 8

Value1, Scale

XYScale(7)

XY Curve 9

Value1, Scale

XYScale(8)

Value1, Units/Length

FreebodyUnitsPerLength

Value2, Length

FreebodyLength

Freebody Total Force

Value2, Factor

FreebodyTotalForceFactor

Freebody Total Moment

Value2, Factor

FreebodyTotalMomentFactor

Freebody Nodal Force

Value2, Factor

FreebodyNodalForceFactor

Freebody Nodal Force

Value2, Factor

FreebodyNodalMomentFactor

Freebody Vectors

Initialize

API-1649

5.56.2 View Object Methods 5.56.2.1 Initialize

Initialize ( void ) Description: This initializes a view object to the default settings. Input: None Output: None Return Code: None Remarks/Usage: View Objects have many properties, and it is difficult and time consuming to initialize them all individually. This method initializes the object just like creating a new view in FEMAP with the default view settings. You can then selectively modify just the properties that you need. Example: None

API-1650

GetMultiGroupList

5.56.2.2 GetMultiGroupList

GetMultiGroupList ( nGroups, nGroupID ) Description: This method retrieves the group ids used in the current view for the Multi Group Display. Input: None Output: INT4 nGroups

Number of groups in nGroupID

INT4 nGroupID[0..nGroups-1]

The group IDs that have been referenced in Multi Group display (Positive ID value = “Shown”, Negative ID value = “Hidden”)

Return Code: FE_NO_MEMORY

Unable to allocate memory for group list.

FE_NOT_AVAILABLE

No groups have be referenced in the Multi Group Display.

Remarks/Usage: None Example: None

SetMultiGroupList

API-1651

5.56.2.3 SetMultiGroupList

SetMultiGroupList ( bClear, nGroups, nGroupID ) Description: This method sets the group ids to be used in the current view for the Multi Group Display. Input: INT4 bClear

If True then clear the list of groups in the multi group display before adding groups in nGroupID.

INT4 nGroups

Number of groups in nGroupID

INT4 nGroupID[0..nGroups-1]

The group IDs used in the Multi Group display (Positive ID value = “Show”, Negative ID value = “Hide”)

Output: None Return Code: None Remarks/Usage:

Example: None

API-1652

ClearMultiGroupList

5.56.2.4 ClearMultiGroupList

ClearMultiGroupList ( void ) Description: This method clear the groups in the Multi Group Display. Input: None Output: None Return Code: None Remarks/Usage:

Example: None

Visible

API-1653

5.56.2.5 Visible

Visible ( visible ) Description: This makes a view visible on the screen, or removes it from the screen. Input: BOOL visible

Set to True to make a view visible, False to remove it.

Output: None Return Code: FE_FAIL

The operation failed. Either you asked to make a view visible that was already visible, or to remove a view that was not visible.

Remarks/Usage: This method accomplishes the same task as the View, Activate command. Example: None

API-1654

Redraw

5.56.2.6 Redraw

Redraw ( void ) Description: Redraws the current view. Input: None Output: None Return Code: None Remarks/Usage: The current object must be loaded with a view that is visible on the screen. Same as the View, Redraw command. Example: None

Regenerate

API-1655

5.56.2.7 Regenerate

Regenerate ( void ) Description: Regenerates the current view. Input: None Output: None Return Code: None Remarks/Usage: The current object must be loaded with a view that is visible on the screen. Same as the View, Regenerate command. Example: None

API-1656

IsLayerVisible

5.56.2.8 IsLayerVisible

IsLayerVisible ( layerID ) Description: Indicates whether the selected layer is in the visible layer list. Input: INT4 layerID

ID of layer to check.

Output: None Return Code: FE_FAIL

Selected layer is not in the visible layer list (FE_OK means layer is in the visible layer list).

Remarks/Usage: The current object must be loaded with a view that is visible on the screen. This command does not tell whether the visible layer list is actually being used. If you are displaying all layers, layers that are not in the visible layer list will still be reported as not visible, even though they are because the list is not used. Example: None

SetLayerVisible

API-1657

5.56.2.9 SetLayerVisible

SetLayerVisible ( layerID, visible ) Description: Adds or removes layers from the visible layer list. Input: INT4 layerID

ID of layer to modify.

BOOL visible

Set to True to make the layer visible, False to remove it from the visible list.

Output: None Return Code: None Remarks/Usage: The current object must be loaded with a view that is visible on the screen. In addition to this command, you must also change the ShowAllLayers property to make sure that the visible layer list is being used (instead of all layers). Example: None

API-1658

Rotate

5.56.2.10 Rotate

Rotate ( oX, oY, oZ, dX, dY, dZ, angle ) Description: Rotates the current view around the specified axis. Input: REAL8 oX REAL8 oY

The origin of the axis of rotation - in global rectangular coordinates.

REAL8 oZ REAL8 dX REAL8 dY

The components of the axis of rotation.

REAL8 dZ REAL8 angle

The angle of rotation, in degrees.

Output: None Return Code: None Remarks/Usage: The current object must be loaded with a view from your model. This command simply updates the view object. To update the display in FEMAP, the view must be Put to the database, and then you must Redraw. Example: None

AlignCSys

API-1659

5.56.2.11 AlignCSys

AlignCSys ( csysID ) Description: Rotates the current view to be aligned with the XY plane of the selected coordinate system. Input: INT4 csysID

The ID of the coordinate system used for alignment.

Output: None Return Code: None Remarks/Usage: The current object must be loaded with a view from your model. This command simply updates the view object. To update the display in FEMAP, the view must be Put to the database, and then you must Redraw. Example: None

API-1660

AlignVector

5.56.2.12 AlignVector

AlignVector ( oX, oY, oZ, dX, dY, dZ ) Description: Rotates the current view to be aligned looking along the specified vector. Input: REAL8 oX REAL8 oY

The origin of the alignment axis - in global rectangular coordinates.

REAL8 oZ REAL8 dX REAL8 dY

The components of the axis of alignment.

REAL8 dZ Output: None Return Code: None Remarks/Usage: The current object must be loaded with a view from your model. This command simply updates the view object. To update the display in FEMAP, the view must be put to the database, and then you must Redraw. Example: None

Align2Vector

API-1661

5.56.2.13 Align2Vector

Align2Vector ( vZx, vZy, vZz, vXYx, vXYy, vXYz, bAutoXY ) Description: Rotates the current view to be aligned looking along the specified vector. Input: REAL8 vZx REAL8 vZy

The components of the axis of alignment (normal to the screen)

REAL8 vZz REAL8 vXYx REAL8 vXYy REAL8 vXYz BOOL bAutoXY

The components of a vector used to determine the X and Y (in screen) axes. The normal vector (vZx,vZy,vZz) is crossed with this vector to determine the Y vector, which is then crossed again to determine X. If True, the X and Y vectors are swapped so that the model better fits into the window shape.

Output: None Return Code: None Remarks/Usage: The current object must be loaded with a view from your model. This command simply updates the view object. To update the display in FEMAP, the view must be put to the database, and then you must Redraw. Example: None

API-1662

AlignWorkplane

5.56.2.14 AlignWorkplane

AlignWorkplane ( void ) Description: Rotates the current view to be aligned with the normal to the workplane. Input: None Output: None Return Code: None Remarks/Usage: The current object must be loaded with a view from your model. This command simply updates the view object. To update the display in FEMAP, the View must be Put to the database, and then you must Redraw. Example: None

AutoscaleAll

API-1663

5.56.2.15 AutoscaleAll

AutoscaleAll ( redoBox ) Description: Changes the magnification so that the current model is scaled to fit in the view. Input: BOOL redoBox

If set to True, then the imaginary box around the model that is used for autoscaling is recomputed. If set to False, the existing box is used.

Output: None Return Code: None Remarks/Usage: The current object must be loaded with a view from your model. This command simply updates the view object. To update the display in FEMAP, the View must be Put to the database, and then you must Redraw. Example: None

API-1664

AutoscaleVisible

5.56.2.16 AutoscaleVisible

AutoscaleVisible ( redoBox ) Description: Changes the magnification so that the visible portions of the model are scaled to fit in the view. Input: BOOL redoBox

If set to True, then the imaginary box around the model that is used for autoscaling is recomputed. If set to False, the existing box is used.

Output: None Return Code: None Remarks/Usage: The current object must be loaded with a view from your model that is currently visible in a window. This method differs from AutoscaleAll in that the current group, layers and display options are considered when scaling the view. This command simply updates the view object. To update the display in FEMAP, the View must be Put to the database, and then you must Redraw. Example: None

API-1665

6. FEMAP Events Events provide a way for your application to be notified when certain operations are happening in the FEMAP session. For example, by processing events, you will be notified when a new model is opened, a command is processed or FEMAP is shut down, and your program can then respond appropriately to that event.

6.1 Receiving and Processing Events To receive and process events in your application, you must do the following: 1. Register your application with FEMAP as an add-in. You do this by calling the feAppRegis-

terAddInPane method (see Section 3.16.5.2, "feAppRegisterAddInPane"). Event messages are only sent to applications that are registered as add-ins. When calling this method, you should specify the handle to the window that contains the message loop that will process the events. 2. Call the Windows API function RegisterWindowMessage to obtain the message identifier for the

event message. The syntax of this call will be something like: EventMessage = RegisterWindowMessage ( “FE_EVENT_MESSAGE” );

You must register the FE_EVENT_MESSAGE string to select the proper message. 3. Modify your window procedure to process the event messages that FEMAP sends. The format

of these messages is described later in this section. You do not have to process any particular messages. Only process the messages that you need for your application. One important thing to note is that FEMAP simply sends the event messages to your application. FEMAP is not waiting for a response from you; it will go on processing whatever other commands or actions are requested.

6.2 Alternate Method - Event Callbacks As an alternative to handling event messages, if you can build your event functionality as a standalone program file, basic script or executable, then you can register an event callback to call that code. This approach is often simpler if the code you want to execute can be stand-alone. Simply call feAppEventCallback ( Section 3.16.5.10, "feAppEventCallback" ) to hook your code to a particular event. After that every time the event occurs, your code will be called. If the event that your callback processes uses the lParam value (like FEVENT_COMMAND), you can access it from your callback routine by using EventLParam described in Section 3.3.2, "Global Integer Properties"

API-1666 6.3 Format of Event Messages All windows messages contain four parameters. Parameter

Description

hWnd

The handle to the window where the message is being sent. Not really very important in this case.

message

The message type. This parameter will always be equal to the return value from RegisterWindowMessage( FE_EVENT_MESSAGE ) for event messages. This is how you will be able to distinguish a FEMAP event message from other windows messages coming to your window.

wParam

For FEMAP event messages, this parameter indicates the type of event that has occurred. Refer to the various events for more information.

lParam

For FEMAP event messages, this parameter contains additional data for that event. Refer to the various events for more information.

In general, you will want to modify your message loop to check to see if message is equal to the FEMAP event message value. If it is, you will then check wParam, and possibly lParam, to see if this is an event that is important. If it is not important, simply ignore the message. If it is important, start the appropriate action in your application.

6.4 The FEMAP Events The following events are currently defined in FEMAP.

wParam 1

Event

Description

FEVENT_INITIALIZE

FEMAP is initializing for the first time. lParam is not used.

2

FEVENT_NEWMODEL

Starting a new model, or opening an existing model. Any previous model that was in use has now been closed. lParam is not used.

3

FEVENT_ENDMODEL

Closing the current model. lParam is not used.

4

FEVENT_SHUTDOWN

FEMAP is being shut down. The model that was in use has been closed. lParam is not used.

5

FEVENT_COMMAND

A command has been executed - either from the menu, or thru some other mechanism. lParam is the command number that was executed.

6

FEVENT_PROGSTART

Indicates that a program file is starting execution. lParam is not used.

7

FEVENT_PROGEND

Indicates that a program file is ending execution. lParam is not used.

API-1667 wParam

Event

Description

8

FEVENT_DRAWSTART

Indicates that a redraw or regenerate is beginning. Neither this nor the FEVENT_DRAWEND event are issued every time a view is updated - they are only issued if a standard Redraw or Regenerate command are selected from the menu or the API, or when some other action or command triggers a full redraw or regenerate.

9

FEVENT_DRAWEND

Indicates that a redraw or regenerate is ending.

10

FEVENT_ANALYSISEND

Indicates that an analysis that FEMAP was monitoring has been completed

11

FEVENT_RESULTSEND

Indicates that the automatic loading of results after an analysis finishes has completed.

12

FEVENT_SWITCHMODEL

Indicates that the active model has been switched to a different model. lParam contains an identifier of the new active model - the same value that is returned by feAppGetModel()

When processing the FEVENT_COMMAND event, you will need to know the command number that you are looking for. Although we do not publish these command numbers, it is easy to find them. Simply process the FEVENT_COMMAND event, run your application, switch to FEMAP and execute the command that you want to process. Remember the value of lParam that you receive with the FEVENT_COMMAND event that you receive. It will be the same each time you perform that command. Several examples are as follows:

Command

lParam

View, Redraw

2001

View, Regenerate

2002

Tools, Undo

1101

Tools, Redo

1102

File, Save

1003

File, Open

1002

File, Exit

1025

6.5 Using FEMAP Events The program below shows an example of how FEMAP Events can be captured in your application. The code does not actually do anything after watching the events, it provides a framework that you can use to get started.

Global Const FEVENT_INITIALIZE = 1 Global Const FEVENT_NEWMODEL = 2

API-1668 Global Global Global Global Global

Const Const Const Const Const

FEVENT_ENDMODEL FEVENT_SHUTDOWN FEVENT_COMMAND FEVENT_PROGSTART FEVENT_PROGEND

= = = = =

3 4 5 6 7

Dim WM_FEMAP_MESSAGE As Long Dim PreviousWindowProc As Long Dim hMainForm As Long Dim hMainWnd As Long Public femap As Object Const GWL_WNDPROC Const GWL_HWNDPARENT

= (-4&) = (-8)

Public Declare Function RegisterWindowMessage Lib "user32" _ Alias "RegisterWindowMessageA" (ByVal lpString As String) As Long Public Declare Function SetWindowLong Lib "user32" _ Alias "SetWindowLongA" (ByVal hwnd As Long, _ ByVal nIndex As Long, ByVal dwNewLong As Long) _ As Long Public Declare Function CallWindowProc Lib "user32" _ Alias "CallWindowProcA" _ (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, _ ByVal wParam As Long, ByVal lParam As Long) As Long ‘ This function is the Window procedure that you must supply to ‘ override the default message handling Public Function WindowProc(ByVal hwnd As Long, _ ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) _ As Long Dim rc As Long If uMsg = WM_FEMAP_MESSAGE Then If wParam = FEVENT_SHUTDOWN Then Unload Form1 End If If wParam = FEVENT_COMMAND Then 'MsgBox ("Femap Command") End If If wParam = FEVENT_PROGSTART Then MsgBox ("Program Start") End If If wParam = FEVENT_PROGEND Then

API-1669 MsgBox ("Program End") End If Else WindowProc = CallWindowProc(PreviousWindowProc, hwnd, uMsg, _ wParam, lParam) End If End Function ‘ This function is called to initialize capturing the events Public Function InitApp() Dim rc As Long hMainForm = Form1.hwnd Set femap = GetObject(, "femap.model") ‘ For more control over window placement and style use ‘ feAppRegisterAddInPane( ) rc = femap.feAppRegisterAddIn(True, hMainForm, hMainForm, True, 1) WM_FEMAP_MESSAGE = RegisterWindowMessage("FE_EVENT_MESSAGE") PreviousWindowProc = SetWindowLong(Form1.hwnd, GWL_WNDPROC, _ AddressOf WindowProc) End Function ‘ This function is called to terminate capture Public Function CloseApp() rc = SetWindowLong(hMainForm, GWL_WNDPROC, PreviousWindowProc) rc = femap.feAppRegisterAddIn(False, hMainForm, hMainForm, _ True, 1) End Function

API-1670

Index

Symbols .NET 34, 37, 45

A ABAQUS file 192, 198, 213 ACIS file 169, 171 ACIS SAT file 207 Add 864, 870, 940, 1139, 1362, 1408 add solid 366 AddAll 880, 943 AddAllColor 892 AddAllExcept 881 AddAllTitle 891 AddAroundPlane 889 AddAroundPoint 887 AddAroundVector 888 AddArray 885, 1140, 1387, 1395, 1409, 1413 AddColumn 736 AddCommon 882 AddContact 1168 AddCoordinate 886 AddElementChecks 744 AddEntitiesOnLayer 872 AddEntityData 741 AddGroup 748, 884 AddInt 942 AddMassProperties 743 AddMeshAssociativity 745 AddMeshLoc 1204 AddMeshLocXYZ 1205 AddMidsideNodes 893 AddNewRemoveCommonSet 883 AddNodesOnGeometry 890 AddOutput 742 AddRange 871 AddReal 941 AddRule 875 AddSelection 755 AddSet 865, 873 AddSetRule 874 AddSolid 802 AddSort 752 AddSurface 803 AdjcacentSurfaces 1566 AdjcacentSurfacesAsSet 1567 Aero Panel/Body object 1042 methods 1043, 1044, 1061 properties 1042 Aero Property object 1050 methods 1051 properties 1050 Aero Spline object 1060

methods 1061 properties 1060 Aero Surface object 1064 methods 1065 properties 1064 align entities 481 Align2Vector 1661 AlignCSys 1659 AlignVector 1660 AlignWorkplane 1662 AlternateTaper 776 AnalysisCase object 1071 methods 1078 properties 1071 AnalysisSet object 1086 methods 1111 properties 1086 Analyze 1121 AnalyzeMultiple 1122 AngleAtPoint 1598 ANSYS file 193, 199, 214 application register 667, 668, 669 application object 33, 71 methods 33 properties 33 Apply 811 ApproximateArea 1558 arc create from point 300 create with angle 295, 296 create with center 293, 299 create with chord 297 create with points 298 create with radius 294 ArcCircleInfo 1194 Area 1296, 1524, 1557 array 35, 38 AspectRatio 772 AtEOF 816, 985 attach to geometry 489, 490, 491 attributes meshing 353 AutoComplete 1443 AutoscaleAll 1663 AutoscaleVisible 1664

B bar offsets modify 513, 514 BCDefinition object 1126 methods 1127 properties 1126 BCEqn object 1130 methods 1130

properties 1130 BCGeom object 1131 methods 1133 properties 1131 BCNode object 1138 methods 1138 properties 1138 BCSet object 1141 methods 1142 properties 1141 beam offsets modify 513, 514 BoolField 848 boundary conditions modify 495 boundary surface create 333, 334, 335, 336 update 337 BoundarySurfaces 1564 BoundarySurfacesAsSet 1565 BoundingBox 1212, 1547, 1594 BoundingSize 1595 BSpline curves knots 497 modify 496

C C++ 37, 67 C,C++ 33 CalculateNodalCenter 1307 CalculateSummation 1308 Case 1120 CATIA file 172 CATIAV5 file 173 CG 1556 chamfer solid 365 CheckQuality 770 circle create concentric 305 create from center 303, 307 create from curve 308 create from diameter 302 create from points 304, 306 create from radius 301 create tangent 309 cleanup solid 376, 377 Clear 761, 767, 804, 852, 903, 950, 969, 1176, 1379 ClearAll 851 ClearElements 1303 ClearGroup 749 ClearIbList 1056 ClearMultiGroupList 1652 ClearNodeList 1284 ClearNodes 1306 ClearSbList 1055

ClearSelection 756 ClearSort 753 ClearSurfaceSet1 1069 ClearSurfaceSet2 1070 ClearTheta1List 1057 ClearTheta2List 1058 close file 817 close model 164 ClosestPointToSurface 1231 coincident curves 269 elements 271 loads 281 nodes 264, 266 points 267 colinear coordinates 575 color modify 483 Color Palette 623 CombineCurves 1222 Combined 790 CombinedCurvesAsSet 1221 Compress 1143, 1175, 1420 Compute 1380 Compute2 1381 ComputeGeneralShape 1520 ComputeShape 1372, 1516 ComputeStdShape 1518 Conical 1578 Connection 388 Connection object 1181 methods 1182 properties 1181 Connection Property object 1151 access properties 1151 array index values 1153 methods 1161 properties 1151 Connection Region object 1163 constant global 40 constraint combine 394 constraints check 280 modify 495 Contact object 1163 methods 1165 properties 1163 convert coordinates 559, 560, 576 units 238, 239 ConvertToAllCurves 929 ConvertToAllSurfaces 933 ConvertToBoundarySurfaces 934, 963 ConvertToBoundarySurfacesOnly 935 ConvertToCombinedCurves 930

ConvertToCombinedCurvesOnly 931 ConvertToInternalCurves 932 ConvertToInternalSurfaces 936 coordinate system modify 494 move 476, 477 rotate 582, 583, 584 update 493 coordinates along curve 564 at curve center curve coordinates 566 at intersection 569, 580, 581 at line intersection 562 at midpoint 565 colinear 575 convert 560, 576 curves 561 enter 557, 558 in surface 568 node 571 point 570 project 563, 567, 578, 579 rotate 577 transform 572, 573, 574 Copy 759, 867, 922 copy 380 radial 382 Corner 1458 Count 853, 924, 957, 1040 CountCommon 925, 926 CountLoads 1392 CSys object 1186 methods 1187 properties 1186 Current 954 CurvatureAcrossEdge 1230 curve break 329 chamfer 332 create by projection 319, 320 create by slicing solid 322 create from intersection 318 create on surface 321 extend 328 fillet 331 join 330 trim 327 types 1191 Curve object 1188 methods 1192 properties 1188 CurveLoops 1569 Curves 1498, 1530, 1568 curves BSpline 496, 497 coincident 269 reverse direction 498, 499

revolve 465 sweep 467 CurvesAsSet 1499, 1531, 1570 Cylindrical 1576

D data example storing 53 data type 34 DataTable object methods 717, 721, 731, 748, 752, 755, 758 properties 716 Debug 937 Define 1627 DefineReal 1628 definition coordinate system 493 Deletable 980, 1021 Delete 981, 1022 delete constraints 523 entities 520 loads 522 mesh 521 model 519 output 524 DeleteAll 923, 927, 1318, 1324, 1330, 1337, 1343 DeleteAnalysisCase 1079 DeleteLibrary 1023 DeletePly 1378 DeleteRows 762 DeleteTitle 982 detach nodes and elements 492 direction curves 498, 499 directory current 712 distortion elements 273, 275, 277, 278 docking panes 635, 636 DXF file 175

E element rigid 56 Element object 1273, 1299 access nodes 1275 methods 1276, 1301 properties 1273, 1299 Element Quality object 766 methods 767 properties 766 ElementFaces 1593 Elements 1209, 1545, 1590 elements attach to geometry 489, 490

beam releases 508 coincident 271 detach from geometry 492 distortion 273, 275, 277, 278 fixup 272 formulation 511 line 515 modify type 516 move 478 normals 279 reverse normals 507 sweep 466 update 509 update property 504 ElementsAsSet 1210, 1546, 1591 ElementsWithFaces 1211, 1592 embed 670, 675 solid 369, 375 Enable 1184 end of file 816 EndPoints 1193, 1573 EndPointsAsSet 1574 enter coordinates 557, 558 entity align 481 rotate 479, 480 scale 482 Entity object 1010 methods 1011 properties 1010 entity types 126, 127 equation 242 Evaluate 1268, 1626 event 676 messages 1666 receiving and processing 1665 example using API 45 Excel example using 45, 47, 58, 60 Exist 979, 1020 exit FEMAP 165 Expand 1142, 1174, 1419 ExplicitTimeStep 792 explode solid 348, 349, 361 Export 1536 export ABAQUS 213 ACIS 207 ANSYS 214 FEMAP Neutral 205 IGES 208 LS-DYNA 215 MARC 216 NASTRAN 217 Parasolid 209

STEP 210 STL 211 VRML 212 extend surface 356 extrude curves 463 elements 461 solid 359

F Facets 1223, 1541, 1586 feAddToolbar 646 feAddToolbarCommand 657 feAddToolbarSubmenu 647 feAddToolbarSubmenuCommand 658 feAddToolbarSubmenuSubmenu 648 feAddToolbarSubmenuUserCommand 660 feAddToolbarUserCommand 659 feAddUserCommand 643 feAlignTo 481 feAppBringToTop 671 feAppColorPalette 623 feAppCountModels 630 feAppEmbed 670 feAppEmbedMessages 675 feAppEventCallback 676 feAppGetAllModels 631 feAppGetModel 626 feAppGetModelName 627 feAppLock 677 feAppLockDraw 683 feAppLockExit 679 feAppLockModel 681 feAppManagePanes 635 feAppManageStatusBar 637, 638 feAppManageToolbars 634 feAppMessage 688 feAppMessageBox 622 feAppMessageEndListing 690 feAppMessageStartListing 689 feAppModelContents 632 feAppModelDefragment 633 feAppRegisterAddIn 667 feAppRegisterAddInPane 668 feAppRegisterAddInPaneWithFrame 669 feAppSetModel 628 feAppSetModelByName 629 feAppShowWindow 673 feAppStatusRedraw 685 feAppStatusShow 686 feAppStatusUpdate 687 feAppUnlock 678 feAppUnlockDraw 684 feAppUnlockExit 680 feAppUnlockModel 682 feAppUpdateModelBox 540

feAppUpdatePanes 636 feAppVersion 697 feAppVisiblel 674 feArcAngleCenterStart 296 feArcAngleStartEnd 295 feArcCenterPoints 299 feArcCenterStartEnd 293 feArcChordCenterStart 297 feArcPoints 298 feArcRadiusStartEnd 294 feArcTangentStartEnd 300 feAutoMeshAssociativity 489 feBCCombine 394 feBoundaryAddSurfaces 336 feBoundaryFromCurves 334 feBoundaryFromPoints 333 feBoundaryFromSurfaces 335 feBoundaryUpdateSurfaces 337 feCheckCoincidentCurve 269 feCheckCoincidentElem 271 feCheckCoincidentLoads 281 feCheckCoincidentNode 264 feCheckCoincidentNode2 266 feCheckCoincidentPoint 267 feCheckConstraints 280 feCheckElemDistortion 273 feCheckElemDistortion2 275 feCheckElemFixup 272 feCheckElemNormal 279 feCheckPlanarNodes 270 feCircle2Point 304 feCircle3Point 306 feCircleCenter 303 feCircleCenterPoints 307 feCircleCenterTangent 308 feCircleConcentric 305 feCircleDiameter 302 feCircleRadius 301 feCircleTangentTangent 309 feConnectAuto 388 feConnectAuto2 388 feCoordAlongCurve 564 feCoordArrayTransform 573 feCoordArrayTransform2 574 feCoordColinear 575 feCoordCurveCenter 566 feCoordCurveMidpoint 565 feCoordFromWorkplane 559 feCoordInSurface 568 feCoordIntersectCurves 561 feCoordIntersectLines 562 feCoordOnNode 571 feCoordOnPoint 570 feCoordOntoCurve 563 feCoordOntoLine 579 feCoordOntoPlane 578 feCoordOntoSurface 567 feCoordPick 557 feCoordPickByMethod 558

feCoordPlaneIntersect 580 feCoordRotate 577 feCoordSurfaceIntersect 569 feCoordToDirCos 576 feCoordToWorkplane 560 feCoordTransform 572 feCoordVectorPlaneIntersect 581 feCurveBreak 329 feCurveChamfer 332 feCurveExtend 328 feCurveFillet 331 feCurveIntersectSolids 318 feCurveJoin 330 feCurveOffsetCurveWasher 323 feCurveParametricOnSurface 321 feCurveProjectOntoSolid 319 feCurveProjectOntoSurfaces 320 feCurveSlice 322 feCurveSplitEdgeToEdge 326 feCurveSplitPointToEdge 325 feCurveSplitPointToPoint 324 feCurveTrim 327 feCurveUpdateSurfaces 317 feDelete 520 feDeleteAll 519 feDeleteConstraints 523 feDeleteLoads 522 feDeleteMesh 521 feDeleteOutput 524 feDeleteToolbar 649 feDeleteUserCommand 644 feElementFreeEdge 554 feElementFreeFace 555 feEntityVisibility 539 feFileClose 164 feFileCurrentDirectory 712 feFileExecute 709 feFileExit 165 feFileGetName 708 feFileMessageCopy 229 feFileMessageLineNumber 232 feFileMessageSave 230 feFileMessageSelect 231 feFileNew 162 feFileOpen 163 feFilePageSetupReset 221 feFilePageSetupSave 220 feFilePictureCopy 224 feFilePictureCopy2 225 feFilePictureReplay 228 feFilePictureSave 226 feFilePictureSave2 227 feFilePreferencesReset 235 feFilePreferencesSave 234 feFilePrint 222 feFilePrint2 223 feFileProgramRun 710 feFileProgramRuning 711 feFileReadAbaqus 192

feFileReadAbaqusResults 198 feFileReadAcis 171 feFileReadAcisOpt 169 feFileReadAnsys 193 feFileReadAnsysResults 199 feFileReadCatia 172 feFileReadCatiaV5 173 feFileReadDxf 175 feFileReadDyna 194 feFileReadDynaResults 200 feFileReadIdeas 177 feFileReadIges 180 feFileReadIgesAdv 178 feFileReadMarc 195 feFileReadMarcResults 201 feFileReadNastran 196 feFileReadNastranResults 202 feFileReadNeutral 203 feFileReadNeutral2 203 feFileReadNeutral3 203 feFileReadParasolid 183 feFileReadParasolidOpt 181 feFileReadPatran 197 feFileReadProe 184 feFileReadSolidEdge 185 feFileReadStep 189 feFileReadStepOpt 186 feFileReadStl 190 feFileReadUg 191 feFileRebuild 233 feFileSaveAs 167 feFileTimedSave 168 feFileWriteAbaqus 213 feFileWriteAcis 207 feFileWriteAnsys 214 feFileWriteDyna 215 feFileWriteIges 208 feFileWriteMarc 216 feFileWriteNastran 217 feFileWriteNeutral 205 feFileWriteNeutral2 205 feFileWriteParasolid 209 feFileWriteStep 210 feFileWriteStl 211 feFileWriteVrml 212 feFormatReal 691, 692 feGenerateCopy 380 feGenerateRadialCopy 382 feGenerateReflect 385 feGenerateRotate 384 feGenerateScale 383 feGetElemDistortion 277 feGetElemDistortion2 278 feGetElementEdges 619 feGetElementFaces 618 feGetInt 621 feGetMenuCommand 653 feGetMenuCommands 652 feGetReal 620

feGetToolbarCommand 656 feGetToolbarCommands 654 feGetToolbars 645 feGetToolbarSubCommands 655 feGetUserCommands 642 feGFXDelete 702 feGFXEnableView 704 feGFXLoad 700 feGFXReset 705 feGFXSelect 703 feGroupBoolean 543 feGroupBoolean2 544 feGroupCombine 545 feGroupEvaluate 542 feGroupGenElemType 550 feGroupGenerate 546 feGroupGenMatl 549 feGroupGenProp 548 feGroupGenSolid 547 feGroupMoveToLayer 552 feGroupPeel 551 feLayerGet 244 feLayerPut 243 feLicenseExpiration 693, 696 feLicenseIsAvailable 695 feLicenseMethod 694 feLine2Tangent 290 feLineAtAngl 286 feLineHorzVert 285 feLineMidline 288 feLineParallel 287 feLinePointDs 292 feLinePoints 284 feLinePointTangent 289 feLineRectangle 291 feLoadCombine 392 feLoadFromFreebody 393 feLoadToolbarLayout 666 FEMAP events 1666, 1667 FEMAP Basic Scripting 33 FEMAP Neutral file 203, 205 feMeasureAngle 255 feMeasureAngleBetweenNodes 256 feMeasureCurve 257 feMeasureDistance 251 feMeasureDistanceBetweenLines 254 feMeasureDistanceBetweenNodes 253 feMeasureDistanceToPlane 252 feMeasureMeshMassProp 260 feMeasureMeshSectionProp 263 feMeasureSolidMassProp 259 feMeasureSurfaceArea 258 feMeasureSurfSectionProp 262 feMeshApproachSurface 426 feMeshAttach 490 feMeshAttachNodes 491 feMeshAttrCurve 422 feMeshAttrPoint 421

feMeshAttrSolid 425 feMeshAttrSurface 424 feMeshBetween 442 feMeshBuildRemeshRegions 455 feMeshCleanupSlivers 453 feMeshClosestLink 444 feMeshCoincidentLink 445 feMeshConvertFacets 452 feMeshCurve 429 feMeshDetach 492 feMeshEdgeMembers 459 feMeshEdgeRemoval 454 feMeshEditRemeshRegions 456 feMeshExtrudeCurve 463 feMeshExtrudeElem 461 feMeshHexSolid 438 feMeshHexSolidFromElements 440 feMeshPoint 427 feMeshRemesh 450 feMeshRemeshRegions 457 feMeshRevolveCurve 465 feMeshRevolveElem 464 feMeshSizeCurve 415 feMeshSizePoint 414 feMeshSizeSolid 419 feMeshSizeSurface 417 feMeshSmooth 460 feMeshSurface 433 feMeshSurface2 431 feMeshSurfaceByAttributes 435 feMeshSweepCurve 467 feMeshSweepElem 466 feMeshTetSolid 436 feMeshTransition 447 feMeshUnzip 446 feModifyColor 483 feModifyDefCSys 493 feModifyElemOrder 509 feModifyElemPropID 504 feModifyElemRelease 508 feModifyElemReverse 507 feModifyElemType 516 feModifyFormulation 511 feModifyLayer 485 feModifyLoadPhase 503 feModifyMaterialAngle 506 feModifyMidside 510 feModifyOffsets 513, 514 feModifyOrient 515 feModifyOutCSys 494 feModifyPermBC 495 feModifyPropMatlID 505 feModifyReverseCurve 498, 499 feModifySolidFacetting 501 feModifySplineKnots 497 feModifySplineOrder 496 feModifySplitQuads 512 feModifySuperelementID 502 feModifySurfaceDivisions 500

feModifyTransparency 484 feMoveBy 477 feMoveOffset 478 feMoveTo 476 feNotePut 219 feNotesGet 218 feOutputCalculate 408 feOutputCompare 412 feOutputConvertV92VectorID 409 feOutputForceBalance 410 feOutputForceBalance2 411 feOutputFromLoad 405 feOutputProcess 395 feOutputProcessConvert 401 feOutputProcessCopy 397 feOutputProcessEnvelope 402 feOutputProcessErrorEstimate 404 feOutputProcessLinearCombination 399 feOutputProcessMerge 398 feOutputProcessRSSCombination 400 feOutputTransform 406 fePlaneBisect 609 fePlaneCSys 610 fePlaneCurveNormal 612 fePlaneLocation 606 fePlaneNodes 607 fePlanePick 604 fePlanePickByMethod 605 fePlanePoints 608 fePlaneSurfaceNormal 611 fePlaneViewAlign 613 feProjectAlongVector 473 feProjectOntoCurve 470 feProjectOntoPlane 474 feProjectOntoSolid 475 feProjectOntoSurface 471 feProjectOntoVector 472 feRenumber 486 feRenumberOpt 487 feResetToolbar 650 feRotateBy 480 feRotateTo 479 feRotationFromDirCos 584 feRotationToDirCos 583 feRotationTransform 582 feRunIOTest 236 feSaveToolbarLayout 665 feScale 482 feScreenPctPick 624 feSelectOutput 615 feSetToolbarCommandBitmap 664 feSetToolbarCommandTitle 663 feSetToolbarCommandVisible 661 feSetToolbarSeparator 662 feSetToolbarVisible 651 feSolidAdd 366 feSolidChamfer 365 feSolidCleanup 376 feSolidCleanupAdvanced 377

feSolidCommon 368 feSolidEmbed 369 feSolidEmbedFace 375 feSolidExplode 348, 349, 361 feSolidExtrude 359 feSolidFillet 364 feSolidIntersect 370 feSolidPrimitives 357 feSolidRemove 367 feSolidRemoveFace 379 feSolidRevolve 360 feSolidShell 371 feSolidSlice 372 feSolidSliceAlongFace 374 feSolidSliceMatch 373 feSolidStitch 362 feSolidStitchNoCleanup 363 feSplineBlend 316 feSplineEllipse 313 feSplineHyperbola 315 feSplineParabola 314 feSplinePoints 310 feSplineTangent 312 feSurfaceAlignedCurves 340 feSurfaceConvert 347 feSurfaceCorners 338 feSurfaceEdgeCurves 339 feSurfaceExtend 356 feSurfaceExtrude 343 feSurfaceMidAttrib 353 feSurfaceMidAuto 352 feSurfaceMidSingle 351 feSurfaceNonManifoldAdd 348 feSurfaceNormalDeviation 346 feSurfaceRecoverManifold 349 feSurfaceRemoveHole 350 feSurfaceRevolve 344 feSurfaceRuled 342 feSurfaceSweep 345 feSurfaceTrimToSolid 354 feSurfaceTrimWithCurves 355 feTextGet 249 feTextMultiPut 247 feTextPut 245 feToolUnitConvert 239 feToolUnitConvertFactors 238 feVarEval 242 feVarGet 241 feVarPut 240 feVectorAngle 593 feVectorAngleAxis 594 feVectorAxis 599 feVectorAxisOfSurface 603 feVectorCrossPoduct 589 feVectorDotProduct 590 feVectorFromBeam 586 feVectorLength 588 feVectorNormalizedDotProduct 591 feVectorNormalToSurface 601

feVectorNormalToView 602 feVectorPerpendicular 592 feVectorPick 597 feVectorPickByMethod 598 feVectorPlaneIntersect 595 feVectorTangentToCurve vector unit 600 feVectorToBeam 587 feVectorTransform 585 feVectorUnit 596 feViewAllViews 529 feViewCascade 533 feViewRedraw 527 feViewRegenerate 528 feViewShow 530 feViewTile 531 feViewVisible 526 feWindowCascade 533 feWindowMaximize 535 feWindowMinimize 534 feWindowRedraw 527 feWindowRestore 536 feWindowSetRect 537 feWindowShow 530 feWindowTile 531 feWindowTileHorz 532 feWindowTitle 538 feWindowVisible 526 Field 845 file close 817 end 816 jump to location in 819, 820 new 162, 626, 627, 628, 629, 630, 631, 632, 633, 700 open 163, 814 position in 818 print 222, 223 read line from 815 save as 167 size 821 time accessed 824 time created 822 time written 823 timed save 168 filename get 708 fillet solid 364 Find 946 FindColumn 721 FindMaxMin 1490 FindRow 717 First 919, 955, 973, 1028 FirstInSet 1029 FixedFormat 841 fixup elements 272 Free Edge 554

Free Face 555 FreeCurvesAsSet 1532 Function object 1309 methods 1309 properties 1309

G Geometry Preparation object 794 methods 802 properties 794 Get 965, 1011 Get Search 1400 GetAll 1446, 1610, 1613, 1616, 1619, 1622 GetAllArray 1276, 1447 GetAllPly 1377 GetAlternateTaper 775 GetArray 928 GetAspectRatio 771 GetBoxSet 1049, 1062 GetCellValue 1249 GetCentroid 1287 GetClosest 1451 GetColumnInfo 722 GetColumnText 733 GetColumnTitle 727, 1252 GetColumnValue 731, 1253 GetColumnVisible 723 GetColumnWidth 725 GetCombination 1148, 1425 GetCombined 789 GetCombinedCurves 1220 GetContactList 1165 GetContactTable 1080, 1118 GetCoordArray 1448 GetCorrelate 1114, 1115 GetData 945, 1269 GetDataSurf 1234 GetDataSurfInfo 1265 GetDataSurfType 1272 GetDivisionList 1043 GetEdgeNodes 1292 GetElements 1301, 1304 GetElemWithCorner 1482 GetElemWithCornerSet 1484 GetEntities 1167 GetExplicitTimeStep 791 GetFaceArea 1290 GetFaceCentroid 1288 GetFaceNodes 1291 GetFaceNormal 1289 GetFromSet 1462 GetFunctionList 1310 GetGroup 750 GetInternalAngle 777 GetJacobian 787 GetLibrary 1012 GetMeshLoc 1213

GetMeshLocXYZ 1214 GetMinMaxEdgeLength 1298 GetModelDefaults 769 GetMultiGroupList 1650 GetNastranWarping 783 GetNodeList 1282 GetNodeSet 1061 GetOffset 1171 GetOutputList 1463 GetOutputListAtID 1464 GetOutputListAtSet 1465 GetPageInfo 1266 GetPageTitle 1258 GetPageValue 1260 GetPly 1376 GetRadiList 1053 GetRowInfo 718 GetRowTitle 1254 GetRowValue 1256 GetRowValues 734 GetRowVisible 719 GetScalarAtElem 1477 GetScalarAtElemSet 1478 GetScalarAtNode 1468 GetScalarAtNodeSet 1469 GetSearch 1133, 1407 GetSelected 866 GetSelection 757 GetSkew 779 GetSort 754 GetStandardTrim 1082 GetSurfaceSet1 1067 GetSurfaceSet2 1068 GetTaper 773 GetTetCollapse 785 GetText 1112 GetThetaList 1051 GetTitle 966 GetTitleIDList 1016 GetTitleList 1015 GetTrimControlSurf 1084 GetValue 1312 GetVarID 1625 GetVectorAtNode 1473 GetVectorAtNodeSet 1474 GetVectorAtSingleNode 1472 GetWarping 781 GFXArrow object 1314 properties 1314 GFXLine object 1320 methods 1315, 1321 properties 1320 GFXPoint object 1326 methods 1327 properties 1326 GFXQuad4 object 1332 methods 1333 properties 1332 GFXTria3 object 1338

methods 1339 properties 1338 global boolean properties 124 global constant 40 global integer properties 116 global real properties 121 global string properties 125 GlobalPly object 1344 methods 1344 properties 1344 group boolean 543, 544 combine 545 create 546 create based on property 548 create based on solids 547 evaluate 542 generate based on element type 550 generate based on layers of solid elements 551 generate based on materials 549 move to layer 552 selection rules 876 Group object 1345 list types 1349 methods 1350 properties 1345 range types 1347 Grow 858

H HasCommon 912, 913 HasFullGlobalPly 1384 HasGlobalPly 1382 HasMaterial 1383 HasPole 1599 HasPrevious 806

I I-DEAS file 177 IDs renumber 486, 487 IGES file 178, 180, 208 import ABAQUS 192, 198 ACIS 169, 171 ANSYS 193, 199 CATIA 172 CATIAV5 173 DXF 175 FEMAP Neutral 203 I-DEAS 177 IGES 178, 180 LS-DYNA 194, 200 MARC 195, 201 NASTRAN 196, 202 Parasolid 181, 183

Patran 197 ProE 184 PRT 191 SolidEdge 185 STEP 186, 189 STL 190 Inertia 1297, 1525 InitAnalysisCase 1078 InitAnalysisMgr 1111 InitElemWithCorner 1480 InitScalarAtElem 1476, 1488 InitScalarAtNode 1467 InitVectorAtNode 1471 InsertPly 1373 Inside 1552 InsideXYZ 1553 interface embedded 670, 675 unlock 678, 680, 682, 684 visible 674 InterferenceBodyCount 1046 InternalAngle 778 intersect solids 370 intersection coordinates 569, 580, 581 IntField 846 IsAdded 894, 949 IsArrayAdded 895 IsBoundingSolidRegion 1585 IsCombinedCurve 1219 IsCone 1583 IsCylinder 1581 IsEnabled 1185 IsGeneral 1540 IsLayerVisible 1656 IsNonManifold 1227, 1228 IsParabolic 1293 IsPlane 1580 IsSetAdded 896 IsSheet 1538 IsSmoothEdge 1215 IsSolid 1537 IsSphere 1582 IsStraight 1226 IsTorus 1584 IsTotalLoad 1393 IsWire 1539

J Jacobian 788 Jump 984 jump to file location 819, 820

K knots BSpline curves 497

L Last 920, 956, 974, 1030 layer get information 244 modify 485 update 243 Layer object 1368 methods 1368 properties 1368 Layup 1522 Layup object 1370 methods 1372 properties 1370 Length 1199, 1295 length vector 588 license 693, 694, 695, 696 line create at angle 286 create between other lines 288 create between points 284 create horizontal or vertical 285 create parallel 287 create rectangle 291, 292 create tangent to curve 289 create tangent to curves 290 line elements modify 515 LineInit 839 List 1350 listing 689, 690 load combine 392 from Freebody 393 LoadBolt object 1386 methods 1386 properties 1386 LoadDefinition object 1388 methods 1389 properties 1388 LoadETemp object 1394 methods 1394 properties 1394 LoadGeom object 1396 load types 1401 methods 1400 properties 1396 LoadGroup 862 LoadMesh object 1403 load types 1411 methods 1407 properties 1403

LoadNTemp object 1412 methods 1412 properties 1412 loads coincident 281 LoadGeom types 1401 LoadMesh types 1411 update phase 503 LoadSet object 1414 methods 1419 properties 1414 Lock 758 lock interface interface lock 677, 679, 681, 683 LS-DYNA file 194, 200, 215

M MapFromModelToSet 1429, 1435 MapFromModelToSet2 1432 MapOutput object 1428 properties 1428 MARC file 195, 201, 216 MassProp 1535 Match 921 Material 1521 material access properties 1439 array index values 1439 update 505 material angle update 506 Material object 1437 methods 1443 properties 1437 Matl 1286 maximize window 673 MaxNormalDeviation 1597 measure angle 255, 256 curve 257 distance between lines 254 distance between nodes 253 mesh mass properties 260 solid mass properties 259 surface area 258 measure distance 251 measure distance to plane 252 memory allocating 39 Mesh 810, 1603 mesh approach on surfaces 426 attributes on curves 422 attributes on points 421

attributes on solids 425 attributes on surfaces 424 between locations 442 between nodes 444, 445 build remeshing regions 455 change remeshing regions 456, 457 cleanup slivers 453 convert facets 452 extrude curves 463 extrude elements 461 from elements 440 from points 427 generate on free edges or faces 459 on curves 429 on solids 436, 438 on surfaces 431, 433 project 475 remesh 450 remove edge 454 revolve curves 465 revolve elements 464 size 414 size on curves 415 size on solid 419 size on surfaces 417 sizes on points 414 smooth 460 surface 435 sweep curves 467 transition 447 unzip 446 meshing attributes 353 Meshing object 794 methods 802 properties 794 MeshParam 1202 message copy 229 save 230 select 231 write 688, 689, 690 MessageBox 622 midside nodes update 510 midsurface create 351, 352 minimize window 673 MinRadiiOfCurvature 1600 model 71 modify color 483 constraints 495 coordinate systems 494 element offsets 513, 514 element type 516 layers 485 line elements 515 node superelementID 502

quadrilateral element 512 solid facetting 501 surfaces 500 transparency 484 move elements 478 nodes, points, coordinate systems 476, 477 MsgBox 622 multi-dimensional 38

N NASTRAN file 196, 202, 217 NastranWarping 784 new file 162, 626, 627, 628, 629, 630, 631, 632, 633, 700 Next 916, 952, 971, 1025 NextAfter 917 NextBC 1129, 1145 NextBCDef 1147 NextEmptyID 1037 NextEmptySet 977, 1033 NextID 918, 1035 NextInSet 1026 NextLoad 1391, 1422 NextLoadDef 1424 NextSet 975, 1031 node coordinates 571 modify 502 Node object 1444 methods 1446 properties 1444 Nodes 1206, 1495, 1542, 1587 nodes access 1275 attach to geometry 489, 490, 491 coincident 264, 266 detach from geometry 492 move 476, 477 planar 270 project 470, 471, 472, 473, 474 to define plane 607 update midside 510 NodesAsSet 1208, 1497, 1544, 1589 Normal 1218, 1560 NormalAtXYZ 1561 NormalBox 1596 normals elements 279 reverse 507 notes get 218 put 219

O object

Aero Panel/Body 1042 Aero Property 1050 Aero Spline 1060 Aero Surface 1064 AnalysisCase 1071 AnalysisSet 1086 application 33, 71 BCDefinition 1126 BCEqn 1130 BCGeom 1131 BCNode 1138 BCSet 1141 Connection 1181 Connection Property 1151 Connection Region 1163 Contact 1163 creating 1005 CSys 1186 curves 1188 destroying 1009 Element 1273, 1299 Element Quality 766 Entity 1010 Function 1309 Geometry Preparation and Meshing 794 GFXArrow 1314 GFXLine 1320 GFXPoint 1326 GFXQuad4 1332 GFXTria3 1338 GlobalPly 1344 Group 1345 Layer 1368 Layup 1370 LoadBolt 1386 LoadDefinition 1388 LoadETemp 1394 LoadGeom 1396 LoadMesh 1403 LoadNTemp 1412 LoadSet 1414 MapOutput 1428 Material 1437 Node 1444 Optim 1452 Output 1454 OutputSet 1491 Point 1494 properties 83 Property 1501 Readfile 52, 813 Report 1526 Selector 716, 850 Set 869 Solid 1527 Sort 939 Surface 1548 TMG 1615 TMGBC 1609

TMGCtrl 1612 TMGOpt 1618 TMGReal 1621 tools 713 UserData 964 Variable 1624 View 1629 objects FEMAP 33 offsets element 513, 514 open file 163, 814 Optim object 1452 methods 1429, 1453 properties 1428, 1452 order BSpline 496 elements 509 output calculate 408 compare 412 components 1456 convert vector ID 409 example creating 50 force balance 410, 411 from loads 405 process 395, 397, 398, 399, 400, 401, 402, 404 transforming 406 vector IDs 1457 output coordinate system 494 Output object 1454 methods 1458 properties 1454 OutputSet object 1491 methods 1492 properties 1491 OutputVectors 1493

P page setup reset 221 save 220 PanelChordCount 1048 PanelSpanCount 1047 panes 635, 636 ParamAtLength 1201 parametric coordinates 568 ParamToXYZ 1195, 1554 Parasolid file 181, 183, 209 ParseTitleID 1018 PartialLength 1200 PartialLengthNode 1225 PartialLengthXYZ 1224 Paste 868 Patran file 197 Performance 83

phase loads 503 Pick Screen 624 pick coordinates 557, 558 picture copy 224, 225 replay 228 save 226, 227 Planar 1575 planar nodes 270 plane bisect 609 define 604, 605, 606 define with nodes 607 define with points 608 normal 611, 612, 613 principal 610 point coordinates 570 Point object 1494 methods 1494 properties 1494 Points 1528, 1571 points coincident 267 mesh size 414 move 476, 477 project 470, 471, 472, 473, 474 to define plane 608, 609 PointsAsSet 1529, 1572 Position 983 position in file 818 window 671 preferences reset 235 save 234 Prepare 808 Prev 953, 972, 1027 PrevEmptyID 1038 PrevEmptySet 978, 1034 PrevID 1036 PrevSet 976, 1032 primitive create 357 principal planes 610 Print 764 print file 222, 223 ProE file 184 program run 709, 710, 711 Project 1197 project coordinates 563, 567, 578, 579 mesh 475

nodes 471, 472, 473, 474 nodes/points 470 points 471, 472, 473, 474 ProjectOnto 1562 Prop 1183, 1285 properties elements 504 global boolean 124 global integer 116 global real 121 global string 125 update material 505 Property object 1501 access properties 1503 array index values 1504 methods 1515 properties 1501 Put 967, 1013 PutAll 1127, 1315, 1321, 1327, 1333, 1339, 1389, 1449, 1611, 1614, 1617, 1620, 1623 PutAllArray 1280, 1316, 1322, 1328, 1334, 1340, 1450 PutCombination 1149, 1426 PutContactList 1166 PutContactTable 1081, 1119 PutCoordArray 1317, 1323, 1329, 1336, 1342 PutCoordNormalArray 1335, 1341 PutCorrelate 1116, 1117 PutDataSurf 1235 PutDivisionList 1044 PutElemWithCorner 1486 PutFunctionList 1311 PutLibrary 1014 PutNodeList 1283 PutOutputList 1466 PutRadiList 1054 PutScalarAtElem 1479, 1489 PutScalarAtNode 1470 PutStandardTrim 1083 PutSurfaceSet1 1065 PutSurfaceSet2 1066 PutText 1111, 1112, 1113 PutThetaList 1052 PutTitle 968 PutTrimControlSurf 1085 PutVectorAtNode 1475

Q quadrilateral elements modify 512

R Range 1352 RangeAdd 1357 RangeDelete 1358 RangeDeleteAll 1359 RangeGetAll 1355

RangeNext 1356 RangeReset 1354 RationalParamToXYZ 1601 read 815 ReadBool 1000 ReadBoolArray 1003 ReadDouble 996 ReadDoubleArray 1001 Readfile example using 52 Readfile object 813 methods 814 properties 813 ReadFloat 997 ReadLong 998 ReadLongArray 1002 ReadShort 999 ReadString 1004 RealField 847 rebuild 233 rectangle create 291, 292 Redraw 1654 redraw view 527 reflect 385 Regenerate 1655 regenerate view 528 register application 667, 668, 669 releases beam 508 Reload 914 remesh 450 Remove 904, 947 RemoveArray 906 RemoveGroup 910 RemoveInternalCurves 911 RemoveNotCommon 908, 909 RemovePrevious 807 RemoveRange 905 RemoveSet 907, 948 renumber IDs 486, 487 Reparse 840 Report object 1526 methods 1526 properties 1233, 1526 Reset 915, 951, 970, 1024 ResetMeshAttr 1602 ResetNextBC 1128, 1144 ResetNextBCDef 1146 ResetNextLoad 1390, 1421 ResetNextLoadDef 1423 Resize 1267 Reverse 1177, 1192 revolve elements 464

solid 360 rigid element example creating 56 Rotate 1658 rotate 384 coordinate system 582, 583, 584 coordinates 577 entities 479, 480

S Save 760 save as 167 SaveGroup 861 scale 383 entities 482 section properties mesh 263 surface 262 Select 897, 958 SelectAllOnLayer 1366 SelectBox 854 SelectCircle 855 SelectContact 1365 SelectFreehand 857 SelectID 898, 959, 1039 SelectIDInSet 899 SelectList 902, 960 SelectMesh 1364 SelectModel 1363 SelectMultiID 900 Selector object 716, 850 methods 851 properties 850 SelectOutputVectorID 901 SelectPolygon 856 Set object 869, 939 Set object methods 870 properties 869 SetAdd 1360 SetAddOpt 1361 SetAllPly 1375 SetAutoFormat 844 SetBackgroundColor 747 SetCellBlank 1264 SetCellEquation 1251 SetCellValue 1250 SetColumnAlignment 730 SetColumnPosition 729 SetColumnTitle 728 SetColumnVisible 724 SetColumnWidth 726 SetColumTitle 1262 SetColumValue 1263 SetCylinder 1137 SetData 944

SetDefaults 1162 SetElements 1302 SetFixedFormat 842 SetFormFeed 837 SetFreeFormat 843 SetLayerVisible 1657 SetModelDefaults 768 SetMultiGroupList 1651 SetNoBlankLines 827 SetNodes 1305 SetNoShortLines 828 SetOffset 1170 SetOutputType 1169 SetPageTitle 1259 SetPageValue 1261 SetPly 1374 SetRigidType 1172, 1173 SetRowTitle 1255 SetRowValue 1257 SetRowVisible 720 SetSearch 834 SetSearchString 835 SetSizes 805 SetSkip 833 SetSkipAfterSearch 836 SetSurfDirection 1136 SetSurfNormal 1135 SetSurfSliding 1134 SetTabSize 838 SetTextColor 746 SetTrimEndSpace 830 SetTrimFront 831 SetTrimSpace 829 SetUppercase 832 shell solid 371 Show 763, 860 ShowGroup 751 ShowStatus 826 Shrink 859 Size 809 size of file 821 Skew 780 skipped 825 SlenderBodyCount 1045 slice solid 372, 373, 374 slivers cleanup 453 Solid 1563 solid add 366 chamfer 365 cleanup 376, 377 create 368 create primitive 357 embed 369 embed face 375 explode 348, 349, 361

extrude 359 fillet 364 intersect 370 modify 501 remove 367 remove face 379 revolve 360 shell 371 slice 372, 373, 374 stitch 362, 363 trim surface 354 Solid object 1527 methods 1528 properties 1527 SolidEdge file 185 Sort 961 Sort object methods 940 properties 939 SortRemoveDuplicates 962 Spherical 1577 spline create from curves 316 create from ellipse 313 create from hyperbola 315 create from parabola 314 create from points 310 create from tangent vectors 312 split elements 512 split surface 324, 325, 326 status bar 637, 638, 685, 686, 687, 826 STEP file 186, 189, 210 Stereolithography (STL) file 190, 211 stitch solid 362, 363 surface axis vector 603 boundary 333, 334, 335, 336, 337 convert 347 coordinates on 567 create 338 create between curves 342 create by extrusion 343 create by revolution 344 create by sweeping 345 create from curves 339, 340 extend 356 mesh 435 meshing attributes 353 modify 500 normal 346 remove hole 350 trim 355 update 317 Surface object 1548 methods 1552 properties 1548 Surfaces 1216, 1533

SurfacesAsSet 1217, 1500, 1534 sweep elements 466

T Tangent 1198 TangentAtEnds 1229 Tangents 1559 Taper 774 TetCollapse 786 Text 1606 methods 1608 properties 1606 text create or update 245, 247 retrieve 249 Thickness 1294, 1523 timed save 168 TMG object properties 1609 TMGBC object 1609 methods 1610 TMGCtrl object 1612 methods 1613 properties 1612 TMGInt object 1615 methods 1616 properties 1615 TMGOpt object 1618 methods 1619 properties 1618 TMGReal object 1621 methods 1622 properties 1621 toolbars 634 Toroidal 1579 transform coordinates 572, 573, 574 vector 585, 587 transparency modify 484 trim surface 354, 355 Truncate 986

U UI 812 Unigraphics (.PRT) file 191 unit vector 599, 600, 601, 602 unlock interface 678, 680, 682, 684 update beam releases 508 coordinate systems 493 element formulations 511

elements 509 loads 503 material angle 506 material properties 505 midside nodes 510 surfaces 317 UpdateColumn 740 UpdateColumnByID 739 UpdateDataTable 863 UserData object 964 methods 965 properties 964

V VarAlongCoord 1236 VarArbitrary3DCoord 1247 VarBetween2Pts 1237 VarBetween4Pts 1239 VarBetween8Pts 1240 VarEquation 1248 variable add to model 240 retrieve 241 Variable object 1624 methods 1625 properties 1624 variant 35 VarMeshSurface 1244 VarOutputMap 1243 VarParametric2Pt 1241 VarParametric4Pt 1242 VarSpatialUVtable 1245 VarSpatialXYZTable 1246 VB6 34, 37, 45 VBA 33 Vector 1492 vector at intersection 595 create unit 599 length 588 normalize 596 transform 587 transform vector 586 unit 601, 602 vectors angle between 593, 594 cross product 589 dot product 590, 591 perpendicular 592 pick or enter 597, 598 transform 585 version 697 view all 529 cascade 533 make visible 526

redraw 527 regenerate 528 show 530 tile 531, 532 View object 1629 methods 1649 properties 1629 View Option types 1640 visibility 539 Visible 1653 visible 674 Visual Basic 33, 34, 37, 45 create FEMAP object 71 Visual C++ 33, 37 example using 67 VRML file 212

W Warping 782 washer 323 window minimize or maximize 673 position 671 workplane coordinates convert 559 WriteBool 991 WriteBoolArray 994 WriteDouble 987 WriteDoubleArray 992 WriteFloat 988 WriteLong 989 WriteLongArray 993 WriteShort 990 WriteString 995

X X 1459 XYPoints 1187 XYZToParam 1196, 1555

Y Y 1460

Z Z 1461

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF