Anda di halaman 1dari 2160

Patran 2010

PCL Reference Manual


Volume 1: Function Descriptions
Corporate Europe Asia Pacific
MSC.Software Corporation MSC.Software GmbH MSC.Software Japan Ltd.
2 MacArthur Place Am Moosfeld 13 Shinjuku First West 8F
Santa Ana, CA 92707 USA 81829 Munich, Germany 23-7 Nishi Shinjuku
Telephone: (800) 345-2078 Telephone: (49) (89) 43 19 87 0 1-Chome, Shinjuku-Ku
Fax: (714) 784-4056 Fax: (49) (89) 43 61 71 6 Tokyo 160-0023, JAPAN
Telephone: (81) (3)-6911-1200
Fax: (81) (3)-6911-1201

Worldwide Web
www.mscsoftware.com

Disclaimer
This documentation, as well as the software described in it, is furnished under license and may be used only in
accordance with the terms of such license.
MSC.Software Corporation reserves the right to make changes in specifications and other information contained
in this document without prior notice.
The concepts, methods, and examples presented in this text are for illustrative and educational purposes only,
and are not intended to be exhaustive or to apply to any particular engineering problem or design. MSC.Software
Corporation assumes no liability or responsibility to any person or company for direct or indirect damages resulting
from the use of any information contained herein.
User Documentation: Copyright 2010 MSC.Software Corporation. Printed in U.S.A. All Rights Reserved.
This notice shall be marked on any reproduction of this documentation, in whole or in part. Any reproduction or
distribution of this document, in whole or in part, without the prior written consent of MSC.Software Corporation is
prohibited.
The software described herein may contain certain third-party software that is protected by copyright and licensed
from MSC.Software suppliers. Contains IBM XL Fortran for AIX V8.1, Runtime Modules, (c) Copyright IBM
Corporation 1990-2002, All Rights Reserved.
MSC, MSC/, MSC Nastran, MD Nastran, MSC Fatigue, Marc, Patran, Dytran, and Laminate Modeler are
trademarks or registered trademarks of MSC.Software Corporation in the United States and/or other countries.
NASTRAN is a registered trademark of NASA. PAM-CRASH is a trademark or registered trademark of ESI Group.
SAMCEF is a trademark or registered trademark of Samtech SA. LS-DYNA is a trademark or registered trademark
of Livermore Software Technology Corporation. ANSYS is a registered trademark of SAS IP, Inc., a wholly owned
subsidiary of ANSYS Inc. ACIS is a registered trademark of Spatial Technology, Inc. ABAQUS, and CATIA are
registered trademark of Dassault Systemes, SA. EUCLID is a registered trademark of Matra Datavision
Corporation. FLEXlm is a registered trademark of Macrovision Corporation. HPGL is a trademark of Hewlett
Packard. PostScript is a registered trademark of Adobe Systems, Inc. PTC, CADDS and Pro/ENGINEER are
trademarks or registered trademarks of Parametric Technology Corporation or its subsidiaries in the United States
and/or other countries. Unigraphics, Parasolid and I-DEAS are registered trademarks of UGS Corp. a Siemens
Group Company. All other brand names, product names or trademarks belong to their respective owners.

P3:V2010:Z:PCL:Z:DC-USR-PDF
Contents
PCL Reference Manual

1 Introduction
Introduction 10

Patran User Interface Description 11

Session and Journal Files 12

Features of Session and Journal Files 13

Interpreting Session and Journal Files 15

Session Files to PCL Files 16

Function Description Organization 25

Error Handling 27

Solving Problems 28

2 Basic Functions
Introduction 22

File Menu 23

Group Menu 128

Viewing Menu 181

Viewport Menu 223

Display Menu 261

Tools Menu 353

3 Geometry Functions
Introduction 470

Construct Actions 471


4 PCL Reference Manual

Disassemble Actions 777

Associate Actions 780

Disassociate Actions 788

Renumber Actions 791

Sweep Actions 794

Verify Actions 815

Transform Actions 818

Edit Actions 894

Delete Actions 986

Utlities 997

4 Finite Element Functions


Introduction 1004

Create Action 1006

Transform Action 1055

Sweep Action 1066

Renumber Action 1096

Disassociate Action 1099

Equivalence Action 1101

Optimize Action 1115

Verify Action 1119

Show Action 1185

Modify Action 1187

Delete Action 1228

Utilities 1234
CONTENTS 5

5 Property Assignment Functions


Introduction 1254

Loads and Boundary Conditions 1256

Element Properties 1275

Experimental Data Fitting 1284

Beam Library 1297

Materials 1317

Load Cases 1340

Fields 1344

6 Results Postprocessing Functions


Introduction 1370

Results Database Functions 1371

Results Utility Functions 1374

Results Data Registers 1451

Data Register Definition Functions 1453

Data Register Query Functions 1473

Data Register Operator Functions 1490

Direct Results Access 1493

Results Display Manager 1495

Plot Tool Creation and Modification Functions 1496

Plot Tool Manipulation Functions 1518

Animation Functions 1527

Quick Plot Functions 1542

Plot Tool Query Functions 1551

Results Template Functions 1563


Session file commands 1563
6 PCL Reference Manual

Results Plot Sets 1580


Iterator Descriptions 1583
Plot Set Definition 1584
Sample Plot Set Example 1584
Simple Plot Set Containing a Deformed Fringe Plot 1589

7 XY Plot Functions
Introduction 1616

Create Action 1617

Post Action 1634

Modify Action 1642

Rename Action 1745

Delete Action 1746

8 FlightLoads Functions
Introduction 1750

General Utilities 1751

Modeling Utilities 1754

AeroDynamic Utilities 1782

AeroElastic Utilities 1791

Loadsbrowser Utilities 1801

9 Preference Functions
Introduction 1808

Analysis Preferences 1809

Global Preferences 1812

Graphics Preferences 1825

Report Preferences 1854

Geometry Preferences 1857


CONTENTS 7

Finite Element Preferences 1861

10 Broken, Obsolete, Modified and New Functions


Introduction 1864

Basic Functions (Chapter 2) 1865

Geometry Application Preference (Chapter 3) 1866

Group Menu (Chapter 2) 1867

Finite Element Modeling Preference (Chapter 4) 1868

Function Assignments Application Preference (Chapter 5) 1869

Results Postprocessing Application Preference (Chapter 6) 1871

XY Plotting Application Preference (Chapter 7) 1872

Preference Application Preference (Chapter 8) 1873

FlightLoads Preference (Chapter 9) 1874

11 Status Messages
Introduction 1876
Status Conditions 1877
I/O and Import Status Conditions 1878
Analytical Solids Modeling Status Conditions 1886
Finite Element Model Status Conditions 1898
Results Status Conditions 1927
Application Interface Status Conditions 1948
PCL Status Conditions 1996
Core Status Conditions 2000
XY Status Conditions 2003
Group Status Conditions 2005
Preference Status Conditions 2013
Database Status Conditions 2015
List Processor Status Conditions 2023
Graphics Manager Status Conditions 2037
Application Status Conditions 2043
List Manager Status Conditions 2044
ID Dispenser Status Conditions 2045
Mesher Status Conditions 2046
IGES Status Conditions 2050
8 PCL Reference Manual

Unigraphics Status Conditions 2050


Session File Status Conditions 2056
Command Line Interface Status Conditions 2056
NOODL Status Conditions 2057
Neutral File Status Conditions 2058
Loads and Boundary Conditions Status Conditions 2064
Materials Status Conditions 2068
Element Property Status Conditions 2078
Fields Status Conditions 2082
Event ManagerStatus Conditions 2089
Security Status Conditions 2090
Meshing Finite Elements Status Conditions 2094
Automesher Status Conditions 2098
Range Tree Status Conditions 2102
File Status Conditions 2103
P/Thermal Status Conditions 2112
2117
Solid Geometry Manager Status Conditions 2118
Journal File Status Conditions 2141
Vector Utility Status Conditions 2142
Matrix Utility Status Conditions 2142
Topology Engine Status Conditions 2143
Express File Status Conditions 2145
Neutral File Export Status Conditions 2146
Remote Procedure Calls 2148
List Status Conditions 2149
Fatigue Status Conditions 2150
Team Status Conditions 2158
Utility Status Conditions 2159
CADDS File Status Conditions 2160
Mass Properties Status Conditions 2162
Post Processor Interface Status Conditions 2166
Database Import Status Conditions 2168
FreeBody Results Status Conditions 2171
Parameterization Status Conditions 2171
Laminate Modeler Status Conditions 2173
Design Study Status Conditions 2177
SGM_RSM 2179

2181
PCL Reference Manual
2 SimXpert Release Guide
Chapter 1: Introduction
PCL Reference Manual

1 Introduction


Introduction 10

Patran User Interface Description 11

Session and Journal Files 12

Features of Session and Journal Files 13

Interpreting Session and Journal Files 15

Session Files to PCL Files 16

Function Description Organization 25

Error Handling 27

Solving Problems 28
10 PCL Reference Manual
Introduction

Introduction
This manual provides a detailed description of many of the PCL functions “built-in” to Patran that are
available to the user. Many of these functions can be used by themselves, combined to build user
functions, or be used to provide the functionality behind the forms and pull down menus that are part of
a user interface. These functions can be used at the command line or in a file to extend and customize
Patran. This manual provides a partial list of the functions that can be listed as entries in session and
journal files, allowing it to be used as an aid to the interpretation of these files.
This manual is broken up into ten chapters that describe:

Introduction This chapter introduces the purpose and contents of this


manual and describes the user interface and some of the
features of journal and session files.
Basic Functions This chapter documents the functions that are used in the
implementation of the File, Group, Viewport, Viewing,
Display and Tools items on the menu bar.
Geometry Functions This chapter documents functions that are used to
implement the “Geometry” form accessed through the
switch bar. The switch bar is located between the menu bar
and the tool bar near the top of the user interface.
Finite Element Functions This chapter documents functions that are used in the
implementation of the “Finite Elements” switch bar form.
Property Assignment Functions This chapter documents functions that are used in the
implementation of the “Loads/BC”, “Material”,
“Properties”, “Load Cases”, and “Fields” switch bar forms.
Results Postprocessing Functions This chapter documents functions that are used by the
“Results” switch bar form.
XY Plot Functions This chapter documents the functions that are used in the
implementation of the “XY Plot” switch bar form.
Preference Functions This chapter documents functions that are used to control
some of the settings or preferences used by many of the
other forms used in Patran. Many of these functions are used
in the implementation of the “Preferences” menu bar item.
Broken, Obsolete, Modified and New This chapter documents the changes that take place as
Functions functions are found to be broken, become obsolete, are
modified or are new to the manual.
Status Messages This chapter documents the different status messages in the
status message database that can be accessed using the
values returned by PCL functions.
Chapter 1: Introduction 11
Patran User Interface Description

Patran User Interface Description


The primary user interface to Patran is composed of a main form with six basic features. Across the top
of the main form is a menu bar through which a pull down menu system can be accessed. To the extreme
right of the menu bar are icons that can be used to run common operations such as refreshing graphics,
establishing the default window layering, resetting graphics, interrupting an operation in progress,
providing a heartbeat monitor, undoing the last operation, or providing information about Patran. Next,
is the switch bar, which is used to access forms that control the operations used to set up geometry, to
mesh a model, to assign loads and boundary conditions, analyze a model, display the results, and so
on.The fourth item on the display is the tool bar, which provides a ‘short cut’ to many of the settings
available through the pull down menus. After the tool bar is the history window. This is a text window
that can be scrolled by placing the cursor in the window with the mouse and using the up and down arrow
keys or the scroll bar to the right of the window. The line of text on which the cursor is placed will appear
in the sixth item on the display, the command line. The command line is a data box that allows for the
direct entry of PCL code and commands that can be used to direct almost any operation through a
command line rather than a graphical interface.
Any operations through the menu bar, the switch bar, the tool bar, or entered on the command line may
cause an entry to appear in the history window and to be echoed to the session and journal files. The
history window, the session file, and the journal file list information that are either comments or
commands in the PCL programming language.
12 PCL Reference Manual
Session and Journal Files

Session and Journal Files


Many of the functions documented in this manual are designed to place an entry in the journal and session
file for a database when they are executed.
Both journal and session files keep track of operations that would modify a database and some of the
settings in Patran. Session files track the operations done over a single work period, journal files track
the operations done over the life of a database.

All entries made to both the journal and session file take the form of a PCL, or ‘Patran Command
Language’ statement. PCL provides the glue that ties all of the inputs from a user to the underlying code
that composes Patran and provides the tools needed to modify and customize Patran.
Chapter 1: Introduction 13
Features of Session and Journal Files

Features of Session and Journal Files


Both session and journal files contain comments and calls to PCL functions. Entries to these files are
made in response to six types of user inputs: changes in settings made through the menu bar, inputs made
through the icons to the far right on the menu bar, the switch bar, the tool bar, the command line, and
directly through calls to PCL functions.

These files can be played back through Patran, repeating the operations listed in the files. There are some
limitations caused by what is recorded in these files and how they are played back. Some editing may be
required to work around these limitations to get the desired results from a play back of these files.

One of the limitations of the these files are in the area of file paths. When Patran opens a database, both
the path to the file and the file name are recorded in journal and session files as literal strings (the listing
has been reformatted to better fit the page):
uil_file_rebuild.start @
(“/some_other_system/patran/patran3/template.db”, @
“/my_system/wriggler.db”)
The source file path for the template file (“/some_other_system/patran /patran3/template.db”) was
applied either by the user when the template file for the database was specified or from the default path
and file settings. The default path is “/patran/patran3” but can be modified with the environment variable
P3_HOME. The default template file name is “template.db”. If this session or journal file is executed on
a different machine these path settings will be different and this file will require editing to make this
command work.
When a command in a session or journal file spawns another process, the results of executing a journal
or session file may create results that are different from the Patran session that created the original file.
If a session file passes a model to the translator for MSC Nastran, it will set up the files that MSC Nastran
needs and start MSC Nastran. MSC Nastran runs as a separate process and Patran may or may not wait
until the MSC Nastran process is done. If the session file is set not to wait for the process to finish, it will
immediately move on to the next operation. If the next operation is to read the results of the MSC Nastran
process which do not yet exist, playback of the journal or session file will fail. This situation will again
require some editing to fix.

During a Patran session, all operations are recorded in the journal and the session files. When an
operation requires user input through a popup form, the answer provided by the user is always recorded
in the session file but is sometimes not recorded in the journal file. The instances where user input is
required, but not recorded in journal files, can cause problems when a journal file is played back through
Patran. When the journal file playback gets to the point where user input is required, playback will stop
until the user input is provided. If the user input is different than that provided when the journal file was
made, the results of the playback will be modified.
14 PCL Reference Manual
Features of Session and Journal Files

Journal and session files not only record the operations executed by the user but also the exact order in
which those operations where executed by Patran. The order in which these operations are recorded can
affect the behavior of the playback of the journal and session files in which these operations are recorded.
For example: creating two surfaces in a model by using “Geometry”, “Create”, “Surface”, “XYZ” and
using the same vector and origin coordinate lists for both surfaces will cause a popup form to appear
warning the user of the duplicate surfaces created by the operation. If the user repositions or resizes the
model viewport while the popup form is on the screen and then answers the popup form after modifying
the viewport, the PCL commands to modify the viewport will be recorded in the journal and session file
before the reply to the popup form. When the journal or session file is played back using Patran, the reply
the user supplied will be lost because of the order in which the operation commands where recorded and
the user will be prompted with a popup form to supply the missing information.
These issues with journal and session files do not limit the usefulness of these files but they do point
out areas where the playback of a journal or session file may yield results that are different from what
was expected.
Chapter 1: Introduction 15
Interpreting Session and Journal Files

Interpreting Session and Journal Files


As can be seen above in the example above that discusses hard coded path and file names in journal and
session files, many of the arguments passed to PCL functions are listed as literal values in the journal and
session files. Literal strings are always set off with double quotes (“). Arguments that appear to be arrays
of integers can be literal strings set off with double quotes. The strings in that case are usually a list of
points or vectors:
STRING asm_create_hpat_xyz_created_ids[VIRTUAL]
asm_const_hpat_xyz(“1”, “<1 1 1>”, “[0 0 0]”,@
“Coord 0”, @
asm_create_hpat_xyz_created_ids)
In this example:

“1” is a string literal containing the character 1.


“<1 1 1>” is a string literal containing the description of a vector.
“[0 0 0]” is a string literal containing the description of a point.
“Coord 0” is a string literal containing the description of a coordinate frame.

and:
elementprops_create(“ps1”, 71, 25, 30, 1, 1, 20, @
[13, 21, 4124, 4126, 4125],
In this example fragment, the eighth argument, [13, 21, 4124, 4126, 4125], is an array of five integers.
If you are in doubt about the interpretation of a literal argument in a journal or session file, the argument
can be passed to the PCL command “dump”, which will list what kind of argument has been passed in
the history window.
For example:

dump “[0 0 0]” will report STRING[7] = “[0 0 0]”


dump [0 0 0] will report INTEGER(3) = [0, 0, 0]
dump <0 0 0> will report “Missing operand to expression” indicating that this is an
invalid argument.

The “dump” command can be a powerful tool to help better understand the contents of a journal or
session file.
16 PCL Reference Manual
Session Files to PCL Files

Session Files to PCL Files


Patran implements the PCL language as a tool used to implement the user interface and much of the
functionality presented to the user. As individual tasks are performed by the user the PCL commands
used to implement those tasks are listed to a session file with a name such as patran.ses.xx. These session
files and the commands listed in them can be used to create custom functions in pcl files to provide new
operations. Custom functionality of this type can be used to automate repeated tasks or used to create
Tutorial applications.
A custom function can be created by copying a series of commands form a session file into a file with a
.pcl extension. Place the keyword FUNCTION at the front of the file and the keyword END FUNCTION
at the end of the file. Choose the dependant variables that define the inputs and outputs to the function.
The original session file will contain comments that can be discarded as needed. Patran will write many
arguments as literal values. Path and file arguments passed will need to modified so that they are are
relative rather than absolute.
The PCL file can then be compiled and loaded into patran were it can be used like any other PCL
function.
The following session file can be used as an example of how this can be done. This session file was
created using the Clevis Pin Contact Tutorial application by following the "Create the model Geometry
step by step" directions.
$# Session file patran.ses.01 started recording at 02-Mar-
09 09:55:10
$# FLEXlm initialization complete. Acquiring license(s)...
$# Loading dynamic library
$# Tutorial version: 2008; Mon Mar 31 13:57:52 PDT 2008;
Tutorial shared
$# object version: Wed Mar 26 13:52:38 PDT 2008; Tutorial
patran version:
$# 161062; Tutorial internal version: 31
AAUI.mainpanel_lock_steps()
tutorial.setup_app()
AAUI.mainpanel_lock_steps()
tutorial.setup_app()
AAI.html_calls("FUNC:clevis_pin.setup_app")
clevis_pin.setup_app()
pcc.database_display("pcc.xio","db_open")
AAUI.mainpanel_lock_steps()
uil_file_new.go( "g:/patran/p3_home/template.db",
"d:\tempb\clevis.db" )
$# Copying g:/patran/p3_home/template.db to
$# d:\tempb\clevis.db
$# Template copy complete.
$# Creating journal file d:\tempb\clevis.db.jou at 02-Mar-09
09:55:27
AAI.html_calls("FUNC:pcc.new_db_hide;
FUNC:pcc_geo" // @
"m.set_analysis_preference;
FUNC:pcc.goto_clevis;S" // @
"TR:pcc_construct_model.xml;STR:pcc.xml;STR:db_not_open")
pcc.new_db_hide()
pcc_geom.set_analysis_preference()
Chapter 1: Introduction 17
Session Files to PCL Files

pcc.goto_clevis("pcc_construct_model.xml","pcc.xml","db_not_open")
pcc.reset_clevis("pcc_construct_model.xml")

AAI.html_calls("FUNC:pcc.goto_geometry;STR:pcc_geometry.xio")
pcc.goto_geometry("pcc_geometry.xio")
AASTATE.store_objectives()
pcc_geom.settings_display(FALSE)
$#~ STRING s_cmnd_switch: uil_pref_picking.rectpoly_option(
"1","ON" )
AASTATE.store_objectives()
pcc_geom.settings_hide()
pcc_geom.pref_display(FALSE)
$#~ STRING s_cmnd_switch: uil_pref_geometry.switch_value(
"25","ON" )
pref_geometry_set_v4( FALSE, TRUE, FALSE, TRUE, 39.370079,
FALSE, TRUE )
AASTATE.store_objectives()
pcc_geom.pref_hide()
pcc_geom.pnt_inner_display(FALSE)
STRING asm_create_grid_xyz_created_ids[VIRTUAL]
asm_const_grid_xyz( "1", "[ 1 0 0]", "Coord 0", @
asm_create_grid_xyz_created_ids )
$# 1 Point created: Point 1
AASTATE.store_objectives()
pcc_geom.geometry_hide()
pcc_geom.rad_inner_display("45.0","0.0",FALSE)
STRING sgm_sweep_curve_rev_created_ids[VIRTUAL]
sgm_const_curve_revolve( "1", "Coord 0.3", 45., 0., "Coord
0", "Point 1", @
sgm_sweep_curve_rev_created_ids )
$# 1 Curve Created: Curve 1
sgm_const_curve_revolve( "2", "Coord 0.3", 45., 45., "Coord
0", "Point 1", @
sgm_sweep_curve_rev_created_ids )
$# 1 Curve Created: Curve 2
sgm_const_curve_revolve( "3", "Coord 0.3", 45., 90., "Coord
0", "Point 1", @
sgm_sweep_curve_rev_created_ids )
$# 1 Curve Created: Curve 3
sgm_const_curve_revolve( "4", "Coord 0.3", 45., 135., "Coord
0", "Point 1", @
sgm_sweep_curve_rev_created_ids )
$# 1 Curve Created: Curve 4
AASTATE.store_objectives()
pcc_geom.geometry_hide()
pcc_geom.coord_display(FALSE)
STRING asm_create_cord_3po_created_ids[VIRTUAL]
asm_const_coord_3point( "1", "Coord 0", 2, "[0 0 0]", "[0 0
1]", "[1 0 0]", @
asm_create_cord_3po_created_ids )
$# 1 Coord created: Coord 1
AASTATE.store_objectives()
pcc_geom.geometry_hide()
pcc_geom.rad_outer_display(FALSE)
$#~ STRING s_cmnd_switch:
sgm_transform_curve_translate.trans_option( "curv","ON" )
$# Warning reported from application Geometry
$# Curvilinear transformation requires parametric cubic
geometry,
18 PCL Reference Manual
Session Files to PCL Files

$# therefore, an approximation of general curve(s) into


parametric cubic(s)
$# will occur. The results may not meet your acceptance
criteria for accuracy.
STRING sgm_transform_curve_created_ids[VIRTUAL]
asm_transform_line_translate_1( "5", "<1 0 0>", "Coord 1",
1, TRUE, FALSE, @
"Curve 1 2", sgm_transform_curve_created_ids )
$# The maximum error of 0.000516881 occurred during
approximation of general
$# curve(s) into Parametric Cubic(s).
$# 2 Lines created: Line 5,6
AASTATE.store_objectives()
pcc_geom.geometry_hide()
pcc_geom.bdy_surf_display(FALSE)
STRING asm_create_patch_xy_created_ids[VIRTUAL]
asm_const_patch_xyz( "1", "<-4,2,0>", "[-2,0,0]", "Coord 0",
@
asm_create_patch_xy_created_ids )
$# 1 Patch created: Patch 1
AASTATE.store_objectives()
pcc_geom.geometry_hide()
pcc_geom.bdy_crv_srf_display("Curve~1~2","Curve~5~6",FALSE)
STRING sgm_surface_2curve_created_ids[VIRTUAL]
sgm_const_surface_2curve( "2", "Curve 1 2", "Curve 5 6", @
sgm_surface_2curve_created_ids )
$# 2 Surfaces Created: Surfaces 2,3
AASTATE.store_objectives()
pcc_geom.geometry_hide()
pcc_geom.bdy_crv_srf_display("Curve~4","Surface~1.1",FALSE)
STRING sgm_surface_2curve_created_ids[VIRTUAL]
sgm_const_surface_2curve( "4", "Curve 4", "Surface 1.1", @
sgm_surface_2curve_created_ids )
$# 1 Surface Created: Surface 4
AASTATE.store_objectives()
pcc_geom.geometry_hide()

pcc_geom.bdy_crv_srf_display("Curve~3","Construct~2PointCurve(Evaluate~
Geo" // @
"metry(Point~8))(Evaluate~Geometry(Point~10))",FALSE)
STRING sgm_surface_2curve_created_ids[VIRTUAL]
sgm_const_surface_2curve( "5", "Curve 3", @
"Construct 2PointCurve(Evaluate Geometry(Point 8))(Evaluate
Geometry(Point" // @
" 10))", sgm_surface_2curve_created_ids )
$# 1 Surface Created: Surface 5
AASTATE.store_objectives()
pcc_geom.geometry_hide()
pcc_geom.solid_display(FALSE)
STRING sgm_sweep_solid_nor_created_ids[VIRTUAL]
sgm_const_solid_normal( "1", "0.25", "", "", "", FALSE,
"Surface 1:5", @
sgm_sweep_solid_nor_created_ids )
$# 5 Solids Created: Solids 1:5
AASTATE.store_objectives()
pcc_geom.geometry_hide()
pcc_geom.mirror_bot_display(FALSE)
STRING sgm_transform_solid_created_ids[VIRTUAL]
ge_transform_mirror( "6", "solid", "Coord 0.2", 0., TRUE,
FALSE, "Solid 1:5", @
Chapter 1: Introduction 19
Session Files to PCL Files

sgm_transform_solid_created_ids )
$# 5 Solids Created: Solids 6:10
AASTATE.store_objectives()
pcc_geom.geometry_hide()
pcc_geom.remain_solid_display(FALSE)
$#~ STRING s_sel_cmnd:
sgm_transform_trans_cart.eval_magnitude("VALUE_CHANGED")
STRING sgm_transform_solid_created_ids[VIRTUAL]
ge_transform_translate_v1( "11", "solid", "<0,0,-1>", 0.25,
FALSE, "Coord 0", @
2, FALSE, "Solid 1 6", sgm_transform_solid_created_ids )
$# 4 Solids Created: Solids 11:14
AASTATE.store_objectives()
pcc_geom.geometry_hide()
pcc_geom.remain_clevis_display(FALSE)
$#~ STRING s_sel_cmnd:
sgm_transform_trans_cart.eval_magnitude("VALUE_CHANGED")
STRING sgm_transform_solid_created_ids[VIRTUAL]
ge_transform_translate_v1( "15", "solid", @
"Construct 2PointVector(Evaluate Geometry(Point 10))(Evaluate
Geometry(Poi" // @
"nt 40))", 0.5, FALSE, "Coord 0", 1, FALSE, "Solid 2:5 7:10",
@
sgm_transform_solid_created_ids )
$# 8 Solids Created: Solids 15:22
uil_file_close.goquit( )
$# Journal file stopped recording at 02-Mar-09 09:58:21
$# Session file patran.ses.01 stopped recording at 02-Mar-09
09:58:21
Edit this session file by removing all unneeded functions such as all "AASTATE.XXX", "AAUI.xxx",
"AAI.xxx" and "pcc_xxx.xxx" functions. Copy the remainder into a file with a .PCL extension. Add the
"FUNCTION" and "END FUNCTION" keywords around the code. Decide what you want for inputs and
outputs you need for the function and edit the code into what you need as in the following example. Much
of the editing will replace hard coded geometry id values with the id values returned by function calls
used to make the preceding geometry.
For this example the ability to define the location of the clevis and the diameter of the hole in the clevis
where chosen as inputs.

Note: Note that this function is incomplete. Some of the items that could be added to this function
are:

• Inputs to control the orientation of the clevis.


• Inputs to control the size of the clevis.
• Outputs to list the solids created by this function.
• Error handling.

FUNCTION create_clevis ( r_dia, r_x, r_y, r_z )

REAL r_dia
REAL r_x
REAL r_y
20 PCL Reference Manual
Session Files to PCL Files

REAL r_z

INTEGER i_end
INTEGER i_strt
REAL r_base_x
REAL r_base_y
REAL r_base_z
STRING coord_id_01 [VIRTUAL]
STRING coord_id_02 [VIRTUAL]
STRING created_ids [VIRTUAL]
STRING curve_id_1 [VIRTUAL]
STRING curve_id_2 [VIRTUAL]
STRING curve_id_3 [VIRTUAL]
STRING curve_id_4 [VIRTUAL]
STRING curve_id_56 [VIRTUAL]
STRING deleted_ids [VIRTUAL]
STRING line_ids [VIRTUAL]
STRING point_id [VIRTUAL]
STRING s_temp [VIRTUAL]
STRING s_vect [VIRTUAL]
STRING solid_ids [VIRTUAL]
STRING solid_ids_16 [VIRTUAL]
STRING solid_ids_610 [VIRTUAL]
STRING solid_ids_lst [VIRTUAL]
STRING surface_id_1 [VIRTUAL]
STRING surface_id_15 [VIRTUAL]

s_temp = "[" // str_from_real ( r_x )


s_temp = s_temp // " " // str_from_real ( r_y )
s_temp = s_temp // " " // str_from_real ( r_z ) // "]"

# Create a throw away surface to help in the construction


# of a coordinate system used to locate the clevis.
# The "#" in the first argument tells the function
# to use the next available surface id.
asm_const_patch_xyz ( "#", "<1 1 0>", s_temp, "Coord 0",
surface_id_1 )

# Create a rectangular coordinate system for a starting


point
# This will make it easier to set the origin of our clevis.
asm_const_coord_normal_v2( "#", "Coord 0", surface_id_1, 1,
s_temp, TRUE, coord_id_01 )

asm_delete_surface( surface_id_1, deleted_ids )

s_temp = "[" // str_from_real ( r_dia )


s_temp = s_temp // " 0 0]"

# Create a starting point for an initial curve.


asm_const_grid_xyz( "#", s_temp, coord_id_01, point_id )

# Create the curves for the inner part of the clevis


sgm_const_curve_revolve( "#", coord_id_01 // ".3", 45., 0.,
coord_id_01, point_id, curve_id_1 )

sgm_const_curve_revolve( "#", coord_id_01 // ".3", 45., 45.,


coord_id_01, point_id, curve_id_2 )
Chapter 1: Introduction 21
Session Files to PCL Files

sgm_const_curve_revolve( "#", coord_id_01 // ".3", 45., 90.,


coord_id_01, point_id, curve_id_3 )

sgm_const_curve_revolve( "#", coord_id_01 // ".3", 45., 135.,


coord_id_01, point_id, curve_id_4 )

# Delete the no longer needed initial point.


asm_delete_point( point_id, deleted_ids )

# Construct a cylindrical coordinate system for use as


another construction tool.
asm_const_coord_3point( "#", coord_id_01, 2, "[0 0 0]", "[0
0 1]", "[1 0 0]", coord_id_02 )

r_base_x = 2.0 - r_dia

s_temp = "<" // str_from_real ( r_base_x )


s_temp = s_temp // " 0 0>"

# Construct the outer radius curve for the clevis


asm_transform_line_translate_1( "#", s_temp, coord_id_02, 1,
TRUE, FALSE, curve_id_1 // " " // curve_id_2, line_ids )

asm_delete_coord( coord_id_02, deleted_ids )

i_end = str_length ( line_ids )


i_strt = str_index ( line_ids, " " )
s_temp = str_substr ( line_ids, i_strt, i_end )
i_strt = str_to_integer ( s_temp )
curve_id_56 = "Curve " // str_from_integer ( i_strt ) // " "
i_strt = str_index ( line_ids, "," ) + 1
s_temp = str_substr ( line_ids, i_strt, i_end )
i_strt = str_to_integer ( s_temp )
curve_id_56 = curve_id_56 // str_from_integer ( i_strt )

# Construct a surface that will be used to define the body


of the clevis.
# The vector and location for this surface do no need to be
adjusted
# as they are relative to the constructed coordinate system
# used to locate the clevis.
asm_const_patch_xyz( "#", "<-4 2 0>", "[-2 0 0]",
coord_id_01, created_ids )

i_end = str_length ( created_ids )


i_strt = str_index ( created_ids, " " )
s_temp = str_substr ( created_ids, i_strt, i_end )
i_strt = str_to_integer ( s_temp )
surface_id_1 = "Surface " // str_from_integer ( i_strt )

sgm_const_surface_2curve( "#", curve_id_1 // " " //


curve_id_2, curve_id_56, created_ids )

s_temp = surface_id_1 // ".1"

sgm_const_surface_2curve( "#", curve_id_4, s_temp,


created_ids )

r_base_x = r_x
r_base_y = r_y + 2.0
22 PCL Reference Manual
Session Files to PCL Files

r_base_z = r_z

s_vect = "[" // str_from_real ( r_base_x )


s_vect = s_vect // " " // str_from_real ( r_base_y )
s_vect = s_vect // " " // str_from_real ( r_base_z )
// "]"

r_base_x = r_x + -2.0


r_base_y = r_y + 2.0
r_base_z = r_z

s_temp = "[" // str_from_real ( r_base_x )


s_temp = s_temp // " " // str_from_real ( r_base_y )
s_temp = s_temp // " " // str_from_real ( r_base_z )
// "]"

# Create a line to help construct the last surface.


# This line replaces
# "Construct 2PointCurve(Evaluate Geometry(Point
8))(Evaluate Geometry(Point 10))"
# in the session file.
asm_const_line_2point( "#", s_vect, s_temp, 0, "", 50., 1,
created_ids )

i_end = str_length ( created_ids )


i_strt = str_index ( created_ids, " " )
s_temp = str_substr ( created_ids, i_strt, i_end )
i_strt = str_to_integer ( s_temp )
s_temp = "Curve " // str_from_integer ( i_strt )

sgm_const_surface_2curve( "#", curve_id_3, s_temp,


created_ids )

asm_delete_curve( curve_id_1, deleted_ids )


asm_delete_curve( curve_id_2, deleted_ids )
asm_delete_curve( curve_id_3, deleted_ids )
asm_delete_curve( curve_id_4, deleted_ids )
asm_delete_curve( curve_id_56, deleted_ids )
asm_delete_curve( s_temp, deleted_ids )

i_end = str_length ( created_ids )


i_strt = str_index ( created_ids, " " )
s_temp = str_substr ( created_ids, i_strt, i_end )
i_strt = str_to_integer ( s_temp )
surface_id_15 = surface_id_1 // ":" // str_from_integer (
i_strt )

sgm_const_solid_normal( "#", "0.25", "", "", "", FALSE,


surface_id_15, solid_ids )

asm_delete_surface( surface_id_1, deleted_ids )


asm_delete_surface( surface_id_15, deleted_ids )

ge_transform_mirror( "#", "solid", coord_id_01 // ".2", 0.,


TRUE, FALSE, solid_ids, solid_ids_610 )

i_end = str_length ( solid_ids )


i_strt = str_index ( solid_ids, " " )
s_temp = str_substr ( solid_ids, i_strt, i_end )
i_strt = str_to_integer ( s_temp )
Chapter 1: Introduction 23
Session Files to PCL Files

solid_ids_16 = "Solid " // str_from_integer ( i_strt )

i_end =
str_length ( solid_ids_610 )
i_strt =
str_index ( solid_ids_610, " " )
s_temp = str_substr ( solid_ids_610, i_strt, i_end )
i_strt = str_to_integer ( s_temp )
solid_ids_16 = solid_ids_16 // " " // str_from_integer (
i_strt )

ge_transform_translate_v1( "#", "solid", "<0,0,-1>", 0.25,


FALSE, coord_id_01, 2, FALSE, solid_ids_16, created_ids )

i_end = str_length ( solid_ids )


i_strt = str_index ( solid_ids, " " )
s_temp = str_substr ( solid_ids, i_strt, i_end )
i_strt = str_to_integer ( s_temp )
i_strt = i_strt + 1
solid_ids_lst = "Solid " // str_from_integer ( i_strt ) //
":"

i_end = str_length ( solid_ids )


i_strt = str_index ( solid_ids, ":" ) + 1
s_temp = str_substr ( solid_ids, i_strt, i_end )
i_strt = str_to_integer ( s_temp )
solid_ids_lst = solid_ids_lst // str_from_integer ( i_strt
) // " "

i_end =
str_length ( solid_ids_610 )
i_strt =
str_index ( solid_ids_610, " " )
s_temp = str_substr ( solid_ids_610, i_strt, i_end )
i_strt = str_to_integer ( s_temp )
i_strt = i_strt + 1
solid_ids_lst = solid_ids_lst // str_from_integer ( i_strt
) // ":"

i_end =
str_length ( solid_ids_610 )
i_strt =
str_index ( solid_ids_610, ":" ) + 1
s_temp = str_substr ( solid_ids_610, i_strt, i_end )
i_strt = str_to_integer ( s_temp )
solid_ids_lst = solid_ids_lst // str_from_integer ( i_strt
)

ge_transform_translate_v1( "#", "solid", "<0,0,-1>", 0.5,


FALSE, coord_id_01, 1, FALSE, solid_ids_lst, created_ids )

asm_delete_coord( coord_id_01, deleted_ids )

END FUNCTION

Finally this function can be run using a session file as follows:

uil_file_close.go ( )
uil_file_new.go( "", "db_session_to_pcl.db" )
$? YES 36000002

ga_viewport_location_set ( "default_viewport", 0.0, 0.0, 1 )


ga_viewport_size_set ( "default_viewport", 4.5, 4.5, 1 )

!!compile demo_func.pcl into demo_lib.plb


!!library demo_lib.plb
24 PCL Reference Manual
Session Files to PCL Files

create_clevis ( 1.0, 1.0, 5.0, 1.0 )

create_clevis ( 0.5, 0.0, 0.0, 0.0 )

gu_fit_view ( )

End of File.
Chapter 1: Introduction 25
Function Description Organization

Function Description Organization


The function descriptions that follow this chapter all use a common organization scheme for the
information that they contain. The information layout is designed to place the most useful information
about the function towards the front of the description so that it is easy to find. The details are placed
towards the end of the description so that they can be found quickly but are separated out so that they do
not serve as a distraction to the user.
Each description is composed of seven sections: the function name and argument list, the “Description”,
the “Input” section, the “Output” section, the “Error Conditions” section, the “Remarks” section, and the
“Example” section.

The Function Name and Argument List: This heading, which starts the description of the function,
identifies the name of the function and provides a list of
arguments passed to the function. The argument list
identifies the order in which they are passed to the function
and by the names used for the arguments provide some
information about how the arguments are used.
The Description Section: This section provides a short description of what the
function does and is to be used for.
The Input Section: This section lists the values from the argument list at the top
of the function description that are used for passing input
information to the function being called. Each entry in this
section will list the data type for that argument, the name of
the argument, a description of the use of each argument, and
an enumeration of the values or the range of values that can
be used with each argument. The data types allowed in this
section are REAL, INTEGER, LOGICAL, STRING, and
WIDGET. Each argument listing will make use of square
brackets “[]”, parenthesis “()” and the VIRTUAL keyword
to identify the lengths of strings and the sizes of arrays
when it is appropriate to do so. If the enumerated list of
values that can be used with an argument is longer than
about five entries, the list of allowed argument values will
be listed as part of the remarks for the section.
26 PCL Reference Manual
Function Description Organization

The Output Section: This section lists the values from the argument list at the top
of the function description that are used for passing output
information to the calling function. Each entry in this
section will list the data type for that argument, the name of
the argument, a description of the use of each argument, and
an enumeration of the values or the range of values that can
be used with each argument. The data types allowed in this
section are REAL, INTEGER, LOGICAL, STRING, and
WIDGET. Each argument listing will make use of square
brackets “[]”, parenthesis “()” and the VIRTUAL keyword
to identify the lengths of strings and the sizes of arrays
when it is appropriate to do so. If the enumerated list of
values that can be used with an argument is longer than
about five entries, the list of allowed argument values will
be listed as part of the remarks for the section.
This section will also list the <return value> for the
function, if the function has one.
Error Conditions: This section is used to enumerate the list of numbers that
can be returned to report the status of a function through the
<return value> of a function and the messages from the
status message database that can be associated with each
number. Every attempt has been made to make these lists as
complete as possible but it is often impractical or
impossible to do so. This section will contain a statement
marking an error condition list as being incomplete when
possible.
The Remarks Section: This section is used to do several things: provide
enumerated lists of values that can be used with inputs or
are expected to be returned by outputs if they are too long
for the “Input” and “Output” sections, list the messages that
can be displayed in a popup form, and list any other details
or information about the function that may be useful to a
user.
Many times the information in the “Remarks” section of a
function description will seem redundant as it will duplicate
much of the information listed in the “Error Conditions”
section. The information is listed twice because it is being
used to do two separate jobs: present information through a
popup form and it is being used as a return value for
program execution flow control.
The Examples Section: This section of the function description contain a reference
to a .pcl source file listing that makes use of the function
being described.
Chapter 1: Introduction 27
Error Handling

Error Handling
All code can generate errors. In recognition of this, the PCL functions listed in this manual make use of
a straight forward mechanism that passes information about the status of a function back from the
function that has been called to the calling function. This is done through the <return value> that most
functions supply.
The general convention followed is that if something happens that prevents a function from successfully
completing the job that it was designed to do it will return a positive non-zero integer number. If it
completes its job successfully, it will return a value of 0.
This returned integer value can then be put to use. It can be used in an IF statement to control the flow
of the path of execution for your code, it can be used to trigger the a return out of the calling function, or
it can be used to break out of a FOR or WHILE loop. The returned value can be used in whatever manner
is appropriate for the design of the code being written. A good practice to follow is to design your code
so that it marks any problem that prevents your function from completing its job by returning an error
code that is returned by that status condition only. For example: the same returned status value should
not be used to indicate that a file was not found because of an invalid path and that a file was not found
because of an invalid path name. Using a unique status code for the return status of a function provides
information about what caused the error and where the error occurred in a manner that can greatly
simplify debugging your code. A list of all of the messages in the status message database is
provided at the end of this manual as an aid in selecting return codes that are appropriate for specific
status conditions.
Most of the <return values> that are returned by the functions in this manual have messages associated
with them. Status messages are all kept in a status message database that can be accessed through the use
of several functions: msg_get_string(), user_message(), msg_to_form(), and msg_to_text(). The
msg_get_string() is used to return a message from the message database to a string. The user_message()
function takes a message code and displays the corresponding message in the history window. The
msg_to_form() function can be used to get a message from the message database and display it a popup
form; this is the mechanism that is used to create the popup forms that are listed in the “Remarks” section
of the function descriptions. The msg_to_text() function can be used to write messages from the message
database to a file.
All of these functions are provided to create a rich set of tools that can be used by the code designer to
be flexible in presenting error and status information as needed.
28 PCL Reference Manual
Solving Problems

Solving Problems
Just as all code can generate errors, all errors have a specific cause. A common source of errors and
mysterious core dumps with PCL code is the misuse of string lengths and the sizes of arrays. There are
no guarantees that a function will check the length of a string or the size of an array that is passed into
the function. This can lead to a memory overwrite that will cause a core dump. Often the memory
overwrite will not cause the code to fail immediately, it just sets the stage for a crash in an unrelated piece
of code later somewhere else in your program. If the cause of a crash or core dump cannot seem to be
isolated or it seems to move around for no discernible reason, check the lengths of strings and the sizes
of arrays being passed as arguments to functions. Verify that calls to functions that dynamically allocated
or free memory being used correctly and appropriately.
Chapter 2: Basic Functions
PCL Reference Manual

2 Basic Functions


Introduction 22

File Menu 23

Group Menu 128

Viewport Menu 223

Viewing Menu 181

Display Menu 261

Tools Menu 353
22 PCL Reference Manual
Introduction

Introduction
This chapter documents the functions that are used in the implementation of the File, Group, Viewport,
Viewing, Display and Tools items on the menu bar.
This chapter presents function descriptions in six separate sections:

File Menu This section is used to describe some of the functions used to import
and export model geometry files to and from files that can be used by
various types of CAD systems.
Group Menu This section is used to describe functions that are used to create,
delete, modify and transform groups of geometric and finite element
model entities.
Viewport Menu This section is used to describe functions that are used to create,
delete, modify and retrieve the settings of named viewports.
Viewing Menu This section is used to describe functions that are used to create,
delete, modify and retrieve the settings of named views.
Display Menu This section is used to describe functions that are used to control what
and how geometric and finite element model entities are displayed in
a viewport.
Tools Menu This section is used to describe functions that used to create and
manipulate lists of geometric and finite element model entities using
the list processor and the list processor format. It is also used to
describe some of the functions that can be used to create and report
the mass properties associated with a model.
Chapter 2: Basic Functions 23
File Menu

File Menu
This section is used to describe some of the functions used to import and export model geometry files to
and from files that can be used by various types of CAD systems

neutold_import_neutral (file_name, group_name, entity_flags,


minimum_id, maximum_id, offset)

Description:
This function is used to import a neutral file.
Input:
STRING file_name[] This value specifies the name of the neutral file to be imported.
STRING group_name[] This value specifies the name of the group to which the
imported geometry will be added.
LOGICAL entity_flags(35) This value specifies an array of flags identifying the types of
entities to be imported from the neutral file. See the remarks
below for more information.
INTEGER minimum_id(35) This value specifies an array of values used to set the minimum
ID values for the entities in the current database.
INTEGER maximum_id(35) This value specifies an array of values used to set maximum ID
value for the entities in the current database.
INTEGER offset(35) This value specifies user supplied entity label or id offsets.
Output:
INTEGER <Return Value> This function always returns a value of 0.
Error Conditions:
None.

Remarks:

The input value entity_flags controls which entity types are to be exported to the neutral file. The offset
into the array identifies the data type. Setting the value at that offset to TRUE will cause that entity type
to be written to the neutral file. The following table identifies the offset into the array for each entity type
24 PCL Reference Manual
File Menu

Offset Entity type Offset Entity type

1 Nodes 19 View Factor


2 Elements 20 Named Components
3 Materials 21 grid#
4 Element Properties 22 Line
5 Coordinate Frames 23 Patch
6 Distributed Loads 24 Hyperpatch
7 Forces 25 (not used)
8 Displacements 26 (not used)
9 (not used) 27 (not used)
10 Node Temperature 28 (not used)
11 Element Temperature 29 (not used)
12 (not used) 30 (not used)
13 (not used) 31 (not used)
14 MPC 32 GFEG
15 Nodal Heating 33 CFEG
16 Distributed Heating 34 (not used)
17 Convection 35 (not used)
18 (not used)

This function can display an information popup message form with the following messages:

25000070 Neutral file reading completed successfully.


25000080 Loading Neutral file data into Memory.
25000023 %I% Packet%I%%A% read.

This function can display a query yes or no popup message form with the following message:

25000020 Do you want the Neutral File printed to the terminal as it is being read?

This function can display a fatal error popup message if an error value is returned by the function:

13000004 Duplicate entry exists in table


13000007 An unspecified database error occurred
13000090 Analysis code input was not found
Chapter 2: Basic Functions 25
File Menu

See the listing for this function Broken, Obsolete, Modified and New Functions for further information.
Example:

Please see neutold_import_neutral.

neutral_export2 (file_name, title, entity_flags, all_groups,


number_of_groups, group_entity_ids)

Description:

This function will generate a Patran 2.5 format neutral file from a Patran database.
Input:
STRING file_name[] This value specifies the name of the neutral file to
be written.
STRING title[] This value specifies the title to put in the packet 25
title field.
LOGICAL entity_flags(35) This value specifies an array of flags used to identify
the specific entity types to be exported. See the
remarks below for more information.
LOGICAL all_groups This value should be set TRUE if the entire model is
to be exported, FALSE if only selected groups are to
be exported.
INTEGER number_of_groups If exporting selected groups, this value is used to
indicate the number of groups being written to the
neutral file.
INTEGER group_entity_ids(number_of If exporting selected groups, this value is used to
_groups) pass the list of group IDs for the entities being
written to the neutral file.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This function may return a nonzero value if an error occurs.
26 PCL Reference Manual
File Menu

Remarks:

The input value entity_flags controls which entity types are to be exported to the neutral file. The offset
into the array identifies the data type. Setting the value at that offset to TRUE will cause that entity type
to be written to the neutral file. The following table identifies the offset into the array for each entity type

Offset Entity type Offset Entity type


1 Nodes 19 View Factor
2 Elements 20 Named Components
3 Materials 21 Grid
4 Element Properties 22 Line
5 Coordinate Frames 23 Patch
6 Distributed Loads 24 Hyperpatch
7 Forces 25 (not used)
8 Displacements 26 (not used)
9 (not used) 27 (not used)
10 Node Temperature 28 (not used)
11 Element Temperature 29 (not used)
12 (not used) 30 (not used)
13 (not used) 31 (not used)
14 MPC 32 GFEG
15 Nodal Heating 33 CFEG
16 Distributed Heating 34 (not used)
17 Convection 35 (not used)
18 (not used)

If more than 1000 entities are being written to the file of any one type, a percent complete bar is
displayed. Messages get printed to the command window indicating the number of successful
packets read.
This function will display an information popup message form if opening the neutral file and writing the
packet 25 and title information fails:

45000001 Unable to open output file. Aborting Neutral File Export.

This function will display an information popup message form at the completion of the operation:

45000099 Neutral File export completed successfully.


Chapter 2: Basic Functions 27
File Menu

This function will display a warning popup message form if reading the database for coordinate, nodes,
elements, properties, materials, mpcs, loads and boundary conditions fails:

45000002 Error writing Finite Element Model. Will try to complete Neutral File.

This function will display a warning popup message form if reading the named components from the
database and writing them to the neutral file fails:

45000003 Error writing Named Components. Aborting FEM portion of Neutral File.
Will try to complete writing geometry, if any.

Example:

Please see neutral_export2 (p. 10) in the PCL Reference Manual Examples.
28 PCL Reference Manual
File Menu

p3_cad_get_entity_name (p3id, p3type, attribute)

Description:

This function will retrieve a string of a CAD name attribute for a Patran entity. The Patran identifier
and entity type are used to lookup the associated CAD name attribute.
Input:
INTEGER p3id
The Patran id of the entity used to look up the
associated CAD name attribute.
INTEGER p3type
The Patran entity type. Valid entity type values are:

1 for a point,

2 for a curve,

3 for a surface, and

4 for a solid.
Output:
STRING attribute The CAD name attribute.
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
1 Out of memory
10 A corrupt attribute was detected.
255 Invalid string length.
257 Can’t reallocate virtual string array.
259 Not a virtual string.
13000211 Virtual memory has been exhausted.
13000212 There is an error interacting with the PERSISTENT_MEMORY relation in the
database.
13000213 A database lookup failed to locate the target index key.
<non-zero> Attribute not found

p3_cad_get_entity_strings (p3id, p3type, attrib_count, attrib_titles,


attrib_values)
Chapter 2: Basic Functions 29
File Menu

Description:

This function will retrieve all CAD string attributes for a Patran entity. The Patran identifier and entity
type are used to look up the associated CAD string attributes.
Input:
INTEGER p3id
The Patran id of the entity used to look up the
associated CAD name attributes.
INTEGER p3type
The Patran entity type. Valid entity type values are:

1 for a point,

2 for a curve,

3 for a surface, and

4 for a solid.
Output:
INTEGER attrib_count The number of string attributes associated to the
referenced Patran entity.
STRING[] attrib_titles An array of CAD name attribute titles.
STRING[] attrib_values An array of CAD name attribute values.
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
1 Out of memory
10 A corrupt attribute was detected.
255 Invalid string length.
257 Can’t reallocate virtual string array.
259 Not a virtual string.
13000211 Virtual memory has been exhausted.
13000212 There is an error interacting with the PERSISTENT_MEMORY relation in
the database.
13000213 A database lookup failed to locate the target index key.
<non-zero> Attribute not found
30 PCL Reference Manual
File Menu

p3_express_import (option_file, file_name, geometry_tracking,


reset_tolerance, tolerance_prompt,
return_entity_count, entities)

Description:
This function imports geometry information from a file using the express neutral file format.
Input:
STRING option_file[] This value specifies the name of the express
options file which determines entity and group
filters, etc. It is optional and can be input as an
empty string or ““.
STRING file_name[] This value specifies the name of the express file to
import.
LOGICAL geometry_tracking This value should be set to TRUE if a log file of
geometry tracking is to be created.
LOGICAL reset_tolerance This value should be set to TRUE if the user will
allow Patran to reset the tolerances.
LOGICAL tolerance_prompt This value should be set to TRUE if the user would
like to be prompted before tolerances are changed.
LOGICAL return_entity_count
This value should be set to TRUE if Patran is to
return a count of entities created in the entities
array.
Output:
INTEGER entities (64)(2) This value is an array of entity types and the
number of types in the express file.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-9999 This is an internal status condition. There is no corresponding status message in the
message database.
55001011 The file option is not valid or not supported.
Chapter 2: Basic Functions 31
File Menu

Remarks:

This function will import model geometry and finite element information from a file using the express
file format, place them in the Patran database, and display them in the current viewport. It will display a
popup form that will list a summary of the number of entities accessed from the express file.
The PCL function p3_express_import_exit() must be called to properly terminate this import operation.
See the function listing for the p3_express_options_file for more information on the express options file
entered as the input value option_file.
See Importing Express Neutral Files (p. 100) in the Patran Reference Manual for further information.
This function can produce fatal popup message forms.
Example:

Please see p3_express_import (p. 11) in the PCL Reference Manual Examples.

p3_express_import_preview (option_file, file_name, tolerance_check,


return_entity_count, entities, cad_attributes,
cad_tolerance, shortest_curve_length)

Description:
This function previews geometry information from a file using the express neutral file format.
Input:
STRING option_file[] This value specifies the name of the express
options file which determines entity and group
filters, etc. It is optional and can be input as an
empty string or ““.
STRING file_name[] This value specifies the name of the express file to
import.
LOGICAL tolerance_check This value should be set to TRUE if the tolerance
needs to be checked.
LOGICAL return_entity_count This value should be set to TRUE if this function
is to return a count of entities created in the entities
array.
Output:
INTEGER entities (64)(2) This value returns an array of entity types and the
number of types in the express file.
STRING cad_attributes[2](256) This value returns the CAD system and model
name.
REAL cad_tolerance This value returns the calculated CAD tolerance.
32 PCL Reference Manual
File Menu

REAL shortest_curve_length This value returns the shortest curve length for
non-degenerate curves in the model. This value is
calculated only if the input value tolerance_check
is set to TRUE.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-9999 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function will read information about the model geometry and finite element information in a file
using the express file format. It will display a popup form that will list a summary of the number of
entities accessed from the express file.
The PCL function p3_express_import_exit() must be called to properly terminate this import operation.
See the function listing for the p3_express_options_file for more information on the express options file
entered as the input value option_file.
See Importing Express Neutral Files (p. 100) in the Patran Reference Manual for further information.
This function can produce fatal popup message forms.
This function can produce a warning popup message form with the following message:

55001012 %I% Error(s) encountered during generation of the import file in the foreign
sending system. These errors are detailed in the log file%A%.

Example:

Please see p3_express_import_preview (p. 12) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 33
File Menu

p3_express_import_exit (delete_option_file, delete_express_file)

Description:
This function is called to terminate an express neutral file import operation.
Input:
LOGICAL delete_option_file This value, when set to TRUE, will cause the express
options file to be deleted.
LOGICAL delete_express_file This value, when set to TRUE, will cause the express
neutral import file to be deleted.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
55000011 The file option is not valid or not supported.
55000014 The file was not found.
55000016 Unable to close the file.

Remarks:

Call this function after calling p3_express_import() or p3_express_import_preview() to properly


terminate the operation.
This function can produce fatal popup message forms.
Example:

Please see p3_express_import_exit (p. 13) in the PCL Reference Manual Examples.
34 PCL Reference Manual
File Menu

p3_express_options_file (option_file, versioning, file_format, action,


source, transform_exists, transformation,
number_of_groups, group_names,
group_entities, group_layers, group_colors,
all_entities, entities, all_layers, layers,
all_colors, colors, trimmed_curve_type,
trimmed_surface_type, solid_representation)

Description:
This function writes an optional file that is used as an input to the p3_express_import() and
p3_express_import_preview() functions.
Input:
STRING option_file[] This value specifies the name of the express
options file to be created.
LOGICAL versioning This value, when set to TRUE, specifies the
use of a version number to be used with the
express options file being created.
INTEGER file_format This value sets the file format to be used in
writing the file and can have the following
values: 1 for ascii files, 2 for compressed ascii
with no white space characters, and 3 for
binary files.
INTEGER action This value specifies the type of operation that
this options file will be used with. Currently,
only the input file operation is supported.
This argument can have the following values:
1 import file, 2 export file, 3 import
modifications, and 4 export modifications.
INTEGER source This value specifies the source of the
geometry entities. This argument can have
values that are defined in the header file
geometry_coos.i as the following symbols:
MCDONNEL_DOUGLAS or 101254,
DASSAULT_SYSTEMS or 40686,
PARAMETRIC_TECHNOLOGY or 22058,
MATRA or 32465, COMPUTER_VISION
or 22085, PDA_ENGINEERING or 52054.
LOGICAL transform_exists This value, when set to TRUE, indicates that
a transformation matrix is available in the
input value transformation and is to be written
to the options file.
Chapter 2: Basic Functions 35
File Menu

REAL transformation[12] This value expresses the transformation


matrix to be written to the file.

This arguement creates the transformation


matrix for translators that provide a model
units/scale factor:

The scale factor value is added in the 1, 5, 9


locations of the matrix. This is applied to the
geometry on import.

/*
* Build the transformation
matrix based on the scale *
factor
*/
FOR ( i = 1 TO 12 )
tmat(i) = 0.0
END FOR

IF( scale_factor > 0.0 )


THEN
use_tmat = TRUE
tmat(1) = scale_factor
tmat(5) = scale_factor
tmat(9) = scale_factor
END IF
INTEGER number_of_groups This value specifies the number of groups to
be created in the options file.
STRING group_names[number_of_groups]() This value specifies an array of group names
that will whose entities will be read from the
express neutral file.
INTEGER group_entities(number_of_groups)(64) This value specifies the entities to be read in
for each group from the express neutral file.
Initialize all unused entries to 0. If the first
entry is 0, then it is assumed that all entities
are desired.
INTEGER group_layers(number_of_groups)(256) This value specifies the layers to be read in
for each group from the express neutral file.
Initialize all unused entries to -1. If the first
entry is -1, then it is assumed that all layers
are desired. Each entry in this argument can
have a value ranging from 0 to 255 or 1 to 256
depending on the CAD system. A value of
257 indicates that the working or active layer
will be accessed.
36 PCL Reference Manual
File Menu

INTEGER group_colors(number_of_groups)(10) This value specifies the colors to be read in


for each group from the express neutral file.
Initialize all unused entries to 0. If the first
entry is 0, then it is assumed that all colors are
desired. See the remarks below for more
information.
LOGICAL all_entities This value, when set to TRUE, will cause all
entities to be imported.
INTEGER entities(64) This value specifies the ID values for the
entities to import from the express neutral
file. All unused entries must be initialized to
0. This array is not used if the input value
all_entities is set to TRUE.
LOGICAL all_layers Set this value to TRUE to import all layers.
INTEGER layers(256) This value specifies the layers to import from
the express neutral file. All unused entries
must be initialized to -1. This array is not used
if the input value all_layers is set to TRUE.
LOGICAL all_colors Set this value to TRUE to import all colors.
INTEGER colors(10) This value specifies the colors to import from
the express neutral file. All unused entries
must be initialized to 0. This array is not used
if the input value all_colors is set to TRUE.
INTEGER trimmed_curve_type This value specifies the trimmed curves type
to be used with curves from the express
neutral file. This argument can have the
following values: 1 for 2-d or parametric
trimming curves, 2 for 3-d or real space
trimming curves, or 3 for no preference.
INTEGER trimmed_surface_type This value specifies the trimmed surface type
to be used with surfaces from the express
neutral file. This argument can have the
following values: 1 for both general and
simply trimmed surfaces, 2 for only general
trimmed surfaces, or 3 for no preference.
INTEGER solid_representation This value specifies the solid representation
type to be used with surfaces from the express
neutral file. This argument can have the
following values: 1 for boundary
representation solids, 2 for the constituent
surfaces of the boundary representation solid,
or 3 for no preference.
Chapter 2: Basic Functions 37
File Menu

Output:
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
55000001 Unable to allocate memory.
55000006 The handle accessed is not a file handle.
55000011 Error(s) occurred which may be resolved by using a more refined tolerance.
55000014 The file was not found.
55000016 Unable to close the file.
55000022 Not a valid entity. Either the name is not correct or it is not supported.

Remarks:

Each entry in the input value group_colors array input can have the following values:

0 color not used. 6 blue


1 all colors 7 green
2 black 8 yellow
3 white 9 magenta
4 red 10 cyan
5 orange

This function can produce fatal popup message forms.


The values allowed for the input value source are defined in the geometry_coos.i include file. Use the
symbols that define these values instead of the values themselves to allow for any changes that may take
place with these values in future releases of Patran.

Example:

Please see p3_express_options_file (p. 14) in the PCL Reference Manual Examples.
38 PCL Reference Manual
File Menu

p3_ps_open_ug (ug_file_name, save_switch, sew_switch,


filter, number_of_components)

Description:
This function passes information from a Unigraphics parts file to the Unigraphics server through the
use of a transmit file.
Input:
STRING ug_file_name[] This value specifies the name of the Unigraphics
part file.
LOGICAL save_switch This value, when set to TRUE, will cause a copy of
the file used to transmit information to the
Unigraphics server to be saved. When this value is
set to FALSE, the transmit file will not be saved.
LOGICAL sew_switch This value, when set to TRUE, will allow sewing
to take place. When this value is set to FALSE,
sewing will not take place.
INTEGER filter[] This value is used to specify which information
from each entity that will be passed to the
Unigraphics server. Offset 0 of this array is used to
specify the number of entities. The array should be
declared to have the (number of entities + 1)
number of offsets. When a value in an offset is set
to 0 the wire, sheet, and solid bodies information
will be used. Specific entity type information can
be used by setting the array to the values listed
below.
Output:
INTEGER number_of_components This value returns the number of components in
the Unigraphics parts file.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
None.

Remarks:

The types of entities used from the parts file can be specified by setting offsets in the input value filter to
the following values:
Chapter 2: Basic Functions 39
File Menu

Description Value Comments


sgmpoint 10
sgmplane 20
sgmvector 30
PieceWise_Cubic_Polynomial_Curve 101
IGES_Nurb_Curve 102
IGES_Cubic_Spline 103
IGES_Arc 104
IGES_Composite_Curve 105
IGES_Line 106
IGES_Conic 107
IGES_PieceWise_Linear 108
Rational_Bezier 109
Curve_On_Surface 110
PDA_line 111
MDC_Curve 112
IGES_Offset_Curve 113
CATIA_Curve 114
COMPUTER_VISION_Curve 115
PieceWise_Rational_Polynomial_Curve 116
N_Dimensional_Cubic_Spline 117
MDC_V9Curve 118
Curve_Id_Reference 119
Plane_Project_Curve 120
IGES_Nurb_Surface 1001
IGES_Trimmed_Surface 1002
IGES_BiCubic_Patch_Network 1003
IGES_Surface_Of_Revolution 1004
IGES_Ruled_Surface 1005
IGES_Tabulated_Cylinder 1006
Rational_Bezier_Network 1007
Ordinary_Trimmed_Surface 1008
PDA_patch 1009
MDC_Surface 1010
40 PCL Reference Manual
File Menu

Bilinear_Coons_Surface 1011
IGES_Offset_Surface 1012
PTC_plane 1013
PTC_cylinder 1014
PTC_cone 1015
PTC_torus 1016
PTC_fillet_surface 1017
PTC_generalized_Coons_surface 1018
PTC_cylindrical_spline_surface 1019
CATIA_Surface 1020
COMPUTER_VISION_Surface 1021
PieceWise_Rational_Polynomial_Surface 1022
Fence_Surface 1023
Surface_on_Solid 1024
Curve_Interpolating_Surface 1025
Extruded_Surface 1026
Glide_Surface 1027
Sweep_Normal_Surface 1028
MDC_V9Surface 1029
Composite_Trim_Surface 1030
Surface_Id_Reference 1031
PTC_sphere 1032
MDC_Sculptured_Surface 1033
Ordinary_Composite_Trim_Surface 1034
MDC_Parent_Surface 1035
TESSELLATED_SURFACE 1036
PDA_hpat 2001
Ordinary_Body 2002 General Brep Body with no
parameterization.
Tri_Linear_Solid 2003
Surface_Interpolating_Solid 2004
Solid_Of_Revolution 2005
Solid_6face 2006
Extruded_Solid 2007
Chapter 2: Basic Functions 41
File Menu

Glide_Solid 2008
Sweep_Normal_Solid 2009
Extruded_Body 2010 2 1/2 D Brep Body with no
parameterization.
Ordinary_Volume 2011 Pseudo-brep, has no
parameterization and ambiguous
topology.
Solid_Id_Reference 2012
TricubicNet 2013 Hyperpatch network.
SEW_SHEETS_BY_LAYER 52937

Example:

None
42 PCL Reference Manual
File Menu

p3_ps_open_ug_v2 (ug_file_name, import_option_flags,


entity_filter, preview_filter,
number_of_components)

Description:
This function passes information from a Unigraphics parts file to the Unigraphics server through the
use of a transmit file.
Input:
STRING ug_file_name[] This value specifies the name of the Unigraphics
part file.
LOGICAL import_option_flags[] This value is used to specify which import options
are ON. Offset 0 of this array is used to specify the
number of options that are on. If using the default
values, the number will be 0. The array should be
declared to have the (number of options + 1)
number of offsets. The possible offset values are
as follows:

=1; Unigraphics Sew

=2; Save Transmit File

=3; Import Attributes

=4; Preview Attributes

=5; Preview Assembly


INTEGER entity_filter[] This value is used to specify which information
from each entity that will be passed to the
Unigraphics server. Offset 0 of this array is used
to specify the number of entities. The array should
be declared to have the (number of entities + 1 +
number of layers + 2) number of offsets. When a
value in an offset is set to 0 the wire, sheet, and
solid bodies information will be used. The
possible offset values are described below in
Remarks.
Chapter 2: Basic Functions 43
File Menu

STRING preview_filter[] This value is used to specify which preview filter


options are used for Attributes and Assembly
Components. The array should be declared to have
the (6+number of attributes + 2 + number of
components ) number of offsets. The possible
offset values are as follows:

=1; “Attributes”

=2; “2”

=3; Name Attribute filter string ( * is default)

=4; Object Attribute filter string ( * is default)

=5; “I” or “E” ( I = import; E = Exclude)

=6; number of attributes ( 0 = all attributes )

=6n; the n attribute names

=6n+1; “Components”

=6n+2; number of components ( 0 = all


components)

=6n+3; the m components names


Output:
INTEGER number_of_components This value returns the number of components in
the Unigraphics parts file.
INTEGER <Return Value> This function returns a value of 1 when a
Unigraphics piece part has been successfully
imported and a value of 2 for a Unigraphics
assembly. Any other non zero value indicates an
error.

Error Conditions:

21010310 Cannot connect to P3-UG Server on UNIX.


21010311 Cannot connect to P3-UG Server on NT.
21010301 Cannot extract Parasolid Transmit file from the Unigraphics Part.
21010302 Import failed because can’t find part.
20045 No Unigraphics Geometry was imported.
20047 Unigraphics Sewing was unable to continue.
44 PCL Reference Manual
File Menu

Remarks:

The types of entities used from the parts file can be specified by setting offsets in the input value
entity_filter to the following values:

Description Value Comments


MDC_Curve 112
MDC_Surface 1010
Ordinary_Body 2002
UG_Feature -123997
IMPORT_BY_LAYER 52937
layer numbers 0-256

Example:

None.

p3_ps_preload_part (ug_file_name)

Description:
This function calls the P3-UG Server to load the Unigraphics Part into UG/OPEN. .
Input:
STRING ug_file_name[512] This value specifies the Unigraphics part file name. This value
must include the full path.
Output:
INTEGER <Return Value> This function returns a value of 1 if the Unigraphics Part is a piece
part and a value of 2 when the Unigraphics Part is an assembly
model.

Error Conditions:

21010310 Cannot connect to P3-UG Server on UNIX.


21010311 Cannot connect to P3-UG Server on NT.
21010301 Cannot extract Parasolid Transmit file from the Unigraphics Part.
21010302 Import failed because can’t find part.
20045 No Unigraphics Geometry was imported.
20047 Unigraphics Sewing was unable to continue.
Chapter 2: Basic Functions 45
File Menu

Example:

None

p3_ug_get_attr_list (ug_file_name, name_filter, object_filter,


attr_count, attributes)

Description:
This function will list the name and object attributes in a Unigraphics part based on the name filter and
object filter specified.
Input:
STRING ug_file_name[512] This value specifies the Unigraphics part file name.
This value must include the full path.
STRING name_filter[] The string specifying the filter to use to list the
Unigraphics name attributes in a part.
STRING object_filter[] The string specifying the filter to use to list the
Unigraphics object attributes in a part.
Output:
INTEGER attr_count The number of name and object attributes in the
specified Unigraphics part.
STRING attributes[][] The names of the name and object attributes in the
specified Unigraphics part.
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:

Example:

None

p3_ug_xmt_import (xmt_file_name, part_file_name,


express_file_name, import_switch, sew_edges,
ug_count, patran_count, tolerance)

Description:
This function imports parasolid transmit file models.
Input:
STRING xmt_file_name[512] This value specifies the name of the transmit file.
46 PCL Reference Manual
File Menu

STRING part_file_name[512] his value specifies the Unigraphics part file name.
This value must include the full path and may be set
to nothing or ““.
STRING express_file_name[] This value specifies the express options file name.
This value may be set to nothing or ““.
LOGICAL import_switch This value specifies, when set to TRUE, that the
transmit file should be imported. When this value is
set to FALSE the transmit file will be previewed.
INTEGER sew_edges This value specifies sewing, verification, and
cleanup options. The option values can be anded
together to specify more than one option. The
following option values are allowed: 2 to sew Patran
edges, 4 to verify edges, 8 to remove degenerate
faces, 16 to comvert trimmed to untrimmed
surfaces, 32 to equivelance edge vertices.
Output:
INTEGER ug_count[5] This value returns counts for the following items:
offset 0, minimal or vertex bodies; offset 1, wire
bodies; offset 2, sheet bodies; offset 3, b-rep bodies;
offset 4, general bodies.
INTEGER patran_count[4] This value returns the number of: offset 0, points;
offset 1, curves; offset 2, surfaces; offset 3, solids;
created by the import process.
REAL tolerance[2] This value returns the suggested model tolerance for
modeling and meshing operations in offset 0 and the
graphics tolerance in offset 1.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in the
message database.
21010002 Unigraphics reports error opening file%A%. Check part file, Path name, Version
number and check run-time environment variables and/or support files.
21010007 A Unigraphics memory allocation error occurred. Unable to allocate memory.
21010009 An error occurred while closing the model. Filename =%A%.
21010035
Unigraphics database%A% already referenced. Open a new Patran database to
access another part.
Chapter 2: Basic Functions 47
File Menu

Example:

None

p3_ug_xmt_import_v1 (xmt_file_name, part_file_name,


express_file_name, import_switch, sew_edges,
ug_count, patran_count, n_layers, layer_ids,
tolerance)

Description:
This function imports parasolid transmit file models.
Input:
STRING xmt_file_name[512] This value specifies the name of the transmit file.
STRING part_file_name[512] his value specifies the Unigraphics part file name.
This value must include the full path and may be set
to nothing or ““.
STRING express_file_name[] This value specifies the express options file name.
This value may be set to nothing or ““.
LOGICAL import_switch This value specifies, when set to TRUE, that the
transmit file should be imported. When this value is
set to FALSE the transmit file will be previewed.
INTEGER sew_edges This value specifies sewing, verification, and
cleanup options. The option values can be anded
together to specify more than one option. The
following option values are allowed: 2 to sew Patran
edges, 4 to verify edges, 8 to remove degenerate
faces, 16 to comvert trimmed to untrimmed
surfaces, 32 to equivelance edge vertices.
Output:
INTEGER ug_count[5] This value returns counts for the following items:
offset 0, minimal or vertex bodies; offset 1, wire
bodies; offset 2, sheet bodies; offset 3, b-rep bodies;
offset 4, general bodies.
INTEGER patran_count[4] This value returns the number of: offset 0, points;
offset 1, curves; offset 2, surfaces; offset 3, solids;
created by the import process.
INTEGER n_layers This value returns the number of layers used in
system that generated the parasolid transmit file.
INTEGER layer_ids[5][256] This value returns the layer ids used in the system
that generated the parasolid transmit file.
48 PCL Reference Manual
File Menu

REAL tolerance[2] This value returns the suggested model tolerance for
modeling and meshing operations in offset 0 and the
graphics tolerance in offset 1.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in the
message database.
21010002 Unigraphics reports error opening file%A%. Check part file, Path name, Version
number and check run-time environment variables and/or support files.
21010007 A Unigraphics memory allocation error occurred. Unable to allocate memory.
21010009 An error occurred while closing the model. Filename =%A%.
21010035
Unigraphics database%A% already referenced. Open a new Patran database to
access another part.

Example:

None.
Chapter 2: Basic Functions 49
File Menu

p3_ug_xmt_preview (xmt_file_name, ug_count, n_layers, layer_ids)

Description:
This function previews the contents of parasolid transmit file models.
Input:
STRING xmt_file_name[512] This value specifies the name of the transmit file.
Output:
INTEGER ug_count[5] This value returns counts for the following items:
offset 0, minimal or vertex bodies; offset 1, wire
bodies; offset 2, sheet bodies; offset 3, b-rep
bodies; offset 4, general bodies.
INTEGER n_layers This value returns the number of layers used in
system that generated the parasolid transmit file.
INTEGER layer_ids This value returns the layer idsused in system that
generated the parasolid transmit file
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:

Example:

None.
50 PCL Reference Manual
File Menu

p3_ug_get_part_occ_list (ug_file_name, occ_count, occurrences)

Description:
This function will list the names of the Assembly occurrences in a Unigraphics part.
Input:
STRING ug_file_name[512] This value specifies the Unigraphics part file name.
This value must include the full path.
Output:
INTEGER occ_count The number of Assembly occurrences in the
specified Unigraphics part.
STRING occurrences[][] The names of the Assembly occurrences in the
specified Unigraphics part.
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:

Example:

None

pfk_get_features (ug_file_name, feature_names, suppress_flag)

Description:
This function calls the P3-UG Server to get the Unigraphics features.
Input:
STRING ug_file_name[512] This value specifies the Unigraphics part file
name. This value must include the full path.
Output:
STRING feature_names[256] (VIRTUAL) The names of features
INTEGER suppress_flag (VIRTUAL) The state of the features, whether they are
suppressed or unsuppressed.
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
Chapter 2: Basic Functions 51
File Menu

Example:

None

pfk_get_feat_with_params (ug_file_name, feature_names, suppress_flag)

Description:
This function calls the P3-UG Server to get the Unigraphics features that have parameters.
Input:
STRING ug_file_name[512] This value specifies the Unigraphics part file
name. This value must include the full path.
Output:
STRING feature_names[256] (VIRTUAL) The names of features that have parameters
INTEGER suppress_flag (VIRTUAL) The state of the features, whether they are
suppressed or unsuppressed.
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:

Example:

None.

pfk_get_num_feat (ug_file_name, num_features)

Description:
This function calls the P3-UG Server to get the number of Unigraphics features in a part.
Input:
STRING ug_file_name[512] This value specifies the Unigraphics part file
name. This value must include the full path.
Output:
INTEGER num_features The number of features in a part.
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
None.
52 PCL Reference Manual
File Menu

Example:

None.

pfk_get_num_feat_with_params (ug_file_name, num_features)

Description:
This function calls the P3-UG Server to get the number of Unigraphics features that have parameters.
Input:
STRING ug_file_name[512] This value specifies the Unigraphics part file name.
This value must include the full path.
Output:
INTEGER num_features The number of features that have parameters
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
None.

Example:

None

pfk_get_versioned_file_name (ug_file_name)

Description:
This function calls the P3-UG Server to get the name of the Unigraphics Part that is a copy of the
original part imported into Patran.
Input:
STRING ug_file_name[512] This value specifies the Unigraphics part file name.
This value must include the full path.
Output:
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:

Example:

None.
Chapter 2: Basic Functions 53
File Menu

pfk_highlight_feat_name (num_features, feature_names)

Description:

This function highlights the features in the Patran viewport.


Input:
INTEGER num_features The number of features to highlight.
STRING feature_names[] The names of the features to highlight.
Output:
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:

Example:

None

pfk_create_ug_import (ug_file_name, import_options_flags,


entity_filter, preview_filter, sew_option,
option_file, versioning, file_format, action,
source, transform_exists, transformation,
number_of_groups, group_names,
group_entities, group_layers, group_colors,
all_entities, entities, all_layers, layers,
all_colors, colors, trimmed_curve_type,
trimmed_surface_type,
solid_representation)

Description:
This function creates a Unigraphics Import Object. It is called in conjunction with
p3_ps_open_ug_v2 and p3_ug_xmt_import_v1.
Input:
STRING ug_file_name[] This value specifies the name of the
Unigraphics
part file.
54 PCL Reference Manual
File Menu

LOGICAL import_option_flags[] This value is used to specify which


import options are ON. Offset 0 of this
array is used to specify the number of
options that are on. If using the default
values, the number will be 0. The array
should be declared to have the (number
of options + 1) number of offsets. The
possible offset values are as follows:

=1; Unigraphics Sew

=2; Save Transmit File

=3; Import Attributes

=4; Preview Attributes

=5; Preview Assembly


INTEGER entity_filter[] This value is used to specify which
information from each entity that will be
passed to the Unigraphics server. Offset
0 of this array is used to specify the
number of entities. The array should be
declared to have the (number of entities
+ 1 + number of layers + 2) number of
offsets. When a value in an offset is set
to 0 the wire, sheet, and solid bodies
information will be used. The possible
offset values are described below in
Remarks.
Chapter 2: Basic Functions 55
File Menu

STRING preview_filter[] This value is used to specify which


preview filter options are used for
Attributes and Assembly Components.
The array should be declared to have the
(6+number of attributes + 2 + number of
components ) number of offsets. The
possible offset values are as follows:

=1; “Attributes”

=2; “2”

=3; Name Attribute filter string ( * is


default)

=4; Object Attribute filter string ( * is


default)

=5; “I” or “E” ( I = import; E = Exclude)

=6; number of attributes ( 0 = all


attributes )

=6n; the n attribute names

=6n+1; “Components”

=6n+2; number of components ( 0 = all


components)

=6n+3; the m component names


INTEGER sew_option This value specifies sewing,
verification, and cleanup options. The
option values can be anded together to
specify more than one option. The
following option values are allowed: 2
to sew Patran edges, 4 to verify edges, 8
to remove degenerate faces, 16 to
comvert trimmed to untrimmed
surfaces, 32 to equivelance edge
vertices.
STRING option_file[] This value specifies the name of the
express options file to be created.
56 PCL Reference Manual
File Menu

LOGICAL versioning This value, when set to TRUE, specifies


the use of a version number to be used
with the express options file being
created.
INTEGER file_format This value sets the file format to be used
in writing the file and can have the
following values: 1 for ascii files, 2 for
compressed ascii with no white space
characters, and 3 for binary files.
INTEGER action This value specifies the type of
operation that this options file will be
used with. Currently, only the input file
operation is supported. This argument
can have the following values: 1 import
file, 2 export file, 3 import
modifications, and 4 export
modifications.
INTEGER source This value specifies the source of the
geometry entities. This argument can
have values that are defined in the
header file geometry_coos.i as the
following symbols:
MCDONNEL_DOUGLAS or 101254,
DASSAULT_SYSTEMS or 40686,
PARAMETRIC_TECHNOLOGY or
22058, MATRA or 32465,
COMPUTER_VISION or 22085,
PDA_ENGINEERING or 52054.
LOGICAL transform_exists This value, when set to TRUE, indicates
that a transformation matrix is available
in the input value transformation and is
to be written to the options file.
Chapter 2: Basic Functions 57
File Menu

REAL transformation[12] This value expresses the transformation


matrix to be written to the file.

This arguement creates the


transformation matrix for translators
that provide a model units/scale factor:

The scale factor value is added in the 1,


5, 9 locations of the matrix. This is
applied to the geometry on import.

/*
* Build the
transformation matrix
based on
the scale * factor
*/
FOR ( i = 1 TO
12 )
tmat(i) =
0.0
END FOR

IF(
scale_factor > 0.0 )
THEN
use_tmat =
TRUE
tmat(1) =
scale_factor
tmat(5) =
scale_factor
tmat(9) =
scale_factor
END IF
INTEGER number_of_groups This value specifies the number of
groups to be created in the options file.
STRING group_names[number_of_groups]() This value specifies an array of group
names that will whose entities will be
read from the express neutral file.
INTEGER group_entities(number_of_groups)(64) This value specifies the entities to be
read in for each group from the express
neutral file. Initialize all unused entries
to 0. If the first entry is 0, then it is
assumed that all entities are desired.
58 PCL Reference Manual
File Menu

INTEGER group_layers(number_of_groups)(256) This value specifies the layers to be read


in for each group from the express
neutral file. Initialize all unused entries
to -1. If the first entry is -1, then it is
assumed that all layers are desired. Each
entry in this argument can have a value
ranging from 0 to 255 or 1 to 256
depending on the CAD system. A value
of 257 indicates that the working or
active layer will be accessed.
INTEGER group_colors(number_of_groups)(10) This value specifies the colors to be read
in for each group from the express
neutral file. Initialize all unused entries
to 0. If the first entry is 0, then it is
assumed that all colors are desired. See
the remarks below for more
information.
LOGICAL all_entities This value, when set to TRUE, will
cause all entities to be imported.
INTEGER entities(64) This value specifies the ID values for the
entities to import from the express
neutral file. All unused entries must be
initialized to 0. This array is not used if
the input value all_entities is set to
TRUE.
LOGICAL all_layers Set this value to TRUE to import all
layers.
INTEGER layers(256) This value specifies the layers to import
from the express neutral file. All unused
entries must be initialized to -1. This
array is not used if the input value
all_layers is set to TRUE.
LOGICAL all_colors Set this value to TRUE to import all
colors.
INTEGER colors(10) This value specifies the colors to import
from the express neutral file. All unused
entries must be initialized to 0. This
array is not used if the input value
all_colors is set to TRUE.
Chapter 2: Basic Functions 59
File Menu

INTEGER trimmed_curve_type This value specifies the trimmed curves


type to be used with curves from the
express neutral file. This argument can
have the following values: 1 for 2-d or
parametric trimming curves, 2 for 3-d or
real space trimming curves, or 3 for no
preference.
INTEGER trimmed_surface_type This value specifies the trimmed surface
type to be used with surfaces from the
express neutral file. This argument can
have the following values: 1 for both
general and simply trimmed surfaces, 2
for only general trimmed surfaces, or 3
for no preference.
INTEGER solid_representation This value specifies the solid
representation type to be used with
solids from the express neutral file. This
argument can have the following values:
1 for boundary representation solids, 2
for the constituent surfaces of the
boundary representation solid, or 3 for
parameterized solids.
Output:
INTEGER number_of_ This value returns the number of
components components in the Unigraphics parts
file.
INTEGER <Return Value> This function returns a value of 0 if
successful.
Error Conditions:
21001326 The named part may not be imported at this time. A Cad Model entity was not able
to be created for the part. This probably means that either a parasolid transmit file
or another Unigraphics part of the same name has been imported into the model.

Example:

None.
60 PCL Reference Manual
File Menu

pfk_is_part_imported (ug_file_name, is_imported)

Description:
This function calls the P3-UG Server to check if the Unigraphics Part if it is already imported into the
Patran database.
Input:
STRING ug_file_name[512] This value specifies the Unigraphics part file name.
This value must include the full path.
LOGICAL is_imported
=TRUE if part is already imported into Patran.

=FALSE if part is not already imported into Patran.


Output:
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
21010035
Unigraphics database%A% already referenced. Open a new Patran database to
access another part.

Example:

None.

pfk_modify_feature_part_name (ug_file_name)

Description:
This function stores the name of the Unigraphics Part that is a copy of the original part imported into
Patran to the Patran database. This is used when the location of the copied part has been changed.
Input:
STRING ug_file_name[512] This value specifies the Unigraphics part file
name. This value must include the full path.
Output:
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
None
Chapter 2: Basic Functions 61
File Menu

Example:

None

pfk_reimport (ug_file_name)

Description:
This function calls the P3-UG Server to re-import the Unigraphics Part if it is already imported into
the Patran database.
Input:
STRING ug_file_name[512] This value specifies the Unigraphics part file
name. This value must include the full path.
Output:
INTEGER <Return Value> This function returns a value of 0 if the
Unigraphics Part successfully re-imports.
Error Conditions:
21010035
Unigraphics database%A% already referenced. Open a new Patran database to
access another part.

Example:

None

pfk_suppress_feat (num_features, feature_names)

Description:
This function calls the P3-UG Server to suppress the Unigraphics features.
Input:
INTEGER num_features The number of features to suppress.
STRING feature_names[] The names of the features to suppress.
Output:
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:

Example:

None.
62 PCL Reference Manual
File Menu

pfk_unsuppress_feat (num_features, feature_names)

Description:
This function calls the P3-UG Server to unsuppress the Unigraphics features.
Input:
INTEGER num_features The number of features to unsuppress.
STRING feature_names[] The names of the features to unsuppress.
Output:
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:

Example:

None

pfk_update ()

Description:
This function calls the P3-UG Server to regenerate the Unigraphics model with the latest feature
editing changes and updates the Patran model accordingly.
Input:

Output:
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
21010303 Regeneration failed because cannot re-open the part.

Example:

None
Chapter 2: Basic Functions 63
File Menu

ps_get_body_integer_attribute (p3id, p3type, identifier, field_no,


n_values, attribute_values)

Description:
This function will retrieve integer values of a Parasolid integer attribute that is attached to a Patran
entity. The attribute definition must be identified by the input “identifier”. The Patran id and entity
type are used to lookup the associated Parasolid attribute definition.
Input:
INTEGER p3id
The Patran id of the entity used to look up the associated
Parasolid attribute definition.
INTEGER p3type
The Patran entity type. Valid entity type values are:

1 for a point,
2 for a curve,
3 for a surface, and
4 for a solid
STRING identifier The string by which the attribute definition is identified.
INTEGER field_no The index to the location of the string field of the
attribute definition.
Output:
INTEGER n_values The number of integer attribute values.
REAL attribute_values[] The Parasolid integer attribute values.
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
1 Out of memory.
4 Parasolid tag not found
7 The specified attribute does not exist.
8 The Parasolid attribute class does not exist.
9 The Parasolid attribute definition was not found.
11 Non-printing characters in name.
255 Invalid string length.
257 Can’t reallocate virtual string array
259 Not a virtual string.
5013 The attribute does not have a field with this number.
5014 The field is not a string field.
64 PCL Reference Manual
File Menu

13000211 Virtual memory has been exhausted.


13000212 There is an error interacting with the PERSISTENT_MEMORY relation in the
database.
13000213 A database lookup failed to locate the target index key.
<non-zero> Attribute not found.

Note: The value for “field_no” will be “0” for most if not all attributes.
Chapter 2: Basic Functions 65
File Menu

ps_get_body_real_attribute (p3id, p3type, identifier, field_no,


n_values, attribute_values)

Description:
This function will retrieve real values of a Parasolid real attribute that is attached to a Patran entity. The
attribute definition must be identified by the input “identifier”. The Patran id and entity type are used
to lookup the associated Parasolid attribute definition.
Input:
INTEGER p3id
The Patran id of the entity used to look up the
associated Parasolid attribute definition.
INTEGER p3type
The Patran entity type. Valid entity type values are:

1 for a point,

2 for a curve,

3 for a surface, and

4 for a solid
STRING identifier The string by which the attribute definition is
identified.
INTEGER field_no The index to the location of the string field of the
attribute definition.
Output:
INTEGER n_values The number of real attribute values.
REAL attribute_values[] The Parasolid real attribute values.
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
1 Out of memory.
4 Parasolid tag not found
7 The specified attribute does not exist.
8 The Parasolid attribute class does not exist.
9 The Parasolid attribute definition was not found.
11 Non-printing characters in name.
255 Invalid string length.
257 Can’t reallocate virtual string array
66 PCL Reference Manual
File Menu

259 Not a virtual string.


5013 The attribute does not have a field with this number.
5014 The field is not a string field.
13000211 Virtual memory has been exhausted.
13000212 There is an error interacting with the PERSISTENT_MEMORY relation in the
database.
13000213 A database lookup failed to locate the target index key.
<non-zero> Attribute not found.

Note: The value for “field_no” will be “0” for most if not all attributes.

ps_get_body_string_attribute (p3id, p3type, identifier, field_no,


attribute)

Description:
This function will retrieve a Parasolid string attribute that is attached to a Patran entity. The attribute
definition must be identified by the input “identifier” and attached to a Parasolid entity at the body
layer. The Patran ID and entity type are used to lookup the associated Parasolid attribute definition.

Note: For identifier “SDL/TYSA_NAME”, the field_no = 0


Input:
INTEGER p3id
The Patran id of the entity used to look up the associated
Parasolid string attribute.
INTEGER p3type
The Patran entity type. Valid entity type values are:

1 for a point,

2 for a curve,

3 for a surface, and

4 for a solid.
STRING identifier The string by which the attribute definition is identified.
INTEGER field_no The index to the location of the string field of the attribute
definition.
Output:
Chapter 2: Basic Functions 67
File Menu

STRING attribute The Parasolid string attribute.


INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
1 Out of memory
4 Parasolid tag not found.
7 The specified attribute does not exist.
9 The Parasolid attribute definition was not found.
11 Non-printing characters in name.

255 Invalid string length.


257 Can’t reallocate virtual string array.
259 Not a virtual string.
13000211 Virtual memory has been exhausted.
13000212 There is an error interacting with the PERSISTENT_MEMORY relation in the
database.
13000213 A database lookup failed to locate the target index key.
<non-zero> Attribute not found

Example:

ps_get_body_string_attribute (p. 17) in the PCL Reference Manual Examples.

ps_get_string_attribute (p3id, p3type, classname, field, attribute)

Description:
This function will retrieve a Parasolid string attribute that is attached to a Patran entity. The attribute
definition must be identified by the input “identifier” and attached to a Parasolid Entity at the topology
layer. The Patran id and entity type are used to lookup the associated Parasolid attribute definition.
Input:
INTEGER p3id
The Patran id of the entity used to look up the associated
Parasolid id.
68 PCL Reference Manual
File Menu

INTEGER p3type
The Patran entity type. Valid entity type values are:

1 for a point,

2 for a curve,

3 for a surface, and

4 for a solid.
STRING classname The Parasolid attribute class.
( See Parasolid Reference Manual for more information. )
INTEGER field The Parasolid attribute field.
( See Parasolid Reference Manual for more information. )
Output:
STRING attribute The Parasolid string attribute.
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
1 Out of memory
4 Parasolid tag not found
7 The specified attribute does not exist
8 The Parasolid attribute class does not exist. -

(See Parasolid reference for more information.


9 The Parasolid attribute definition was not found. -

(See Parasolid reference for more information.


11 Non-printing characters in name - (see parasolid_kernel.h)
255 Invalid string length.
257 Can’t reallocate virtual string array.
259 Not a virtual string.
5013 The attribute does not have a field with this number -

(see parasolid_kernel.h.)
5014 The field is not a string field - (see parasolid_kernel.h.)
13000211 Virtual memory has been exhausted.
13000212 There is an error interacting with the PERSISTENT_MEMORY relation in the
database.
Chapter 2: Basic Functions 69
File Menu

13000213 A database lookup failed to locate the target index key.


13000215 A database lookup failed to locate the target index key

Example:

ps_get_body_string_attribute (p. 17) in the PCL Reference Manual Examples.

select_focus.exit ()

Description:
This function will hide the currently displayed select menu, clear the current filter, and reset the
currently selected data box.
Input:
None.
Output:
None.
Error Conditions:
None.

Remarks:

None
Example:

Please see select_focus.exit (p. 23) in the PCL Reference Manual Examples.
70 PCL Reference Manual
File Menu

sgm_cad_access_v1 (file_name, file_name_length, group_name,


group_name_length, entity_toggle_values,
simply_trimmed, access_as_solids,
enable_tol_prompt, color_toggle_values,
all_layers, active_layer, layer_numbers,
model_type, number_of_groups,
group_entity_ids, group_entity_values,
group_color_values,active_layer_values,
layer_pointers, group_layers, n_ug_layers,
ug_count, patran_count)

Description:
This function is used to import a Unigraphics part file defining the geometry of a model.
Input:
STRING file_name[] This value specifies the name of the path and the file
to be imported.
INTEGER file_name_length This value specifies the number of characters in the
file_name input value.
STRING group_name[80] This value specifies the name of the group to which
the imported geometry will be added.
INTEGER group_name_length This value specifies the number of characters in the
group_name input value.
LOGICAL entity_toggle_values(18) This value specifies an array used to select the
geometry entity types to be imported where the
offset into the array defines the entity type. The
value at that offset will be set TRUE if that entity
type is to be imported. See the remarks below for
more information.
LOGICAL simply_trimmed This value, when set TRUE, causes all surfaces to be
imported as simple trimmed surfaces and when set
FALSE all surfaces are imported as general trimmed
surfaces.
LOGICAL access_as_solids This value, when set to TRUE, allows all imported
geometric entities are to be accessed as solids. Set
this value to FALSE if the imported geometric
entities define constituent surfaces.
LOGICAL enable_tol_prompt This value, when set to TRUE, enables the user to be
prompted for the global model tolerance. When this
value is set to FALSE, the currently defined global
model tolerance is used.
Chapter 2: Basic Functions 71
File Menu

LOGICAL color_toggle_values(14) This value specifies the overall color filter values.
Currently, these values are ignored.
LOGICAL all_layers Set this value to TRUE if all entities identified by the
input value entity_toggle_values from all layers
should be imported.
LOGICAL active_layer This value should be set to TRUE if only the active
or work layer entities will be imported.
INTEGER layer_numbers(256) This value specifies an input value that contains the
layer values entered by the user from which entities
will be imported.
STRING model_type[6] This value specifies the CAD model type and should
always be set to “ug”.
INTEGER number_of_groups This value specifies the number of groups defined.
This input has a maximum value of 256.
INTEGER group_entity_ids(number_of This value specifies an array that specifies the ID
_groups) values used for each entity group.
LOGICAL group_entity_values(number This value specifies a two dimensional array that
_of_groups, 20) contains values set to TRUE if an entity is to be
included and FALSE if an entity is not to be included
in the group being imported. The offset in the first
dimension corresponds to the group id in the same
offset of the group_entity_ids input value. The offset
in the second dimension of the array identifies the
entity type. See the remarks below for more
information.
LOGICAL group_color_values(number This value specifies a two dimensional array that
_of_groups, 14) contains values set to TRUE if a color value is to be
used. The offset in the first dimension corresponds to
the group id in the same offset of the
group_entity_ids input value. The offset in the
second dimension of the array identifies the color
type. Currently this input value is ignored.
LOGICAL active_layer_values(number This value specifies an array where the value at an
_of_groups) offset corresponding to the offset for the group id in
the group_entity_values input value to is set to
TRUE if an entity in the active layer is included in
the group identified by the offset into this array.
72 PCL Reference Manual
File Menu

INTEGER layer_pointers(number_of_gr This value specifies an array where the offset into
oups) the array corresponds with the offset into the
group_entity_ids array that lists the group ids. The
value at that offset in this array identifies the offset
into the group_layers array where the number of
layer values for each group is stored. This array can
store values that range from 1 to (512 -
number_of_groups).
INTEGER group_layers(512) This value specifies an array that contains values
used to identify the number of layers imported for
each group.
Output:
INTEGER ug_count(256, 37) This value specifies a two dimensional array that
uses the first dimension to identify a layer. The
second dimension is used to identify a particular
entity type. The cell value indicates the number of
entities of a particular entity type present on a
particular layer.
INTEGER patran_count(4) This value indicates the number of entities that were
successfully imported. See the remarks below for
more information.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in the
message database.
21010002 Unigraphics reports error opening file%A%. Check part file, Path name, Version
number and check run-time environment variables and/or support files.
21010007 A Unigraphics memory allocation error occurred. Unable to allocate memory.
21010009 An error occurred while closing the model. Filename =%A%.
21010035
Unigraphics database%A% already referenced. Open a new Patran database to
access another part.

Remarks:

The input value entity_toggle_values and the second dimension of the two dimensional input value
group_entity_values are used to select the geometry entities to be imported where the offset into the array
indicates the geometry type to be imported when set TRUE as follows:
Chapter 2: Basic Functions 73
File Menu

Offset Geometry type Offset Geometry type


1 LINE 10 TAB_CYL
2 ARC 11 RUL_SURF
3 CONIC 12 BOUND_PLANE
4 CUBIC_SPLINE 13 SCULP_SURF
5 B_SPLINE 14 FILLET_SURF
6 CYLINDER 15 B_SURF
7 CONE 16 OFFSET_SURF
8 SPHERE 17 FRGN_SURF
9 SURF_REV 19 UG_SOLID

The output value patran_count is used to count several different types of operations:

Offset Count
Type
1 Not used. Should always be set to the initial value assigned to that offset.
2 Counts the number of ordinary trimmed surfaces.
3 Counts the number of: MDC Surfaces, IGES trimmed surfaces, Composite
trimmed surfaces.
4 Number of entities written to the database.

This function can display a fatal popup form if the following errors occur:

21010002 Unigraphics reports error opening file%A%. Check part file, Path name, Version
number and check run-time environment variables and/or support files.
21010007 A Unigraphics memory allocation error occurred. Unable to allocate memory.
21010009 An error occurred while closing the model. Filename =%A%.

This function can display an information popup form with the following messages:

21010032 Opening UNIGRAPHICS database%A%


21010038 Completed UNIGRAPHICS database (%A%) access
21010091 Unigraphics Part File Version Number:%A%
21010070 Scanning for entities in layer number%I%
21010071 Processing entities in work layer
74 PCL Reference Manual
File Menu

This function will display a popup form that will provide a summary of the number of entities accessed
from the Unigraphics part file.
This function can display a popup form used to prompt the user for information about the global model
tolerance.
This function can display a warning popup message with the following text:

21010060 Missing one or more environment variables. The following MUST be set
according to guidelines given in installation notes: OPENWINHOME (SUN4
ONLY), LD_LIBRARY_PATH(SUN4 ONLY), UGII_ROOT_DIR,
UGII_FILE_SYSTEM, UGII_BASE_DIR, UGII_USERFCN,
UGII_UGSOLIDS, UGII_SCHEMA, UGII_TERMMOD, UGII_06_FILE,
UGII_10_FILE, UGII_CAM, UGII_UGCNCPT.

Example:

Please see sgm_cad_access_v1 (p. 24) in the PCL Reference Manual Examples.

sgm_catia_access (file_name, group_name,


group_name_length, entity_toggle_values,
simply_trimmed, color_toggle_values,
all_layers, active_layer, layer_numbers,
model_type, number_of_groups,
group_entity_ids, group_entity_values,
group_color_values, active_layer_values,
layer_pointers, group_layers,
interactive_flag, user_control_flag)

Description:
This function is used to import a CATIA model geometry file but has no control over the model
tolerance.
Input:
STRING file_name[] This value specifies the name of the path and the
file to be imported.
STRING group_name[80] This value specifies the name of the group to
which the imported geometry will be added.
Currently, this value is ignored.
INTEGER group_name_length This value specifies the number of characters in
the group_name input value. Currently, this
value is ignored.
Chapter 2: Basic Functions 75
File Menu

LOGICAL entity_toggle_values(18) This value specifies an array used to select the


geometry entity types to be imported where the
offset into the array defines the entity type. The
value at that offset will be set TRUE if that
entity type is to be imported. Currently, these
values are ignored.
LOGICAL simply_trimmed This value should be set to TRUE to import all
surfaces as simple trimmed surfaces or to
FALSE to import all surfaces as general
trimmed surfaces. Currently, this value is
ignored.
LOGICAL color_toggle_values(14) This value species an array that defines the
overall color filter values. Currently, these
values are ignored.
LOGICAL all_layers This value should be set to TRUE if all entities
identified by the input value
entity_toggle_values from all layers should be
imported. Currently, this value is ignored.
LOGICAL active_layer This value should be set to TRUE if only the
active or work layer entities will be imported.
Currently, this value is ignored.
INTEGER layer_numbers(256) This value specifies an array that contains the
layer values entered by the user for the overall
layer filter. Currently, this value is ignored.
STRING model_type[6] This value specifies the CAD model type and
should always be set to “catia”.
INTEGER number_of_groups This value specifies the number of groups
defined. This input has a maximum value of
256. Currently, this value is ignored.
INTEGER group_entity_ids(number_of_groups) This value specifies the ID values for each user
group. Currently, this value is ignored.
LOGICAL group_entity_values(number_of_groups, This value specifies a two dimensional array
20) that contains values set to TRUE if an entity is
to be included and FALSE if an entity is not to
be included in the group being imported. The
offset in the first dimension corresponds to the
group id in the same offset of the
group_entity_ids input value. The offset in the
second dimension of the array identifies the
entity type. Currently, these values are ignored.
76 PCL Reference Manual
File Menu

LOGICAL group_color_values(number_of_groups, This value specifies a two dimensional array


14) that contains values set to TRUE if a color value
is to be used. The offset in the first dimension of
this array corresponds to the group id in the
same offset of the group_entity_ids input value.
The offset in the second dimension of this array
identifies the color type. Currently, these values
are ignored.
LOGICAL active_layer_values(number_of_groups) This value specifies an array that is used by
setting the value at an offset that corresponds to
the offset for the group id in the
group_entity_values input value to TRUE if an
entity in the active layer is included in the group
identified by the offset into the array. Currently,
these values are ignored.
INTEGER layer_pointers(number_of_groups) This value specifies an array that is used by
setting a value at an offset that corresponds with
the offset into the group_entity_ids input value
that lists the group ids. The value at that offset
in this array identifies the offset into the
group_layers input value where the number of
layer values for each group is stored. This array
can store values that range from 1 to (512 -
number_of_groups). Currently, these values are
ignored.
INTEGER group_layers() This value specifies an array used to identify the
number of layers imported for each group.
Currently these values are ignored, allowing the
array to be any size.
INTEGER interactive_flag This value is used to indicate if the import of the
file is to take place in batch mode. Currently,
this value is ignored.
INTEGER user_control_flag(2) This value specifies an array where offset 1 is a
flag indicating that duplicate geometric entities
should always be created. This value should be
initialized to 0 and should always be set to 0 if
the value at offset 2 is set to 1. Offset 2 is a flag
indicating that duplicate geometric entities
should never be created. This value should be
initialized to 0 and should always be set to 0 if
the value at offset 1 is set to 1.
Output:
Chapter 2: Basic Functions 77
File Menu

INTEGER <Return Value> This function returns a value of 0 when


executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function does not provide any user input controls for the global model tolerance. Importing a CATIA
model geometry file with control over the model tolerance can be done through the use of the function
sgm_catia_access_v1.

This function will provide an information display listing the percentage of each entity type being read
into Patran from the CATIA model geometry file. The geometry read from the CATIA model geometry
file will be entered into the Patran database and be shown on the display.
Example:

Please see sgm_catia_access (p. 26) in the PCL Reference Manual Examples.

sgm_catia_access_v1 (file_name, group_name,


group_name_length,entity_toggle_values,
simply_trimmed, enable_tol_prompt,
color_toggle_values, all_layers, active_layer,
layer_numbers, model_type,
number_of_groups, group_entity_ids,
group_entity_values, group_color_values,
active_layer_values, layer_pointers,
group_layers, interactive_flag,
user_control_flag)

Description:
This function is used to import a CATIA model geometry file while providing the user with control
over the model tolerance.
Input:
STRING file_name[] This value specifies the name of the path and the
file to be imported.
STRING group_name[80] This value specifies the name of the group to which
the imported geometry will be added. Currently,
this value is ignored.
78 PCL Reference Manual
File Menu

INTEGER group_name_length This value specifies the number of characters in the


group_name input value. Currently, this value is
ignored.
LOGICAL entity_toggle_values(18) This value specifies an array used to select the
geometry entity types to be imported where the
offset into the array defines the entity type. The
value at that offset will be set TRUE if that entity
type is to be imported. Currently, these values are
ignored.
LOGICAL simply_trimmed This value should be set to TRUE to import all
surfaces as simple trimmed surfaces or to FALSE
to import all surfaces as general trimmed surfaces.
Currently, this value is ignored.
LOGICAL enable_tol_prompt This value should be set to TRUE to enable
prompting from the user for the global model
tolerance or to FALSE to use the currently defined
global model tolerance.
LOGICAL color_toggle_values(14) This value specifies an array that is used to set the
overall color filter values. Currently, these values
are ignored.
LOGICAL all_layers This value should be set to TRUE if all entities
identified by the input value entity_toggle_values
from all layers should be imported. Currently, this
value is ignored.
LOGICAL active_layer This value should be set to TRUE if only the active
or work layer entities will be imported. Currently,
this value is ignored.
INTEGER layer_numbers(256) This value specifies an array that is used to set the
layer values entered by the user for the overall
layer filter. Currently, this value is ignored.
STRING model_type[6] This value specifies the CAD model type and
should always be set to “catia”.
INTEGER number_of_groups This value specifies the number of groups defined.
This input has a maximum value of 256.
INTEGER group_entity_ids(number_of_gro This value specifies an array that is used to set the
ups) ID values for each user group. Currently, this value
is ignored.
Chapter 2: Basic Functions 79
File Menu

LOGICAL group_entity_values(number_of_ This value specifies a two dimensional array that


groups, 20) contains values set to TRUE if an entity is to be
included and FALSE if an entity is not to be
included in the group being imported. The offset in
the first dimension corresponds to the group id in
the same offset of the group_entity_ids input
value. The offset in the second dimension of the
array identifies the entity type. Currently, these
values are ignored.
LOGICAL group_color_values(number_of_ This value specifies a two dimensional array that
groups, 14) contains values set to TRUE if a color value is to
be used. The offset in the first dimension of this
array corresponds to the group id in the same offset
of the group_entity_ids input value. The offset in
the second dimension of this array identifies the
color type. Currently, these values are ignored.
LOGICAL active_layer_values(number_of_ This value specifies an array that is used by setting
groups) the value at an offset that corresponds to the offset
for the group id in the group_entity_values input
value to TRUE if an entity in the active layer is
included in the group identified by the offset into
the array. Currently, these values are ignored.
INTEGER layer_pointers(number_of_group This value specifies an array that is used by setting
s) a value at an offset that corresponds with the offset
into the group_entity_ids input value that lists the
group ids. The value at that offset in this array
identifies the offset into the group_layers input
value where the number of layer values for each
group is stored. This array can store values that
range from 1 to (512 - number_of_groups).
Currently, these values are ignored.
INTEGER group_layers() This value specifies an array used to identify the
number of layers imported for each group.
Currently these values are ignored, allowing the
array to be any size.
INTEGER interactive_flag This value is used to indicate if the import of the
file is to take place in batch mode. Currently, this
value is ignored.
80 PCL Reference Manual
File Menu

INTEGER user_control_flag(2) This value specifies an array where offset 1 is a


flag indicating that duplicate geometric entities
should always be created. This value should be
initialized to 0 and should always be set to 0 if the
value at offset 2 is set to 1. Offset 2 is a flag
indicating that duplicate geometric entities should
never be created. This value should be initialized to
0 and should always be set to 0 if the value at offset
1 is set to 1.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function, sgm_catia_access_v1(), differs from the sgm_catia_access() function by providing the
input value enable_tol_prompt to allow the user to have some control over the model tolerance used when
the geometry file is imported.
This function will provide an information display listing the percentage of each entity type being read
into Patran from the CATIA model geometry file. The geometry read from the CATIA model geometry
file will be entered into the Patran database and be shown in the current viewport.
Example:

Please see sgm_catia_access_v1 (p. 28) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 81
File Menu

sgm_catia_import ( file_name, simple_trim, solid_type,


enable_tol_prompt )

Description:
This function will import CATXPRES catia geometry objects.
Input:
STRING file_name[] This value specifies the name of the CATXPRES file
to import.
LOGICAL simple_trim This value specifies, when set to TRUE, that the
Catia surfaces will be converted to Patran simple
trimmed surfaces. When set to FALSE, the Catia
surfaces will be converted to Patran general trimmed
surfaces.
INTEGER solid_Type This value specifes, when set to 1 that all solids will
be converted to Patran brep solids. When this value

is set to 2, all solids will be converted to Patran tri-


parametric solids.
LOGICAL enable_tol_prompt This value specifies, when set to TRUE, to prompt
users to decide to use the Patran default or model

tolerance. When set to FALSE, the Patran model


tolerance will be used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
None.

Remarks:

None
Example:

None
82 PCL Reference Manual
File Menu

sgm_euclid_access (file_name, group_name,


group_name_length,entity_toggle_values,
simply_trimmed, color_toggle_values,
all_layers, active_layer, layer_numbers,
model_type, number_of_groups,
group_entity_ids, group_entity_values,
group_color_values, active_layer_values,
layer_pointers, group_layers,
interactive_flag, user_control_flag)

Description:
This function is used to import a EUCLID model geometry file but has no control over the model
tolerance.
Input:
STRING file_name[] This value specifies the name of the path and the file
to be imported.
STRING group_name[80] This value specifies the name of the group to which
the imported geometry will be added. Currently, this
value is ignored.
INTEGER group_name_length This value specifies the number of characters in the
group_name input value. Currently, this value is
ignored.
LOGICAL entity_toggle_values(18) This value specifies an array used to select the
geometry entity types to be imported where the
offset into the array defines the entity type. The
value at that offset will be set TRUE if that entity
type is to be imported. Currently, these values are
ignored.
LOGICAL simply_trimmed This value should be set to TRUE to import all
surfaces as simple trimmed surfaces or to FALSE to
import all surfaces as general trimmed surfaces.
Currently, this value is ignored.
LOGICAL color_toggle_values(14) This value specifies an array that is used to set the
overall color filter values. Currently, these values are
ignored.
LOGICAL all_layers This value should be set to TRUE if all entities
identified by the input value entity_toggle_values
from all layers should be imported. Currently, this
value is ignored.
Chapter 2: Basic Functions 83
File Menu

LOGICAL active_layer This value should be set to TRUE if only the active
or work layer entities will be imported. Currently,
this value is ignored.
INTEGER layer_numbers(256) This value specifies an array that is used to set the
layer values entered by the user for the overall layer
filter. Currently, this value is ignored.
STRING model_type[6] This value specifies the CAD model type and should
always be set to “euclid”.
INTEGER number_of_groups This value specifies the number of groups defined.
This input has a maximum value of 256. Currently,
this value is ignored.
INTEGER group_entity_ids(number_of_gro This value specifies an array that is used to set the ID
ups) values for each user group. Currently, this value is
ignored.
LOGICAL group_entity_values(number_of_ This value specifies a two dimensional array that
groups, 20) contains values set to TRUE if an entity is to be
included and FALSE if an entity is not to be included
in the group being imported. The offset in the first
dimension corresponds to the group id in the same
offset of the group_entity_ids input value. The offset
in the second dimension of the array identifies the
entity type. Currently, these values are ignored.
LOGICAL group_color_values(number_of_ This value specifies a two dimensional array that
groups, 14) contains values set to TRUE if a color value is to be
used. The offset in the first dimension of this array
corresponds to the group id in the same offset of the
group_entity_ids input value. The offset in the
second dimension of this array identifies the color
type. Currently, these values are ignored.
LOGICAL active_layer_values(number_of_ This value specifies an array that is used by setting
groups) the value at an offset that corresponds to the offset
for the group id in the group_entity_values input
value to TRUE if an entity in the active layer is
included in the group identified by the offset into the
array. Currently, these values are ignored.
84 PCL Reference Manual
File Menu

INTEGER layer_pointers(number_of_group This value specifies an array that is used by setting a


s) value at an offset that corresponds with the offset
into the group_entity_ids input value that lists the
group ids. The value at that offset in this array
identifies the offset into the group_layers input value
where the number of layer values for each group is
stored. This array can store values that range from 1
to (512 - number_of_groups). Currently, these
values are ignored.
INTEGER group_layers() This value specifies an array used to identify the
number of layers imported for each group. Currently
these values are ignored, allowing the array to be any
size.
INTEGER interactive_flag This value is used to indicate if the import of the file
is to take place in batch mode. Currently, this value
is ignored.
INTEGER user_control_flag(2) This value specifies an array where offset 1 is a flag
indicating that duplicate geometric entities should
always be created. This value should be initialized to
0 and should always be set to 0 if the value at offset
2 is set to 1. Offset 2 is a flag indicating that
duplicate geometric entities should never be created.
This value should be initialized to 0 and should
always be set to 0 if the value at offset 1 is set to 1.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function does not provide any user input controls for the global model tolerance. Importing a
EUCLID model geometry file with control over the model tolerance can be done through the use of the
sgm_euclid_access_v1 function.

This function will provide an information display listing the percentage of each entity type being read
into Patran from the EUCLID model geometry file. The geometry read from the EUCLID model
geometry file will be entered into the Patran database and be shown on the display.
Chapter 2: Basic Functions 85
File Menu

Example:

Please see sgm_euclid_access (p. 30) in the PCL Reference Manual Examples.

sgm_euclid_access_v1 (file_name, group_name,


group_name_length,entity_toggle_values,
simply_trimmed, enable_tol_prompt,
color_toggle_values, all_layers, active_layer,
layer_numbers, model_type,
number_of_groups, group_entity_ids,
group_entity_values, group_color_values,
active_layer_values, layer_pointers,
group_layers, interactive_flag,
user_control_flag)

Description:
This function is used to import a EUCLID model geometry file while providing the user with control
over the model tolerance.
Input:
STRING file_name[] This value specifies the name of the path and the file
to be imported.
STRING group_name[80] This value specifies the name of the group to which
the imported geometry will be added. Currently, this
value is ignored.
INTEGER group_name_length This value specifies the number of characters in the
group_name input value. Currently, this value is
ignored.
LOGICAL entity_toggle_values(18) This value specifies an array used to select the
geometry entity types to be imported where the offset
into the array defines the entity type. The value at that
offset will be set TRUE if that entity type is to be
imported. Currently, these values are ignored.
LOGICAL simply_trimmed This value should be set to TRUE to import all
surfaces as simple trimmed surfaces or to FALSE to
import all surfaces as general trimmed surfaces.
Currently, this value is ignored.
LOGICAL enable_tol_prompt This value should be set to TRUE to enable
prompting from the user for the global model
tolerance or to FALSE to use the currently defined
global model tolerance.
86 PCL Reference Manual
File Menu

LOGICAL color_toggle_values(14) This value specifies an array that is used to set the
overall color filter values. Currently, these values are
ignored.
LOGICAL all_layers This value should be set to TRUE if all entities
identified by the input value entity_toggle_values
from all layers should be imported. Currently, this
value is ignored.
LOGICAL active_layer This value should be set to TRUE if only the active
or work layer entities will be imported. Currently,
this value is ignored.
INTEGER layer_numbers(256) This value specifies an array that is used to set the
layer values entered by the user for the overall layer
filter. Currently, this value is ignored.
STRING model_type[6] This value specifies the CAD model type and should
always be set to “euclid”.
INTEGER number_of_groups This value specifies the number of groups. This
input value has a maximum value of 256. Currently,
this value is ignored.
INTEGER group_entity_ids(number_ This array specifies the ID values for each user
of_groups) group. Currently, this value is ignored.
LOGICAL group_entity_values(numb This value specifies a two dimensional array that
er_of_groups, 20) contains values set to TRUE if an entity is to be
included and FALSE if an entity is not to be included
in the group being imported. The offset in the first
dimension corresponds to the group id in the same
offset of the group_entity_ids input value. The offset
in the second dimension of the array identifies the
entity type. Currently, these values are ignored.
LOGICAL group_color_values(numbe This value specifies a two dimensional array that
r_of_groups, 14) contains values set to TRUE if a color value is to be
used. The offset in the first dimension of this array
corresponds to the group id in the same offset of the
group_entity_ids input value. The offset in the
second dimension of this array identifies the color
type. Currently, these values are ignored.
LOGICAL active_layer_values(numbe This value specifies an array that is used by setting
r_of_groups) the value at an offset that corresponds to the offset for
the group id in the group_entity_values input value to
TRUE if an entity in the active layer is included in the
group identified by the offset into the array.
Currently, these values are ignored.
Chapter 2: Basic Functions 87
File Menu

INTEGER layer_pointers(number_of_ This value specifies an array that is used by setting a


groups) value at an offset that corresponds with the offset into
the group_entity_ids input value that lists the group
ids. The value at that offset in this array identifies the
offset into the group_layers input value where the
number of layer values for each group is stored. This
array can store values that range from 1 to (512 -
number_of_groups). Currently, these values are
ignored.
INTEGER group_layers() This value specifies an array used to identify the
number of layers imported for each group. Currently
these values are ignored, allowing the array to be any
size.
INTEGER interactive_flag This value is used to indicate if the import of the file
is to take place in batch mode. Currently, this value is
ignored.
INTEGER user_control_flag(2) This value specifies an array where offset 1 is a flag
indicating that duplicate geometric entities should
always be created. This value should be initialized to
0 and should always be set to 0 if the value at offset
2 is set to 1. Offset 2 is a flag indicating that duplicate
geometric entities should never be created. This
value should be initialized to 0 and should always be
set to 0 if the value at offset 1 is set to 1.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
None.
This is only a partial list of the error values that can be returned by this function.
1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function, sgm_euclid_access_v1(), differs from the sgm_euclid_access() function by providing the
input value enable_tol_prompt to allow the user to have some control over the model tolerance used when
the geometry file is imported.
88 PCL Reference Manual
File Menu

This function will provide an information display listing the percentage of each entity type being read
into Patran from the EUCLID model geometry file. The geometry read from the EUCLID model
geometry file will be entered into the Patran database and be shown in the current viewport.
Example:

Please see sgm_euclid_access_v1 (p. 31) in the PCL Reference Manual Examples.

sgm_ptc_access_v2 (file_name, file_type, simply_trimmed,


create_groups, save_geo_file,
enable_tol_prompt, pro_entities, pro_count,
patran_count)

Description:
This function is used to import a Pro/ENGINEER model geometry file.
Input:
STRING file_name[] This value specifies the name of the path and the file
to be imported.
STRING file_type[3] This value specifies the geometry file type and can
have the following case insensitive values: “PRT”,
“ASM”, and “GEO”.
LOGICAL simply_trimmed This value should be set to TRUE to import all
surfaces as simple trimmed surfaces or to FALSE to
import all surfaces as general trimmed surfaces.
LOGICAL create_groups
This value should be set to TRUE if Patran groups
are to be created from Pro/ENGINEER parts in an
assembly listed in the imported file.
LOGICAL save_geo_file This value should be set to TRUE if the .geo file is
to be saved after accessing the .prt or .asm file.
LOGICAL enable_tol_prompt This value should be set to TRUE to enable
prompting from the user for the global model
tolerance or to FALSE to use the currently defined
global model tolerance.
INTEGER pro_entities (17) This value specifies the Pro/ENGINEER entities to
access. See the remarks below for more information.
Output:
INTEGER pro_count(9) This value returns an array listing the counts of
Pro/ENGINEER entities that were in the imported
file versus the counts of entities that were processed.
See the remarks below for more information.
Chapter 2: Basic Functions 89
File Menu

INTEGER patran_count(7) This value returns an array listing the number of


Patran entities created. See the remarks below for
more information.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

The input value file_type can have the following values: “PRT”, “ASM”, “GEO”. This string value is not
case sensitive.
90 PCL Reference Manual
File Menu

The input value pro_entities uses offset 1 to specify the number of entities. Offsets 2 through 17 can be
set to a value that identifies the entity type:
Table 2-1
Entity type Array value
Solid Face 1
Datum Point 2
Datum Curve 3
Datum Surface 4
Plane 108
Spline Surface 114
Ruled Surface 118
Surface of Revolution 120
Tabulated Cylinder 122
B_Spline Surface 128
Cylinder 154
Cone 156
Torus 160
Coons Patch 170
Fillet Surface 172
Cylindrical Spline Surface 174

The integer output array pro_count returns values where the offsets identify the following type of entities
Table 2-2
Array offset Entity type
1 Face Count
2 Point Count
3 Curve Count
4 Surface Count
5 Number of parts
6 Number of faces Processed
7 Number of points Processed
8 Number of curves Processed
9 Number of surfaces Processed
Chapter 2: Basic Functions 91
File Menu

The integer output array patran_count returns values where the offsets identify the following type
of entities:
Table 2-3
Array offset Entity type
1 Trimmed Surface Count
2 Number of points Processed
3 Number of curves Processed
4 Number of surfaces Processed
5 The Parent Surface Count
6 Trimmed Curve Count
7 Number of groups

This function will import model geometry from the specified file, place it in the database and display it
in the current viewport.
This function can display fatal popup forms with the following messages:

38000802 Unable to acquire Pro/ENGINEER Geometry file size.


38000803 Unable to read Pro/ENGINEER Geometry file%A%.
38000805 Unable to acquire%I% words of virtual memory.
38000819 The file type%A% is not a valid Pro/ENGINEER file type. Input either PRT,
ASM, or GEO.

This function can display informational popup forms with the following messages:

38000821 Importing Pro/ENGINEER Part File.


38000823 Adding geometry to group%A%.
38000826 Patran ProENGINEER Access Model Import Terminated.

This function can display warning popup forms with the following messages:

38000828 A total of%I% surface contours were not closed in real (3D) space. The
maximum gap distance was%G%. Try setting the Global Model Tolerance in the
Global Preferences to a value greater than the gap distance and try again.

This function displays a warning popup form showing the message associated with the status value
returned by the function:
ga_group_current_set()
92 PCL Reference Manual
File Menu

Example:

Please see sgm_ptc_access_v2 (p. 35) in the PCL Reference Manual Examples.

sgm_ptc_access_v4 (file_name, file_type, simply_trimmed,


create_groups, save_geo_file,
tol_prompt_on, as_solid, pro_entities,
pro_count, patran_count)

Description:
This function is used to import a Pro/ENGINEER model geometry file.
Input:
STRING file_name[] This value specifies the name of the path and the
file to be imported.
STRING file_type[3] This value specifies the geometry file type and
can have the following case insensitive values:
“PRT”, “ASM”, and “GEO”.
LOGICAL simply_trimmed This value should be set to TRUE to import all
surfaces as simple trimmed surfaces or to
FALSE to import all surfaces as general
trimmed surfaces.
LOGICAL create_groups
This value should be set to TRUE if Patran
groups are to be created from Pro/ENGINEER
parts in an assembly listed in the imported file.
LOGICAL save_geo_file This value should be set to TRUE if the .geo file
is to be saved after accessing the .prt or .asm file.
LOGICAL tol_prompt_on This value should be set to TRUE to enable
prompting from the user for the global model
tolerance or to FALSE to use the currently
defined global model tolerance.
LOGICAL as_solid This value should be set to TRUE if a B-rep is to
be imported as a Solid or to FALSE if a B-rep is
to be imported as a set of constituent surfaces.
INTEGER pro_entities (19) This value specifies the Pro/ENGINEER entities
to access. See the remarks below for more
information.
Output:
Chapter 2: Basic Functions 93
File Menu

INTEGER pro_count(13) This value returns an array listing the counts of


Pro/ENGINEER entities that were in the
imported file versus the counts of entities that
were processed. See the remarks below for more
information.
INTEGER patran_count(10) This value returns an array listing the number of
Patran entities created. See the remarks below
for more information.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-1 This is an internal status condition. There is no corresponding status message in
the message database.

Remarks:

The input value file_type can have the following values: “PRT”, “ASM”, “GEO”. This string value is not
case sensitive.
The input value pro_entities uses offset 1 to specify the number of entities. Offsets 2 through 17 can be
set to a value that identifies the entity type:
94 PCL Reference Manual
File Menu

Table 2-4
Entity type Array value
Solid Face 10
Datum Point 1
Datum Curve 2
Datum Surface 4
Datum Plane 8
Coord Sys Datum 16
Plane 108
Spline Surface 114
Ruled Surface 118
Surface of Revolution 120
Tabulated Cylinder 122
B_Spline Surface 128
Cylinder 154
Cone 156
Torus 160
Coons Patch 170
Fillet Surface 172
Cylindrical Spline Surface 174
Chapter 2: Basic Functions 95
File Menu

The integer output array pro_count returns values where the offsets identify the following type of entities
Table 2-5
Array offset Entity type
1 Face count
2 Point count
3 Curve count
4 Surface count
5 Plane count
6 Coordinate System count
7 Number of parts
8 Number of faces processed
9 Number of points processed
10 Number of curves processed
11 Number of surfaces processed
12 Number of planes processed
13 Number of coordinate systems
processed

The integer output array patran_count returns values where the offsets identify the following type
:

of entities:
Table 2-6
Array offset Entity type
1 Trimmed Surface count
2 Number of points processed
3 Number of curves processed
4 Number of surfaces processed
5 The Solid count
6 Number of planes processed
7 Number of coordinate systems processed
8 The Parent Surface count
9 Trimmed Curve count
10 Number of groups
96 PCL Reference Manual
File Menu

This function will import model geometry from the specified file, place it in the database and display it
in the current viewport.
This function can display fatal popup forms with the following messages:

38000802 Unable to acquire Pro/ENGINEER Geometry file size.


38000803 Unable to read Pro/ENGINEER Geometry file%A%.
38000805 Unable to acquire%I% words of virtual memory.
38000819 The file type%A% is not a valid Pro/ENGINEER file type.
Input either PRT, ASM, or GEO.

This function can display informational popup forms with the following messages:

38000821 Importing Pro/ENGINEER Part File.


38000823 Adding geometry to group%A%.
38000826 Patran ProENGINEER Access Model Import Terminated.

This function can display warning popup forms with the following messages:

38000828 A total of%I% surface contours were not closed in real (3D) space. The
maximum gap distance was%G%. Try setting the Global Model Tolerance in
the Global Preferences to a value greater than the gap distance and try again.

This function displays a warning popup form showing the message associated with the status value
returned by the function:
ga_group_current_set()
Example:

None.
Chapter 2: Basic Functions 97
File Menu

sgm_ptc_access_v5 (file_name, file_type, simply_trimmed,


create_groups, save_geo_file, tol_prompt_on,
as_solid, pro_entities, pro_count,
patran_count)

Description:
This function is used to import a Pro/ENGINEER model geometry file.
Input:
STRING file_name[] This value specifies the name of the path and the file to be
imported.
STRING file_type[3] This value specifies the geometry file type and can have the
following case insensitive values: “PRT”, “ASM”, and
“GEO”.
LOGICAL simply_trimmed This value should be set to TRUE to import all surfaces as
simple trimmed surfaces or to FALSE to import all surfaces
as general trimmed surfaces.
LOGICAL create_groups
This value should be set to TRUE if Patran groups are to be
created from Pro/ENGINEER parts in an assembly listed in
the imported file.
LOGICAL save_geo_file This value should be set to TRUE if the .geo file is to be
saved after accessing the .prt or .asm file.
LOGICAL tol_prompt_on This value should be set to TRUE to enable prompting from
the user for the global model tolerance or to FALSE to use
the currently defined global model tolerance.
LOGICAL as_solid This value should be set to TRUE if a B-rep is to be imported
as a Solid or to FALSE if a B-rep is to be imported as a set
of constituent surfaces.
INTEGER pro_entities (20) This value specifies the Pro/ENGINEER entities to access.
See the remarks below for more information.
Output:
INTEGER pro_count(15) This value returns an array listing the counts of
Pro/ENGINEER entities that were in the imported file
versus the counts of entities that were processed. See the
remarks below for more information.
INTEGER patran_count(11)
This value returns an array listing the number of Patran
entities created. See the remarks below for more
information.
98 PCL Reference Manual
File Menu

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

The input value file_type can have the following values: “PRT”, “ASM”, “GEO”. This string value is not
case sensitive.
Chapter 2: Basic Functions 99
File Menu

The input value pro_entities uses offset 1 to specify the number of entities. Offsets 2 through 17 can be
set to a value that identifies the entity type:
Table 2-7
Entity type Array value
Solid Face 10
Datum Point 1
Datum Curve 2
Datum Surface 4
Datum Plane 8
Coord Sys Datum 16
Material 32
Plane 108
Spline Surface 114
Ruled Surface 118
Surface of Revolution 120
Tabulated Cylinder 122
B_Spline Surface 128
Cylinder 154
Cone 156
Torus 160
Coons Patch 170
Fillet Surface 172
Cylindrical Spline Surface 174

The integer output array pro_count returns values where the offsets identify the following type of entities
Table 2-8
Array offset Entity type
1 Face count
2 Point count
3 Curve count
4 Surface count
5 Plane count
6 Coordinate System count
7 Material count
100 PCL Reference Manual
File Menu

Table 2-8
Array offset Entity type
8 Number of parts
9 Number of faces processed
10 Number of points processed
11 Number of curves processed
12 Number of surfaces processed
13 Number of planes processed
14 Number of coordinate systems processed
15 Number of materials processed

The integer output array patran_count returns values where the offsets identify the following type
of entities:
Table 2-9
Array offset Entity type
1 Trimmed Surface count
2 Number of points processed
3 Number of curves processed
4 Number of surfaces processed
5 The Solid count
6 Number of planes processed
7 Number of coordinate systems processed
8 The Parent Surface count
9 Trimmed Curve count
10 Number of groups
11 Number of materials processed

This function will import model geometry from the specified file, place it in the database and display it
in the current viewport.
This function can display fatal popup forms with the following messages:
Chapter 2: Basic Functions 101
File Menu

38000802 Unable to acquire Pro/ENGINEER Geometry file size.


38000803 Unable to read Pro/ENGINEER Geometry file%A%.
38000805 Unable to acquire%I% words of virtual memory.
38000819 The file type%A% is not a valid Pro/ENGINEER file type. Input either
PRT, ASM, or GEO.

This function can display informational popup forms with the following messages:

38000821 Importing Pro/ENGINEER Part File.


38000823 Adding geometry to group%A%.
38000826 Patran ProENGINEER Access Model Import Terminated.

This function can display warning popup forms with the following messages:

38000828 A total of%I% surface contours were not closed in real (3D) space. The
maximum gap distance was%G%. Try setting the Global Model Tolerance
in the Global Preferences to a value greater than the gap distance and try
again.
38000847 The Material assigned to part %A% in Pro/ENGINEER was not written to
the Patran database because a solid did not get created.
38000848 Error occurred ateempting to write the Material %A% assigned to aprt
%A% in Pro/ENGINEER to solid %l% in the Patran database.

This function displays a warning popup form showing the message associated with the status value
returned by the function:
ga_group_current_set()
Example:
None
102 PCL Reference Manual
File Menu

uil_db_commit (command)

Description:
This function will submit the last database transaction so that it cannot be undone and set the
description string to be used with the undone operation.
Input:
STRING command[] This value specifies a description of current command to be
used in the message when the command is undone.
Output:
None.
Error Conditions:
None.

Remarks:
The results of prior database operations are set so that only the database transactions from this point on
can be undone.
This routine should be called in the callback for the “Apply” button in a popup form used to control an
application or at the beginning of a logical command.
Example:
Please see uil_db_commit (p. 36) in the PCL Reference Manual Examples.

uil_db_undo ()

Description:
This function will undo the last database transaction.
Input:
None.
Output:
None.
Error Conditions:
None.

Remarks:
All database operations done since the last call to the uil_db_commit() function will be thrown away. The
recording session file will be updated from the point of the last call to the uil_db_commit() function.
Chapter 2: Basic Functions 103
File Menu

Example:
Please see uil_db_undo (p. 37) in the PCL Reference Manual Examples.

uil_file_close.go ()

Description:
This function will close a database.
Input:
None.
Output:
None.
Error Conditions:
None.

Remarks:
Executing this function will close all viewports and forms with the exception of the main form.
Example:
Please see uil_file_close.go (p. 38) in the PCL Reference Manual Examples.

uil_file_new.go (template_name, file_name)

Description:
This function will create and open a new database using the specified database and template file
name.
Input:
STRING template_name[256] This value specifies the name of database to be
used as the template. If this value is set to “”, the
P3_HOME/template.db file will be used.
STRING file_name[256] This value specifies the name of the database to be
created.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
104 PCL Reference Manual
File Menu

8111002 File%A% is in use by another user. Opening this database may cause undesirable
results. Do you wish to continue anyway?
36000001 Cannot open database%A%.A database is already open.
36000002 Database%A% already exists.Do you wish to delete the existing database and
create a new one?

Remarks:
Using this function to create databases across machine-type boundaries is not recommended.
The database files created by this function may not be compatible from machine type to machine type.
This function can display yes/no query popup forms with the messages:

8111002 File%A% is in use by another user. Opening this database may cause undesirable
results. Do you wish to continue anyway?
36000002 Database%A% already exists. Do you wish to delete the existing database and create
a new one?

This function can display a fatal popup form with the message:

36000001 Cannot open database%A%.A database is already open.

This function will write comments to the journal and session files.
Example:
Please see uil_file_new.go (p. 39) in the PCL Reference Manual Examples.

uil_file_open.go (file_name)

Description:
This function will open a database.
Input:
STRING file_name[256] This value specifies the name of the database to open.
Output:
None.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
8111002 File%A% is in use by another user. Opening this database may cause undesirable
results. Do you wish to continue anyway?
Chapter 2: Basic Functions 105
File Menu

36000001 Cannot open database%A%.A database is already open.


36000002 Database%A% already exists.Do you wish to delete the existing database and create
a new one?
36000003 Database%A% does not exist.Do you wish to create a new database?

Remarks:
Using this function to open a database created on a machine of a different type is not recommended.
This function can display a fatal popup form with the message:

36000001 Cannot open database%A%.A database is already open.

This function can display a warning popup form with the message:

39000004 Journal file%A% does not exist. No journal file will be created.

This function can display yes/no query popup forms with the messages:

36000003 Database%A% does not exist.Do you wish to create a new database?

This function may not be able to open database files that have been transferred from one machine type
to another.
A viewport for the loaded database file will be displayed and the preferences will be set using information
from the opened database.
Example:
Please see uil_file_open.go (p. 40) in the PCL Reference Manual Examples.
106 PCL Reference Manual
File Menu

uil_imaging_coordframes.post_cf (contents)

Description:
This function will post the selected coordinate frames to all viewports.
Input:
STRING contents[] This value specifies a list of coordinate frame identifiers to post to
all viewports.
Output:
None.
Error Conditions:
None

Remarks:
This function can display a warning popup form with the message:

11005001 Global Coordinate Frame 0 (Global Axes Display) is controlled per viewport via the
Viewport Modify form.

This function can display a fatal popup form with the following messages:

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

This function calls and can display the status value returned by the following function in a warning
popup form.
db_post_coord()
This function calls but does not return the status values returned by the following functions:
app_get_handle()
app_next_label()
Example:
Please see uil_imaging_coordframes.post_cf (p. 40) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 107
File Menu

uil_imaging_coordframes.unpost_cf (contents)

Description:
This function will unpost the selected coordinate frames to all viewports.
Input:
STRING contents[] This value specifies a list of coordinate frame identifiers to unpost
from all viewports.
Output:
None.
Error Conditions:
None.

Remarks:
This function can display a fatal popup form with the following messages:

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

This function can display a warning popup form with the message:

11005001 Global Coordinate Frame 0 (Global Axes Display) is controlled per viewport via
the Viewport Modify form.

This function calls but does not return the status values returned by the following functions:
app_get_handle()
app_next_label()
Example:
Please see uil_imaging_coordframes.unpost_cf (p. 42) in the PCL Reference Manual Examples.
108 PCL Reference Manual
File Menu

uil_primary.get_menubar_id ()

Description:

This function returns the widget value for the Patran menu bar.
Input:
None.
Output:
widget <Return Value> This value returns the widget identifier for the main menu bar.
Error Conditions:
None.

Remarks:
This function can be called from or after the p3epilog.pcl start-up file has been run by the init.pcl
file. Calling it before the p3epilog.pcl file has been run may cause allow an invalid widget id to
be returned.
Example:
Please see uil_primary.get_menubar_id (p. 43) in the PCL Reference Manual Examples.

uil_viewport_tiling.tile ()

Description:
This function tiles or places in a side by side arrangement up to four posted viewports.
Input:
None.
Output:
None.
Error Conditions:
None.

Remarks:
This function will display a warning popup form with the following message if more than four viewports
are posted:
Chapter 2: Basic Functions 109
File Menu

11003004 Unable to tile more than 4 Viewports.

This function will display a fatal popup form listing the message associated with the status returned by
the following functions:
ga_viewport_location_get()
ga_viewport_location_set()
ga_viewport_nposted_get()
ga_viewport_posted_get()
ga_viewport_size_set()

This function will return immediately if Patran is being run in batch mode.

Example:
Please see uil_viewport_tiling.tile (p. 43) in the PCL Reference Manual Examples.

ugi_export_iges (file_name, start_section, model_units,


entity_values, all_groups,
number_of_groups, group_entity_ids,
patran_count, iges_count)

Description:

This function exports Patran geometry information from the database to a file in the IGES standard
file format.
Input:
STRING file_name[] This value specifies the name of the path and the file to
be created.
STRING start_section[] This value specifies the IGES file start section prolog
lines.
STRING model_units[] This value specifies the IGES file model units.
LOGICAL entity_values(7) This value specifies the entity type filter status flags used
to specify which Patran entity types will be exported to
the IGES file.
LOGICAL all_groups This value is set to TRUE if all groups are to be exported
to the IGES file.
INTEGER number_of_groups
This value specifies the number of Patran groups to be
exported to the IGES file.
INTEGER group_entity_ids(num This value specifies an array containing the IDs of the
ber_of_groups) Patran groups to be exported to the IGES file.
110 PCL Reference Manual
File Menu

Output:
INTEGER patran_count(7)
This value returns a list of the number of Patran entities
processed from the database by type.
INTEGER iges_count(20) This value returns the number of IGES entities created
by type.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-1 This is an internal status condition. There is no corresponding status message in
the message database.
Chapter 2: Basic Functions 111
File Menu

Remarks:
This function can display information popup forms with the following messages:

38000597 Exporting%I% Patran Elements.


38000602 Creating%I% IGES file Parameter Data Records.
38000607 Exporting%I% Patran Elements by Group.

This function can display fatal popup forms with the following messages:

38000504 Unable to open scratch file.


38000505 Unable to open IGES file%A%.
38000805 Unable to acquire%I% words of virtual memory.

This function can display a query popup form with the following message:

36000005 %A% File%A% already exists.Do you wish to delete the existing%A% file and
create a new one?

This function can display fatal popup forms listing the messages associated with the status values
returned by a call to the function:
file_delete()
Example:
None
112 PCL Reference Manual
File Menu

ugi_export_iges_v1 (file_name, start_section, nlpos, nlknt,


product_id, author, author_org, model_units,
entity_values, all_groups,
number_of_groups, group_entity_ids,
patran_count, iges_count)

Description:
This function exports Patran geometry information from the database to a file in the IGES standard
file format.
Input:
STRING file_name[] This value specifies the name of the path and the file to
be created.
STRING start_section[] This value specifies the IGES file start section prolog
lines.
INTEGER nlpos(*) New line character (\n) positions in Start Section.
INTEGER nlknt Number of new line characters (\n) in Start Section.
STRING product_id Product Id for receiving system
STRING author Author
STRING author_org Author’s Organization
STRING model_units[] This value specifies the IGES file model units.
LOGICAL entity_values(8) This value specifies the entity type filter status flags
used to specify which Patran entity types will be
exported to the IGES file.
LOGICAL all_groups This value is set to TRUE if all groups are to be
exported to the IGES file.
INTEGER number_of_groups
This value specifies the number of Patran groups to be
exported to the IGES file.
INTEGER group_entity_ids(number This value specifies an array containing the IDs of the
_of_groups)
Patran groups to be exported to the IGES file.
Output:
INTEGER patran_count(8)
This value returns a list of the number of Patran entities
processed from the database by type.
INTEGER iges_count(21) This value returns the number of IGES entities created
by type.
Chapter 2: Basic Functions 113
File Menu

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function can display information popup forms with the following messages:

38000597 Exporting%I% Patran Elements.


38000602 Creating%I% IGES file Parameter Data Records.
38000607 Exporting%I% Patran Elements by Group.

This function can display fatal popup forms with the following messages:

38000504 Unable to open scratch file.


38000505 Unable to open IGES file%A%.
38000805 Unable to acquire%I% words of virtual memory.

This function can display a query popup form with the following message:

36000005 %A% File%A% already exists.Do you wish to delete the existing%A% file and
create a new one?

This function can display fatal popup forms listing the messages associated with the status values
returned by a call to the function:
Example:
None
114 PCL Reference Manual
File Menu

ugi_export_iges_v2 (file_name, start_section, product_id, author,


author_org, model_units, entity_values,
all_groups, number_of_groups,
group_entity_ids, patran_count, iges_count)

Description:
This function exports Patran geometry information from the database to a file in the IGES standard file
format.
Input:
STRING file_name[] This value specifies the name of the path and the file to be
created.
STRING start_section[] This value specifies the IGES file start section prolog lines.
STRING product_id Product Id for receiving system
STRING author Author
STRING author_org Author’s Organization
STRING model_units[] This value specifies the IGES file model units.
LOGICAL entity_values(8) This value specifies the entity type filter status flags used to
specify which Patran entity types will be exported to the IGES
file.
LOGICAL all_groups This value is set to TRUE if all groups are to be exported to the
IGES file.
INTEGER number_of_groups
This value specifies the number of Patran groups to be exported
to the IGES file.
INTEGER group_entity_ids(nu
This value specifies an array containing the IDs of the Patran
mber_of_groups)
groups to be exported to the IGES file.
Output:
INTEGER patran_count(8)
This value returns a list of the number of Patran entities
processed from the database by type.
INTEGER iges_count(21) This value returns the number of IGES entities created by type.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-1 This is an internal status condition. There is no corresponding status message in the
message database.
Chapter 2: Basic Functions 115
File Menu

Remarks:
This function can display information popup forms with the following messages:

38000597 Exporting%I% Patran Elements.


38000602 Creating%I% IGES file Parameter Data Records.
38000607 Exporting%I% Patran Elements by Group.

This function can display fatal popup forms with the following messages:

38000504 Unable to open scratch file.


38000505 Unable to open IGES file%A%.
38000805 Unable to acquire%I% words of virtual memory.

This function can display a query popup form with the following message:

36000005 %A% File%A% already exists.Do you wish to delete the existing%A% file and
create a new one?

This function can display fatal popup forms listing the messages associated with the status values
returned by a call to the function:
Example:
None
116 PCL Reference Manual
File Menu

ugi_import_iges (file_name, group_name,


entity_toggle_values, color_toggle_values,
color_method, color_definition, all_layers,
layer, number_of_groups, group_entity_ids,
group_entity_values, group_color_values,
layer_pointers, group_layers, scale,
iges_count, patran_count)

Description:
This function imports geometry information from a file in the IGES standard file format into the
Patran database.
Input:
STRING file_name[] This value specifies the name of the path and the file
to be imported.
STRING group_name[31] This value specifies the name of the group to which
the imported geometry will be added.
LOGICAL entity_toggle_values(23) This value specifies the entity type filter status flags
to specify which IGES entity types to import.
LOGICAL color_toggle_values(9) This value defined the entity color filter status flags
to specify which IGES entity colors to import.
STRING color_method[7] This value is used to specify the color definition
entity method used to import color definition
entities.
STRING color_definition[] This value specifies the color definition entities to
import.
LOGICAL all_layers This value should be set to TRUE if all geometry
layers are to be imported.
STRING layer[] This value specifies a string that is used to specify
the geometry layers to be imported.
INTEGER number_of_groups This value is the number of groups defined.
INTEGER group_entity_ids(number_ This array specifies the ID values for each user
of_groups) group.
LOGICAL group_entity_values(20, This value specifies a two dimensional array that
number_of_groups) contains values set to TRUE if an entity is to be
included and FALSE if an entity is not to be included
in the group being imported. The offset in the first
dimension corresponds to the group id in the same
offset of the group_entity_ids input value. The offset
in the second dimension of the array identifies the
entity type.
Chapter 2: Basic Functions 117
File Menu

LOGICAL group_color_values(10, This value specifies a two dimensional array that


number_of_groups) contains values set to TRUE if a color value is to be
used. The offset in the first dimension of this array
corresponds to the group id in the same offset of the
group_entity_ids input value. The offset in the
second dimension of this array identifies the color
type.
INTEGER layer_pointers(number_of_ This value specifies an array that is used by setting a
groups) value at an offset that corresponds with the offset
into the group_entity_ids input value that lists the
group ids. The value at that offset in this array
identifies the offset into the group_layers input value
where the number of layer values for each group is
stored. The maximum value allowed for this array is
equal to the number of integers in the group_layers
input value.
INTEGER group_layers() This value specifies an array used to identify the
number of layers imported for each group. The size
of this array must be equal to or greater than the
largest value placed in the layer_pointers input
value.
Output:
REAL scale This value returns the IGES file model space scale.
INTEGER iges_count(20) This value returns the number of IGES entities
imported by type.
INTEGER patran_count(8)
This value returns the number of Patran entities
written to the database by type.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
The input value color_method can have a value of “ALL”, “NONE”, or “SPECIFY”.
This function will provide information popup forms that list the number of IGES entities imported and
Patran entities created.
118 PCL Reference Manual
File Menu

The geometric entities placed in the Patran database will be displayed in the viewport.

Example:
Please see ugi_import_iges (p. 44) in the PCL Reference Manual Examples.

ugi_import_iges_v4 (file_name, group_name,


entity_toggle_values, color_toggle_values,
color_method, color_definition, all_layers,
layer, number_of_groups, group_entity_ids,
group_entity_values, group_color_values,
layer_pointers, group_layers, scale,
iges_count, patran_count)

Description:

This function imports geometry information from a file in the IGES standard file format into the Patran
database.
Input:
STRING file_name[] This value specifies the name of the path and the
file to be imported.
INTEGER ipref142 User preference for Curve on Surface (142) entity
representation use flag.

0 = Unspecified, use what is defined in the IGES


file.

1 = S o B is preferred. (parametric space)

2 = C is preferred. (real space)


STRING group_name[31] This value specifies the name of the group to
which the imported geometry will be added.
LOGICAL entity_toggle_values(35) This value specifies the entity type filter status
flags to specify which IGES entity types to import.
LOGICAL color_toggle_values(10) This value defined the entity color filter status
flags to specify which IGES entity colors to
import.
STRING color_method[10] This value is used to specify the color definition
entity method used to import color definition
entities.
STRING color_definition[] This value specifies the color definition entities to
import.
Chapter 2: Basic Functions 119
File Menu

LOGICAL all_layers This value should be set to TRUE if all geometry


layers are to be imported.
STRING layer[] This value specifies a string that is used to specify
the geometry layers to be imported.
INTEGER number_of_groups This value is the number of groups defined.
INTEGER group_entity_ids(number_of_g This array specifies the ID values for each user
roups) group.
LOGICAL group_entity_values(22, This value specifies a two dimensional array that
number_of_groups) contains values set to TRUE if an entity is to be
included and FALSE if an entity is not to be
included in the group being imported. The offset
in the first dimension corresponds to the group id
in the same offset of the group_entity_ids input
value. The offset in the second dimension of the
array identifies the entity type.
LOGICAL group_color_values(10, This value specifies a two dimensional array that
number_of_groups) contains values set to TRUE if a color value is to
be used. The offset in the first dimension of this
array corresponds to the group id in the same
offset of the group_entity_ids input value. The
offset in the second dimension of this array
identifies the color type.
INTEGER layer_pointers(number_of_gro This value specifies an array that is used by setting
ups) a value at an offset that corresponds with the offset
into the group_entity_ids input value that lists the
group ids. The value at that offset in this array
identifies the offset into the group_layers input
value where the number of layer values for each
group is stored. The maximum value allowed for
this array is equal to the number of integers in the
group_layers input value.
INTEGER group_layers() This value specifies an array used to identify the
number of layers imported for each group. The
size of this array must be equal to or greater than
the largest value placed in the layer_pointers input
value.
Output:
REAL scale This value returns the IGES file model space
scale.
INTEGER iges_count(50) This value returns the number of IGES entities
imported by type.
120 PCL Reference Manual
File Menu

INTEGER patran_count(9)
This value returns the number of Patran entities
written to the database by type.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
The input value color_method can have a value of “ALL”, “NONE”, or “SPECIFY”.
This function will provide information popup forms that list the number of IGES entities imported and
Patran entities created.

The geometric entities placed in the Patran database will be displayed in the viewport.

Example:
Please see ugi_import_iges (p. 44) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 121
File Menu

ugi_import_iges_v5 (file_name, group_name,


entity_toggle_values, color_toggle_values,
color_method, color_definition, all_layers,
layer, number_of_groups, group_entity_ids,
group_entity_values, group_color_values,
layer_pointers, group_layers, create_groups,
groups_prefix, scale, iges_count,
patran_count)

Description:
This function imports geometry information from a file in the IGES standard file format into the Patran
database.
Input:
STRING file_name[] This value specifies the name of the path and the
file to be imported.
INTEGER ipref142 User preference for Curve on Surface (142) entity
representation use flag.

0 = Unspecified, use what is defined in the IGES


file.

1 = S o B is preferred. (parametric space)

2 = C is preferred. (real space)


STRING group_name[31] This value specifies the name of the group to
which the imported geometry will be added.
LOGICAL entity_toggle_values(35) This value specifies the entity type filter status
flags to specify which IGES entity types to import.
LOGICAL color_toggle_values(10) This value defined the entity color filter status
flags to specify which IGES entity colors to
import.
STRING color_method[10] This value is used to specify the color definition
entity method used to import color definition
entities.
STRING color_definition[] This value specifies the color definition entities to
import.
LOGICAL all_layers This value should be set to TRUE if all geometry
layers are to be imported.
STRING layer[] This value specifies a string that is used to specify
the geometry layers to be imported.
122 PCL Reference Manual
File Menu

INTEGER number_of_groups This value is the number of groups defined.


INTEGER group_entity_ids(number_of_g This array specifies the ID values for each user
roups) group.
LOGICAL group_entity_values(22, This value specifies a two dimensional array that
number_of_groups) contains values set to TRUE if an entity is to be
included and FALSE if an entity is not to be
included in the group being imported. The offset
in the first dimension corresponds to the group id
in the same offset of the group_entity_ids input
value. The offset in the second dimension of the
array identifies the entity type.
LOGICAL group_color_values(10, This value specifies a two dimensional array that
number_of_groups) contains values set to TRUE if a color value is to
be used. The offset in the first dimension of this
array corresponds to the group id in the same
offset of the group_entity_ids input value. The
offset in the second dimension of this array
identifies the color type.
INTEGER layer_pointers(number_of_gro This value specifies an array that is used by setting
ups) a value at an offset that corresponds with the offset
into the group_entity_ids input value that lists the
group ids. The value at that offset in this array
identifies the offset into the group_layers input
value where the number of layer values for each
group is stored. The maximum value allowed for
this array is equal to the number of integers in the
group_layers input value.
INTEGER group_layers() This value specifies an array used to identify the
number of layers imported for each group. The
size of this array must be equal to or greater than
the largest value placed in the layer_pointers input
value.
LOGICAL create_groups This value should be set to TRUE if Patran groups
are to be created automatically from IGES layers.
STRING groups_prefix This value specifies the group names prefix if
Patran groups are to be created automatically from
IGES layers. If blank, the group names prefix will
be the name of the IGES file imported.
Output:
REAL scale This value returns the IGES file model space
scale.
INTEGER iges_count(50) This value returns the number of IGES entities
imported by type.
Chapter 2: Basic Functions 123
File Menu

INTEGER patran_count(9)
This value returns the number of Patran entities
written to the database by type.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
The input value color_method can have a value of “ALL”, “NONE”, or “SPECIFY”.
This function will provide information popup forms that list the number of IGES entities imported and
Patran entities created.

The geometric entities placed in the Patran database will be displayed in the viewport.

Example:
Please see ugi_import_iges (p. 44) in the PCL Reference Manual Examples.

ugi_query_iges_v2 (file_name, query_options, create_report,


report_name, entity_count, entity_attributes,
num_colors, entity_colors, num_colors_per,
num_layers, entity_layers, num_layers_per)

Description:
This function provides information on the contents of an IGES geometry file.
Input:
STRING file_name[] This value specifies the name of the path and the
file to be imported.
LOGICAL query_options(7) This value specifies the types of query operations
to perform. See the remarks below for more
information.
124 PCL Reference Manual
File Menu

LOGICAL create_report This value specifies, when set to TRUE, that the
report information will be written to an Patran
report file. When this value is set to FALSE, a
report file will not be created.
STRING report_name[]
This value specifies the name of the Patran report
file to which query information is written.
Output:
INTEGER entity_count This value returns the number of IGES entities
identified in the IGES geometry file.
INTEGER entity_attributes(12,50) This value returns the IGES entity attributes for
each entity type. The use of this array is described
in the remarks below.
INTEGER num_colors(50) This value returns the number of colors used by the
IGES geometry file.
INTEGER entity_colors(256,50) This value returns the color numbers per entity type
used by the IGES geometry file. See the remarks
below for more information on the use of this
value.
INTEGER num_colors_per(256,50) This value returns the number of colors per entity
type used by the IGES geometry file.
INTEGER num_layers(50) This value reports the number of layers per entity
type in the IGES geometry file.
INTEGER entity_layers(256,50) This value returns the layer numbers per entity type
in the IGES geometry file.
INTEGER num_layers_per(256,50) This value returns the number of layers per entity
type.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See Status Messages for information on any error values returned by this function.
Remarks:
This function will provide an information display listing the contents of the IGES file.

The input value query_options uses the following offsets to control the type of information placed in a
report. When the value at the offset is set to TRUE, the information will be placed in the report. When
the value at the offset is set to FALSE, the listed information will be omitted from the report.
Chapter 2: Basic Functions 125
File Menu

Table 2-10
Offset Description
1 Report the supported IGES entities.
2 Report the IGES geometric entities.
3 Report a tabulated summary of all IGES entities.
4 Report the visible geometric entities.
5 Report the supported IGES entities with
subordinate switches.
6 Report the IGES entity color status.
7 Report the IGES entity level status.

The output value entity_attributes returns the IGES entity attributes for each entity type. Twelve different
attributes are counted for 50 entity types. The second dimensional offsets (1-50) of this array are used to
list the entity counts for each attribute. The first dimensional offsets in the array are used to identify the
entity attributes as follows:

Table 2-11
Offset Description
1 This offset returns the entity type.
2 This offset returns the total number of entities.
3 This offset returns the number of visible entities.
4 This offset returns the number of model space entities.
5 This offset returns the number of parameter space entities.
6 This offset returns the subordinate switch entity value of 0.
7 This offset returns the subordinate switch entity value of 1.
8 This offset returns the subordinate switch entity value of 2.
9 This offset returns the subordinate switch entity value of 3.
10 This offset returns the number of annotation entities.
11 This offset is not used.
12 This offset returns the number of bounded plane entities.
126 PCL Reference Manual
File Menu

The output value entity_colors returns the color numbers per entity type used by the IGES geometry file.
If the color number is negative, its absolute value is an offset into the second dimension of the attributes
returned by the output value entity_attributes where a color definition entity is used to define the color.
The possible positive color numbers and their colors are:

Color Number Color


0 No color assigned
1 Black
2 Red
3 Green
4 Blue
5 Yellow
6 Magenta
7 Cyan
8 White

Example:
None.

ge_export_xmt (filnam, refittol, scale_factor, entity_values,


patran_summary, para_summary)

Description:
This function will export Patran geometry to a Parasolid transmit file.
Input:
STRING filnam[] This value specifies the Parasolid transmit file name to create.
REAL refittol This value specifies the tolerance used to refit Patran geometry
to Parasolid format.

The default value = geotol/scale_factor, where:

geotol = Global Modeling Tolerance

scale_factor = Geometry Scale Factor


REAL scale_factor This value specifies the Geometry Scale Factor used to convert
Patran geometry into Parasolid units. The default value = 39.37
Chapter 2: Basic Functions 127
File Menu

LOGICAL entity_values(3) This value specifies the types of Patran geometric entity types
to export:

(1) = true if curves are to be exported.

(2) = true if surfaces are to be exported.

(3) = true if solids are to be exported.


Output:
INTEGER patran_summary(3) This value returns the number of patran geometric entity types
exported:

(1) = number of curves exported.

(2) = number of surfaces exported.

(3) = number of solids exported.


INTEGER para_summary(3) This value returns the number of parasolid geometric entity
types created:

(1) = number of parasolid curves created.

(2) = number of parasolid surfaces created.

(3) = number of parasolid solids created.


Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:
None.
Example:
None.
128 PCL Reference Manual
Group Menu

Group Menu
This section is used to describe functions that are used to create, delete, modify and transform groups of
geometric and finite element model entities stored in the database.

ga_group_clear (group_name)

Description:
This function clears a group of all of its members.
Input:
STRING group_name[31] This value specifies the name of the group to clear.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
11000050 The group name is invalid.
11000105 The specified group was not found in the database.

Remarks:
The cleared group and its members remain in the database but the members are no longer associated with
the group. The members of the cleared group can still be viewed if they belong to another group which
is posted to a viewport.
Example:
Please see ga_group_clear (p. 47) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 129
Group Menu

ga_group_create_groups ( options, group_name, num_select_1,


select_1, num_select_2, select_2 )

Description:
Create single or multiple groups using different selection methods.
Input:
INTEGER options Defines the creation options in a bit mask:
GA_GROUP_CREATE_SELECTION 0X00000001
GA_GROUP_CREATE_PROP_SETS 0X00000002
GA_GROUP_CREATE_PROP_TYPE 0X00000004
GA_GROUP_CREATE_LBC_SETS 0X00000008
GA_GROUP_CREATE_LBC_TYPE 0X00000010
GA_GROUP_CREATE_MATERIAL 0X00000020
GA_GROUP_CREATE_ELM_TOPS 0X00000040
GA_GROUP_CREATE_ELM_SHAPE 0X00000080
GA_GROUP_CREATE_ELEM_IDS 0X00000100
GA_GROUP_CREATE_MPC_TYPE 0X00000200
GA_GROUP_CREATE_BOOLEAN 0X00000400
STRING group_name [32] Group name.
INTEGER num_select_1 The starting element id for an option value of
GA_GROUP_CREATE_ELEM_IDS
STRING select_1 [32] () The first selected list of entities.
INTEGER num_select_2 The ending element id for an option value of
GA_GROUP_CREATE_ELEM_IDS
STRING select_2 [32] () The second selected list of entities.
Output:
INTEGER <Return Value> 0 if no error have occured.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000049 A group with the given name is already in the database.
11000050 The group name is invalid.
11000097 There is not enough disk space to complete operation.
11000098 A fatal error has occurred in the database. Database is corrupted.

Remarks:
The group created through the use of this function must be posted to a viewport before any added entities
can be viewed.
130 PCL Reference Manual
Group Menu

Example:
None

ga_group_current_set (group_name)

Description:
This function will set any new entities as members of the specified group and then post the specified
group to the current viewport.
Input:
STRING group_name[31] This value specifies the name of the group to which new entities
will be set and that will be posted to the current viewport,
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000049 A group with the given name is already in the database.
11000098 A fatal error has occurred in the database. Database is corrupted.

Remarks:
None
Example:
Please see ga_group_current_set (p. 48) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 131
Group Menu

ga_group_delete (group_name)

Description:
This function will delete a group from the database.
Input:
STRING group_name[31] This value specifies the name of the group. Setting this string to
nothing or “” will allow the use of the current group to be deleted.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000050 The group name is invalid.
11000121 There is not a current group defined.
11000140 The group can not be deleted while selected as the current group of any viewport.
11000105 The specified group was not found in the database.

Remarks:
Any disassociated members of the deleted group remain in the database. They can only be viewed if they
are members of or added as members to another group which is posted to a viewport.
Example:
Please see ga_group_delete (p. 49) in the PCL Reference Manual Examples.
132 PCL Reference Manual
Group Menu

ga_group_display_set (group_name, display_list)

Description:
This function changes the current display property list associated with a group and posts the group to
the current viewport.
Input:
STRING group_name[31] This value specifies the name of the group. Setting this string to
nothing or “” will allow the use of the current group.
STRING display_list[31] This value is the name of the display property list.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000118 There is no display property posted to the group.
11000121 There is not a current group defined.

Remarks:
None
Example:
Please see ga_group_display_set (p. 50) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 133
Group Menu

ga_group_entity_add (group_name, entities)

Description:
This function adds a list of entities as members to a group.
Input:
STRING group_name[31] This value specifies the name of the group to which the
entities will be added. Setting this string to nothing or “” will
allow the use of the current group.
STRING entities[] This value specifies the list of entities to be added to the
group.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1000025 Error attempting to allocate virtual memory.
11000011 The entity is not contained in the specified group.
11000012 The entity is already contained in the specified group.
11000050 The group name is invalid.
11000078 The specified entity could not be found in the database
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000121 There is not a current group defined.

Remarks:
Entities can be added as members to any number of groups.
Example:
Please see ga_group_entity_add (p. 51) in the PCL Reference Manual Examples.
134 PCL Reference Manual
Group Menu

ga_group_entity_remove (group_name, entities)

Description:
This function will remove a list of entities from a group.
Input:
STRING group_name[31] This value specifies the name of the group. Setting this string
to nothing or “” will allow the use of the current group.
STRING entities[] This value specifies the list of entities to be disassociated
from the group.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000050 The group name is invalid.
11000121 There is not a current group defined.
11000011 The entity is not contained in the specified group.

Remarks:
This function will not remove an entity from the database but will remove its association with the
specified group.
Removed entities that are members of another group can be posted to and redisplayed in the viewport by
pressing the repaint icon on the right end of the menu bar.
Example:
Please see ga_group_entity_remove (p. 53) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 135
Group Menu

ga_group_members_delete (group_name)

Description:
This function will delete all of the entities from a group.
Input:
STRING group_name[31] This value specifies the name of the group. Setting this string to
nothing or “” will allow the use of the current group.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000121 There is not a current group defined.
11000127 The group does not have any entities in it.

Remarks:
This function will delete all of the entities associated with the specified group even if they are members
of other groups as well.
This function will delete all entities associated with the specified group except for any nodes that are
associated with an element or MPC which is not a member of the targeted group.
Example:
Please see ga_group_members_delete (p. 54) in the PCL Reference Manual Examples.
136 PCL Reference Manual
Group Menu

ga_group_move_translate (ngroups, group_names,


coordinate_frame_id, translation_vector,
action_flag)

Description:
This function moves a group of model geometry and FEM entities from one place in the model space
to another.
Input:
INTEGER ngroups This value specifies the number of groups to copy.
STRING group_names[] This value specifies the names of the groups that will have
their positions translated. Set this string to “” to transform
the current group.
STRING coordinate_frame_id[] This value specifies the reference coordinate frame.
STRING translation_vector[] This value specifies the group translation direction and
distance.
INTEGER action_flag This value specifies whether or not to transform
Loads/Boundary Conditions and Properties:

8=transform Loads/Boundary Conditions

16=transform Properties

24=transform both Loads/Boundary Conditions and


Properties
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
Chapter 2: Basic Functions 137
Group Menu

14000295 LpSublistAttributeGet: The CAD native curve cannot be accurately approximated to


within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface cannot be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:
See All About Groups (Ch. 5) in the Patran Reference Manual for
more information.
This function can display the following messages in a popup form:

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.
138 PCL Reference Manual
Group Menu

ga_group_move_translate_1 (ngroups, group_names,


coordinate_frame_id, translation_vector,
vector_magnitude, reverse_dir, action_flag)

Description:
This function moves a group of model geometry and FEM entities to a different space within the
model.
Input:
INTEGER ngroups This value specifies the number of groups to copy.
STRING group_names[] This value specifies the names of the groups that will have
their positions translated. Set this string to “” to transform
the current group.
STRING coordinate_frame_id[] This value specifies the reference coordinate frame.
STRING translation_vector[] This value specifies the group translation direction.
REAL vector_magnitude This value specifies the group translation distance.
LOGICAL reverse_dir This value specifies whether or not to reverse the direction
vector.
INTEGER action_flag This value specifies whether or not to transform
Loads/Boundary Conditions and Properties:

8=transform Loads/Boundary Conditions

16=transform Properties

24=transform both Loads/Boundary Conditions and


Properties
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
Chapter 2: Basic Functions 139
Group Menu

14000211 LpSublistAttributeGet: Surface evaluator error


14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve cannot be accurately approximated to
within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface cannot be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:
See All About Groups (Ch. 5) in the Patran Reference Manual for
more information.
This function can display a fatal popup form with the following messages:
This function can display the following messages in a popup form:
140 PCL Reference Manual
Group Menu

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

ga_group_precision_set (group_name, precision_status)

Description:
This function sets the precision of the rendering for a specified group.
Input:
STRING group_name[] This value specifies the name of the group. Set this string to
nothing or “” to use of the current group.
INTEGER precision_status This is the value to be used as the precision for the group
which can have the following values: 0 for speed, 1 for
accuracy.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000121 There is not a current group defined.
Chapter 2: Basic Functions 141
Group Menu

Remarks:
See the listing for this function in Broken, Obsolete, Modified and New Functions for further information.
Example:
Please see ga_group_precision_set (p. 55) in the PCL Reference Manual Examples.

ga_group_rename (original_name, new_name)

Description:
This function renames a group.
Input:
STRING original_name[31] This value specifies the original name of the group.
Setting this string to nothing or “” will allow the use of the
current group.
STRING new_name[31] This value specifies the new name of the group.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000121 There is not a current group defined.

Remarks:
None.
Example:
Please see ga_group_rename (p. 56) in the PCL Reference Manual Examples.
142 PCL Reference Manual
Group Menu

ga_group_transform_mirror (group_name, plane, offset, delete_original,


use_original_labels, reverse)

Description:
This function creates a new set of entities which are a mirror of the entities contained in the named
group.
Input:
STRING group_name[31] This value specifies the name of the group to be mirrored.
This value can be set to “” to mirror the current group.
STRING plane[] This value specifies the plane around which the mirror
transformation will take place.
REAL offset This value specifies a distance along a vector that is normal
to the mirror plane, starting at the mirror plane surface. This
distance defines an offset for the placement of the mirrored
entities.
LOGICAL delete_original This value, when set to TRUE, specifies the deletion of the
original geometry being mirrored.
LOGICAL use_original_labels This value, when set to TRUE with the input value
delete_original being set to TRUE, will allow the original
geometry IDs for the mirrored entities to be used.
LOGICAL reverse This value, when set to TRUE, will allow the parametric
direction of the curves and surfaces of the mirrored
geometry to be reversed.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1000054 An invalid geometric entity type was used as input. The valid entity type to use
is%A%. Unable to process request.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
Chapter 2: Basic Functions 143
Group Menu

14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:
This function is implemented through a call to the function ga_group_transform_mirror2().
The call to the function ga_group_transform_mirror2() is done with the lbc_copy_sets,
lbc_transform_sets, prop_copy_sets, and prop_transform_sets input values all set to “”.
The new entities created will become members of the current group of the current viewport.
Load boundary conditions (LBC) and element property sets assigned to the named group are not mirrored
to the new entities. To mirror the load boundary conditions and element property sets, use the function
ga_group_transform_mirror2().
See All About Groups (Ch. 5) in the Patran Reference Manual for
more information.
This function can display a warning popup form with the following messages:

1000054 An invalid geometric entity type was used as input. The valid entity type to use
is%A%. Unable to process request.
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
144 PCL Reference Manual
Group Menu

14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

This function can display a fatal popup form with the following messages:

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Example:
Please see ga_group_transform_mirror (p. 57) in the PCL Reference Manual Examples

ga_group_transform_mirror2 (group_name, plane, offset, delete_original,


use_original_labels, reverse,
lbc_copy_sets, lbc_transform_sets,
prop_copy_sets, prop_transform_sets)

Description:
This function creates a set of entities which are a mirror of the entities contained in the named group.
Input:
Chapter 2: Basic Functions 145
Group Menu

STRING group_name[31] This value specifies the name of the group to be


mirrored. This value can be set to “” to mirror the current
group.
STRING plane[] This value specifies the plane around which the mirror
transformation will take place.
REAL offset This value specifies a distance along a vector that is
normal to the mirror plane, starting at the mirror plane
surface. This distance defines an offset for the placement
of the mirrored entities.
LOGICAL delete_original This value, when set to TRUE, will allow the deletion of
the original geometry being mirrored.
LOGICAL use_original_labels This value, when set to TRUE with the input value
delete_original being set to TRUE, will allow the
original geometry IDs for the mirrored entities to be
used.
LOGICAL reverse This value, when set to TRUE, will allow the parametric
direction of the curves and surfaces of the mirrored
geometry to be reversed.
STRING lbc_copy_sets[]() This value specifies an array of strings, terminated by an
empty string, listing the names of the load boundary
condition sets to be copied, with no coordinate
transformations, to the mirrored entities.
STRING lbc_transform_sets[]() This value specifies an array of strings, terminated by an
empty string, listing the names of the load boundary
condition sets to be mirrored to the mirrored entities.
STRING prop_copy_sets[]() This value specifies an array of strings, terminated by an
empty string, listing the names of the property sets to be
copied, with no coordinate transformations, to the
mirrored entities.
STRING prop_transform_sets[]() This value specifies an array of strings, terminated by an
empty string, listing the names of the property sets to be
mirrored to the mirrored entities.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1000054 An invalid geometric entity type was used as input. The valid entity type to use
is%A%. Unable to process request.
146 PCL Reference Manual
Group Menu

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.
Chapter 2: Basic Functions 147
Group Menu

Remarks:
If a load boundary condition (LBC) is a member of both the lbc_copy_sets and the lbc_transform_sets
input values, the load boundary conditions will be copied and not transformed.
If a property set is a member of both the prop_copy_sets and the prop_transform_sets input values, the
property set will be copied and not transformed.
If the any of the input values lbc_copy_sets, lbc_transform_sets, prop_copy_sets, and
prop_transform_sets are not used they should be set up as an array of one string set to “”.
The new entities created will become members of the current group of the current viewport.
See All About Groups (Ch. 5) in the Patran Reference Manual for more information.
This function can display a warning popup form with the following messages:

1000054 An invalid geometric entity type was used as input. The valid entity type to use
is%A%. Unable to process request.
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
148 PCL Reference Manual
Group Menu

This function can display a fatal popup form with the following messages:

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Example:
Please see ga_group_transform_mirror2 (p. 58) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 149
Group Menu

ga_group_transform_pivot (group_name, pivot_point, start_point,


end_point, delete_original,
use_original_labels)

Description:
This function creates a set of entities which are a copy of the entities contained in the named group,
pivoted around a point defined in space.
Input:
STRING group_name[31] This value specifies the name of the group to be pivoted.
This value can be set to “” to pivot the current group.
STRING pivot_point[] This value specifies the point around which the model and
FEM geometry will be pivoted.
STRING start_point[] This value specifies the starting point from which the pivot
operation will take place.
STRING end_point[] This value specifies the ending point from which the pivot
operation will take place.
LOGICAL delete_original This value, when set to TRUE, will cause the original
geometry being pivoted to be deleted.
LOGICAL use_original_labels This value, when set to TRUE with the input value
delete_original being set to TRUE, will allow the original
geometry IDs for the pivoted entities to be used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1 This is an internal status condition. There is no corresponding status message in the
message database.
2 This is an internal status condition. There is no corresponding status message in the
message database.
3 This is an internal status condition. There is no corresponding status message in the
message database.
1000211 The length of the Axis equals zero.
1000302 The three points specified are nearly collinear.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
150 PCL Reference Manual
Group Menu

14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist


14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:
This function is implemented through a call to the function ga_group_transform_pivot2().
The call to the function ga_group_transform_pivot2() is done with the lbc_copy_sets,
lbc_transform_sets, prop_copy_sets, and prop_transform_sets input values all set to “”.
The new entities created will become members of the current group of the current viewport.
Load boundary conditions (LBC) and element property sets assigned to the named group are not added
to the new entities. To add the load boundary conditions and element property sets, use the function
ga_group_transform_pivot2().
See All About Groups (Ch. 5) in the Patran Reference Manual for more information.
This function can display a fatal popup form with the following messages:

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

This function can display a popup forms with the following messages:

14000012 LpSublistAttributeGet: Attribute to retrieve is undefined


14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000208 LpSublistAttributeGet: Curve evaluator error
Chapter 2: Basic Functions 151
Group Menu

14000210 LpSublistAttributeGet: Insufficient size in return area for geometry


14000211 LpSublistAttributeGet: Surface evaluator error
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Example:
Please see ga_group_transform_pivot (p. 60) in the PCL Reference Manual Examples.

ga_group_transform_pivot2 (group_name, pivot_point, start_point,


end_point, delete_original,
use_original_labels, lbc_copy_sets,
lbc_transform_sets, prop_copy_sets,
prop_transform_sets)

Description:
This function creates a set of entities which are a copy of the entities contained in the named group,
pivoted around a point defined in space.
Input:
STRING group_name[31] This value specifies the name of the group to be
pivoted. This value can be set to “” to pivot the current
group.
STRING pivot_point[] This value specifies the point around which the model
and FEM geometry will be pivoted.
STRING start_point[] This value specifies the starting point from which the
pivot operation will take place.
STRING end_point[] This value specifies the ending point from which the
pivot operation will take place.
LOGICAL delete_original This value, when set to TRUE, will cause the original
geometry being pivoted to be deleted.
LOGICAL use_original_labels This value, when set to TRUE with the input value
delete_original being set to TRUE, will allow the
original geometry IDs for the pivoted entities to be
used.
STRING lbc_copy_sets[]() This value specifies an array of strings, terminated by
an empty string, listing the names of the load boundary
condition sets to be copied, with no coordinate
transformations, to the copied entities.
152 PCL Reference Manual
Group Menu

STRING lbc_transform_sets[]() This value specifies an array of strings, terminated by


an empty string, listing the names of the load boundary
condition sets to be added to the transformed entities.
STRING prop_copy_sets[]() This value specifies an array of strings, terminated by
an empty string, listing the names of the property sets
to be copied, with no coordinate transformations, to the
transformed entities.
STRING prop_transform_sets[]() This value specifies an array of strings, terminated by
an empty string, listing the names of the property sets
to be added to the transformed entities.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1 This is an internal status condition. There is no corresponding status message in the
message database.
2 This is an internal status condition. There is no corresponding status message in the
message database.
3 This is an internal status condition. There is no corresponding status message in the
message database.
1000211 The length of the Axis equals zero.
1000302 The three points specified are nearly collinear.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
Chapter 2: Basic Functions 153
Group Menu

14000296 LpSublistAttributeGet: The CAD native surface can not be accurately


approximated to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:
If a load boundary condition (LBC) is a member of both the lbc_copy_sets and the lbc_transform_sets
input values, the load boundary conditions will be copied and not transformed.
If a property set is a member of both the prop_copy_sets and the prop_transform_sets input values, the
property set will be copied and not transformed.
If the any of the input values lbc_copy_sets, lbc_transform_sets, prop_copy_sets, and
prop_transform_sets are not used they should be set up as an array of one string set to “”.
The new entities created will become members of the current group of the current viewport.
See All About Groups (Ch. 5) in the Patran Reference Manual for more information.
This function can display a fatal popup form with the following messages:

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

This function can display popup forms with the following messages:

14000012 LpSublistAttributeGet: Attribute to retrieve is undefined


14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Example:
Please see ga_group_transform_pivot2 (p. 61) in the PCL Reference Manual Examples.
154 PCL Reference Manual
Group Menu

ga_group_transform_position (group_name, start_point_1, start_point_2,


start_point_3, end_point_1, end_point_2,
end_point_3, delete_original,
use_original_labels)

Description:
This function will do a rigid body positional and rotational translation of a group of model geometry
and FEM entities.
Input:
STRING group_name[31] This value specifies the name of the group that will have
its position transformed. This value can be set to “” to
transform the current group.
STRING start_point_1[] This value specifies the first point in space used to define
a coordinate system for the starting position of the
position translation operation.
STRING start_point_2[] This value silicifies the second point in space used to
define a coordinate system for the starting position of the
position translation operation.
STRING start_point_3[] This value specifies the third point in space used to define
a coordinate system for the starting position of the
position translation operation.
STRING end_point_1[] This value specifies the first point in space used to define
a coordinate system for the ending position of the
position translation operation.
STRING end_point_2[] This value specifies the second point in space used to
define a coordinate system for the ending position of the
position translation operation.
STRING end_point_3[] This value specifies the third point in space used to define
a coordinate system for the ending position of the
position translation operation.
LOGICAL delete_original This value, when set to TRUE, will cause the original
geometry being transformed to be deleted.
LOGICAL use_original_labels This value, when set to TRUE with the input value
delete_original being set to TRUE, will allow the original
geometry IDs for the pivoted entities to be used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Chapter 2: Basic Functions 155
Group Menu

Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1000211 The length of the Axis equals zero.
1000302 The three points specified are nearly collinear.
13000088 Preference not found
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:
Both the starting_point and the ending_point three point sets of input values define a temporary
coordinate frame. The positional and angular differences between the two frames establish the translation
vector and planar rotation angles which are used to transform the named group.
The vector extending from the input values starting_point_1 to ending_point_1 define the positional
translation component of this operation.
The angular relationship between the pair of vectors defined by starting_point_1 and starting_point_2,
and the vectors ending_point_1 and ending_point2 and the angular relationship between the pair of
vectors defined by starting_point_1 and starting_point_3, and the vectors ending_point_1 and
ending_point3 define the planar translation angles for the positional translation operation.
This function is implemented through a call to the function ga_group_transform_position2().
The call to the function ga_group_transform_position2() is done with the lbc_copy_sets,
lbc_transform_sets, prop_copy_sets, and prop_transform_sets input values all set to “”.
The new entities created will become members of the current group of the current viewport.
156 PCL Reference Manual
Group Menu

Load boundary conditions (LBC) and element property sets assigned to the named group are not added
to the new entities. To add the load boundary conditions and element property sets, use the function
ga_group_transform_position2().
See All About Groups (Ch. 5) in the Patran Reference Manual for more information.
This function can display a fatal popup form with the following messages:

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Example:
Please see ga_group_transform_position (p. 63) in the PCL Reference Manual Examples.

ga_group_transform_position2 (group_name, start_point_1, start_point_2,


start_point_3, end_point_1, end_point_2,
end_point_3, delete_original,
use_original_labels, lbc_copy_sets,
lbc_transform_sets, prop_copy_sets,
prop_transform_sets)

Description:
This function will do a rigid body positional and rotational translation of a group of model geometry
and FEM entities.
Input:
STRING group_name[31] This value specifies the name of the group that will have
its position transformed. This value can be set to “” to
transform the current group.
STRING start_point_1[] This value specifies the first point in space used to define
a coordinate system for the starting position of the
position translation operation.
STRING start_point_2[] This value specifies the second point in space used to
define a coordinate system for the starting position of the
position translation operation.
STRING start_point_3[] This value specifies the third point in space used to
define a coordinate system for the starting position of the
position translation operation.
Chapter 2: Basic Functions 157
Group Menu

STRING end_point_1[] This value specifies the first point in space used to define
a coordinate system for the ending position of the
position translation operation.
STRING end_point_2[] This value specifies the second point in space used to
define a coordinate system for the ending position of the
position translation operation.
STRING end_point_3[] This value specifies the third point in space used to
define a coordinate system for the ending position of the
position translation operation.
LOGICAL delete_original This value, when set to TRUE, will cause the original
geometry being transformed to be deleted.
LOGICAL use_original_labels This value, when set to TRUE with the input value
delete_original being set to TRUE, will allow the
original geometry IDs for the pivoted entities to be used.
STRING lbc_copy_sets[]() This value specifies an array of strings, terminated by an
empty string, listing the names of the load boundary
condition sets to be copied, with no coordinate
transformations, to the copied entities.
STRING lbc_transform_sets[]() This value specifies an array of strings, terminated by an
empty string, listing the names of the load boundary
condition sets to be added to the transformed entities.
STRING prop_copy_sets[]() This value specifies an array of strings, terminated by an
empty string, listing the names of the property sets to be
copied, with no coordinate transformations, to the
transformed entities.
STRING prop_transform_sets[]() This value specifies an array of strings, terminated by an
empty string, listing the names of the property sets to be
added to the transformed entities.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1000211 The length of the Axis equals zero.
1000302 The three points specified are nearly collinear.
13000088 Preference not found
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
158 PCL Reference Manual
Group Menu

14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist


14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated to
within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:
If a load boundary condition (LBC) is a member of both the lbc_copy_sets and the lbc_transform_sets
input values, the load boundary conditions will be copied and not transformed.
If a property set is a member of both the prop_copy_sets and the prop_transform_sets input values, the
property set will be copied and not transformed.
If the any of the input values lbc_copy_sets, lbc_transform_sets, prop_copy_sets, and
prop_transform_sets are not used they should be set up as an array of one string set to “”.
The new entities created will become members of the current group of the current viewport.
See All About Groups (Ch. 5) in the Patran Reference Manual for more information.
This function can display a fatal popup form with the following messages:

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Example:
Please see ga_group_transform_position2 (p. 65) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 159
Group Menu

ga_group_transform_rotate (group_name, coordinate_frame_id,


rotation_axis, rotational_angle, offset_angle,
delete_original, use_original_labels,
repeat_count)

Description:
This function will do a rigid body rotational translation of a group of model geometry and FEM entities.
Input:
STRING group_name[31] This value specifies the name of the group that will have
its position rotated. This value can be set to “” to rotate
the current group.
STRING coordinate_frame_id[] This value specifies the reference coordinate frame.
STRING rotation_axis[] This value specifies a vector that is normal to the plane
of rotation. This vector forms the axis around which the
rotation translation will take place.
REAL rotation_angle[] This value specifies the angle of displacement in
degrees that will take place around the axis of rotation.
REAL offset_angle[] This value specifies an angular offset in degrees around
the axis of rotation for the start of the rotational
translation.
LOGICAL delete_original This value, when set to TRUE, will cause the original
geometry being transformed to be deleted.
LOGICAL use_original_labels This value, when set to TRUE with the input value
delete_original being set to TRUE, will allow the
original geometry IDs for the pivoted entities to be used.
INTEGER repeat_count This value specifies the number of times to repeat the
transform with each additional transform being
positioned relative to the previous transformation
results.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1 This is an internal status condition. There is no corresponding status message in the
message database.
2011004 The Repeat Count must be greater than 0.
160 PCL Reference Manual
Group Menu

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:
This function is implemented through a call to the function ga_group_transform_rotate2().
The call to the function ga_group_transform_rotate2() is done with the lbc_copy_sets,
lbc_transform_sets, prop_copy_sets, and prop_transform_sets input values all set to “”.
The new entities created will become members of the current group of the current viewport.
Load boundary conditions (LBC) and element property sets assigned to the named group are not added
to the new entities. To add the load boundary conditions and element property sets, use the function
ga_group_transform_rotate2().
See All About Groups (Ch. 5) in the Patran Reference Manual for more information.
This function can display a fatal popup form with the following messages:
This function can display the following messages in a popup form:
Example:
Please see ga_group_transform_rotate (p. 67) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 161
Group Menu

ga_group_transform_rotate2 (group_name, coordinate_frame_id,


rotation_axis, rotational_angle, offset_angle,
delete_original, use_original_labels,
repeat_count, lbc_copy_sets,
lbc_transform_sets, prop_copy_sets,
prop_transform_sets)

Description:
This function will do a rigid body rotational translation of a group of model geometry and FEM
entities.
Input:
STRING group_name[31] This value specifies the name of the group that will
have be rotated. This value can be set to “” to rotate the
current group.
STRING coordinate_frame_id[] This value specifies the reference coordinate frame.
STRING rotation_axis[] This value specifies a vector that is normal to the plane
of rotation. This vector forms the axis around which the
rotation translation will take place.
REAL rotation_angle[] This value specifies the angle of displacement in
degrees that will take place around the axis of rotation.
REAL offset_angle[] This value specifies an angular offset in degrees around
the axis of rotation for the start of the rotational
translation.
LOGICAL delete_original This value, when set to TRUE, will cause the original
geometry being transformed to be deleted.
LOGICAL use_original_labels This value, when set to TRUE with the input value
delete_original being set to TRUE, will allow the
original geometry IDs for the pivoted entities to be
used.
INTEGER repeat_count This value specifies the number of times to repeat the
transform with each additional transform being
positioned relative to the previous transformation
results.
STRING lbc_copy_sets[]() This value specifies an array of strings, terminated by
an empty string, listing the names of the load boundary
condition sets to be copied, with no coordinate
transformations, to the copied entities.
STRING lbc_transform_sets[]() This value specifies an array of strings, terminated by
an empty string, listing the names of the load boundary
condition sets to be added to the transformed entities.
162 PCL Reference Manual
Group Menu

STRING prop_copy_sets[]() This value specifies an array of strings, terminated by


an empty string, listing the names of the property sets
to be copied, with no coordinate transformations, to the
transformed entities.
STRING prop_transform_sets[]() This value specifies an array of strings, terminated by
an empty string, listing the names of the property sets
to be added to the transformed entities.

Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1 This is an internal status condition. There is no corresponding status message in the
message database.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:
If a load boundary condition (LBC) is a member of both the lbc_copy_sets and the lbc_transform_sets
input values, the load boundary conditions will be copied and not transformed.
Chapter 2: Basic Functions 163
Group Menu

If a property set is a member of both the prop_copy_sets and the prop_transform_sets input values, the
property set will be copied and not transformed.
If the any of the input values lbc_copy_sets, lbc_transform_sets, prop_copy_sets, and
prop_transform_sets are not used they should be set up as an array of one string set to “”.
The new entities created will become members of the current group of the current viewport.
See All About Groups (Ch. 5) in the Patran Reference Manual for more information.
This function can display a fatal popup form with the following messages:

2011004 The Repeat Count must be greater than 0.


14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

This function can display the following messages in a popup form:

14000012 LpSublistAttributeGet: Attribute to retrieve is undefined


14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Example:
Please see ga_group_transform_rotate2 (p. 68) in the PCL Reference Manual Examples.
164 PCL Reference Manual
Group Menu

ga_group_transform_scale (group_name, coordinate_frame_id,


origin_point, scale_factors, delete_original,
use_original_labels, repeat_count)

Description:
This function will change the scale of the selected group of model geometry and FEM entities.
Input:
STRING group_name[31] This value specifies the name of the group that will have
its position scaled. This value can be set to “” to scale the
current group.
STRING coordinate_frame_id[] This value specifies the reference coordinate frame.
STRING origin_point[] This value specifies a point in space from which the
group will be scaled.
REAL scale_factors[3] This value specifies the scale factors in the X, Y, and Z
coordinate axis.
LOGICAL delete_original This value, when set to TRUE, will cause the original
geometry being transformed to be deleted.
LOGICAL use_original_labels This value, when set to TRUE with the input value
delete_original being set to TRUE, will allow the original
geometry IDs for the pivoted entities to be used.
INTEGER repeat_count This value specifies the number of times to repeat the
transform with each additional transform being
positioned relative to the previous transformation results.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
Chapter 2: Basic Functions 165
Group Menu

14000211 LpSublistAttributeGet: Surface evaluator error


14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated to
within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:
This function is implemented through a call to the function ga_group_transform_scale2().
The call to the function ga_group_transform_scale2() is done with the lbc_copy_sets,
lbc_transform_sets, prop_copy_sets, and prop_transform_sets input valueinput values all set to “”.
The new entities created will become members of the current group of the current viewport.
Load boundary conditions (LBC) and element property sets assigned to the named group are not added
to the new entities. To add the load boundary conditions and element property sets, use the function
ga_group_transform_scale2().
See All About Groups (Ch. 5) in the Patran Reference Manual for
more information.
This function can display a fatal popup form with the following messages:

2011004 The Repeat Count must be greater than 0.


14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

This function can display the following messages in a popup form:

14000012 LpSublistAttributeGet: Attribute to retrieve is undefined


14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
166 PCL Reference Manual
Group Menu

14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

See the listing for this function in Broken, Obsolete, Modified and New Functions for further information.
Example:
Please see ga_group_transform_scale (p. 71) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 167
Group Menu

ga_group_transform_scale2 (group_name, coordinate_frame_id,


origin_point,scale_factors, delete_original,
use_original_labels, repeat_count,
lbc_copy_sets, lbc_transform_sets,
prop_copy_sets, prop_transform_sets)

Description:
This function will change the scale of the selected group of model geometry and FEM entities.
Input:
STRING group_name[31] This value specifies the name of the group that will
have its position scaled. This value can be set to “” to
scale the current group.
STRING coordinate_frame_id[] This value specifies the reference coordinate frame.
STRING origin_point[] This value specifies a point in space from which the
group will be scaled.
REAL scale_factors[3] This value specifies the scale factors in the X, Y, and
Z coordinate axis.
LOGICAL delete_original This value, when set to TRUE, will cause the original
geometry being transformed to be deleted.
LOGICAL use_original_labels This value, when set to TRUE with the input value
delete_original being set to TRUE, will allow the
original geometry IDs for the pivoted entities to be
used.
INTEGER repeat_count This value specifies the number of times to repeat the
transform with each additional transform being
positioned relative to the previous transformation
results.
STRING lbc_copy_sets[]() This value specifies an array of strings, terminated by
an empty string, listing the names of the load boundary
condition sets to be copied, with no coordinate
transformations, to the copied entities.
STRING lbc_transform_sets[]() This value specifies an array of strings, terminated by
an empty string, listing the names of the load boundary
condition sets to be added to the transformed entities.
STRING prop_copy_sets[]() This value specifies an array of strings, terminated by
an empty string, listing the names of the property sets
to be copied, with no coordinate transformations, to
the transformed entities.
168 PCL Reference Manual
Group Menu

STRING prop_transform_sets[]() This value specifies an array of strings, terminated by


an empty string, listing the names of the property sets
to be added to the transformed entities.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:
If a load boundary condition (LBC) is a member of both the lbc_copy_sets and the lbc_transform_sets
input values, the load boundary conditions will be copied and not transformed.
If a property set is a member of both the prop_copy_sets and the prop_transform_sets input values, the
property set will be copied and not transformed.
If the any of the input values lbc_copy_sets, lbc_transform_sets, prop_copy_sets, and
prop_transform_sets are not used they should be set up as an array of one string set to “”.
The new entities created will become members of the current group of the current viewport.
See All About Groups (Ch. 5) in the Patran Reference Manual for more information.
This function can display a fatal popup form with the following messages:
Chapter 2: Basic Functions 169
Group Menu

This function can display the following messages in a popup form:


See the listing for this function in Broken, Obsolete, Modified and New Functions for further information.
Example:
Please see ga_group_transform_scale2 (p. 73) in the PCL Reference Manual Examples.

ga_group_transform_translate (group_name, coordinate_frame_id,


translation_vector, delete_original,
use_original_labels, repeat_count)

Description:
This function will move or translate a group of model geometry and FEM entities from one place in the
model space to another.
Input:
STRING group_name[31] This value specifies the name of the group that will
have its position translated. This value can be set to “”
to transform the current group.
STRING coordinate_frame_id[] This value specifies the reference coordinate frame.
STRING translation_vector[] This value specifies the direction and distance that the
group will be translated.
LOGICAL delete_original This value, when set to TRUE, will cause the original
geometry being transformed to be deleted.
LOGICAL use_original_labels This value, when set to TRUE with the input value
delete_original being set to TRUE, will allow the
original geometry IDs for the pivoted entities to be
used.
INTEGER repeat_count This value specifies the number of times to repeat the
transform with each additional transform being
positioned relative to the previous transformation
results.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
170 PCL Reference Manual
Group Menu

14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist


14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:
This function is implemented through a call to the function ga_group_transform_translate2().
The call to the function ga_group_transform_translate2() is done with the lbc_copy_sets,
lbc_transform_sets, prop_copy_sets, and prop_transform_sets input values all set to “”.
The new entities created will become members of the current group of the current viewport.
Load boundary conditions (LBC) and element property sets assigned to the named group are not added
to the new entities. To add the load boundary conditions and element property sets, use the function
ga_group_transform_translate2().
See All About Groups (Ch. 5) in the Patran Reference Manual for more information.
This function can display a fatal popup form with the following messages:

2011004 The Repeat Count must be greater than 0.


14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

This function can display the following messages in a popup form:

14000012 LpSublistAttributeGet: Attribute to retrieve is undefined


14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
Chapter 2: Basic Functions 171
Group Menu

14000208 LpSublistAttributeGet: Curve evaluator error


14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Example:
Please see ga_group_transform_translate (p. 75) in the PCL Reference Manual Examples.

ga_group_transform_translate_1 (ngroups, group_names,


coordinate_frame_id, translation_vector,
action_flag, name_flag,
new_group_names, repeat_count)

Description:
This function will copy a group of model geometry and FEM entities from one place in the model space
to another.
Input:
INTEGER ngroups This value specifies the number of groups to copy.
STRING group_names[] This value specifies the names of the groups that will
have their positions translated. This value can be set to “”
to transform the current group.
STRING coordinate_frame_id[] This value specifies the reference coordinate frame.
STRING translation_vector[] This value specifies the group translation direction and
distance.
INTEGER action_flag This value specifies whether or not to transform
Loads/Boundary Conditions and Properties:

8=transform Loads/Boundary Conditions

16=transform Properties

24=transform both Loads/Boundary Conditions and


Properties
172 PCL Reference Manual
Group Menu

INTEGER name_flag This value specifies how to interpret the


“new_group_names” argument describing the
“Transformed Group Name(s)”:

0=Original Group Name

1=New Group Name

2=Group Name Prefix

3=Group Name Suffix

4=Current Group Name


STRING new_group_names This value specifies the string associated with the
argument “name_flag”. This will be either a:

New Group Name

Group Name Prefix, or

Group Name Suffix


INTEGER repeat_count This value specifies the number of times to repeat the
transform with each additional transform being
positioned relative to the previous transformation results.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
Chapter 2: Basic Functions 173
Group Menu

14000295 LpSublistAttributeGet: The CAD native curve cannot be accurately approximated to


within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface cannot be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:
See All About Groups (Ch. 5) in the Patran Reference Manual for
more information.
This function can display a fatal popup form with the following messages:

2011004 The Repeat Count must be greater than 0.

This function can display the following messages in a popup form:


174 PCL Reference Manual
Group Menu

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

ga_group_transform_translate2 (group_name, coordinate_frame_id,


translation_vector, delete_original,
use_original_labels, repeat_count,
lbc_copy_sets, lbc_transform_sets,
prop_copy_sets, prop_transform_sets)

Description:
This function will move or translate a group of model geometry and FEM entities from one place in
the model space to another.
Input:
STRING group_name[31] This value specifies the name of the group that will
have its position translated. This value can be set to
“” to transform the current group.
STRING coordinate_frame_id[] This value specifies the reference coordinate frame.
STRING translation_vector[] This value specifies the direction and distance that
the group will be translated.
LOGICAL delete_original This value, when set to TRUE, will cause the
original geometry being transformed to be deleted.
LOGICAL use_original_labels This value, when set to TRUE with the input value
delete_original being set to TRUE, will allow the
original geometry IDs for the pivoted entities to be
used.
Chapter 2: Basic Functions 175
Group Menu

INTEGER repeat_count This value specifies the number of times to repeat


the transform with each additional transform being
positioned relative to the previous transformation
results.
STRING lbc_copy_sets[]() This value specifies an array of strings, terminated
by an empty string, listing the names of the load
boundary condition sets to be copied, with no
coordinate transformations, to the copied entities.
STRING lbc_transform_sets[]() This value specifies an array of strings, terminated
by an empty string, listing the names of the load
boundary condition sets to be added to the
transformed entities.
STRING prop_copy_sets[]() This value specifies an array of strings, terminated
by an empty string, listing the names of the property
sets to be copied, with no coordinate
transformations, to the transformed entities.
STRING prop_transform_sets[]() This value specifies an array of strings, terminated
by an empty string, listing the names of the property
sets to be added to the transformed entities.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
176 PCL Reference Manual
Group Menu

14000296 LpSublistAttributeGet: The CAD native surface can not be accurately


approximated to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:
If a load boundary condition (LBC) is a member of both the lbc_copy_sets and the lbc_transform_sets
input values, the load boundary conditions will be copied and not transformed.
If a property set is a member of both the prop_copy_sets and the prop_transform_sets input values, the
property set will be copied and not transformed.
If the any of the input values lbc_copy_sets, lbc_transform_sets, prop_copy_sets, prop_transform_sets
are not used they should be set up as an array of one string set to “”.
The new entities created will become members of the current group of the current viewport.
See All About Groups (Ch. 5) in the Patran Reference Manual for
more information.
This function can display a fatal popup form with the following messages:

2011004 The Repeat Count must be greater than 0.

This function can display the following messages in a popup form:

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve cannot be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface cannot be accurately
approximated to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.
Chapter 2: Basic Functions 177
Group Menu

Example:
Please see ga_group_transform_translate2 (p. 77) in the PCL Reference Manual Examples.

ga_group_transform_translate_2 (ngroups, group_names,


coordinate_frame_id,
translation_vector, vector_magnitude,
reverse_dir, action_flag, name_flag,
new_group_names, repeat_count)

Description:
This function will copy a group of model geometry and FEM entities from one place in the model space
to another.
Input:
INTEGER Ngroups This value specifies the number of groups to copy.
STRING group_names[] This value specifies the names of the groups that will
have their positions translated. This value can be set to “”
to transform the current group.
STRING coordinate_frame_id[] This value specifies the reference coordinate frame.
STRING translation_vector[] This value specifies the direction that the group will be
translated.
REAL vector_magnitude This value specifies the distance that the group will be
translated.
LOGICAL reverse_dir This value specifies whether or not to reverse the
direction vector.
INTEGER action_flag This value specifies whether or not to transform
Loads/Boundary Conditions and Properties:

8=transform Loads/Boundary Conditions


16=transform Properties
24=transform both Loads/Boundary Conditions and
Properties
INTEGER name_flag This value specifies how to interpret the
“new_group_names” argument describing the
“Transformed Group Name(s)”:

0=Original Group Name


1=New Group Name
2=Group Name Prefix
3=Group Name Suffix
4=Current Group Name
178 PCL Reference Manual
Group Menu

STRING new_group_names This value specifies the string associated with the
argument “name_flag”. This will be either a:

New Group Name


Group Name Prefix, or
Group name Suffix
INTEGER repeat_count This value specifies the number of times to repeat the
transform with each additional transform being
positioned relative to the previous transformation results.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:
See All About Groups (Ch. 5) in the Patran Reference Manual for more information.
This function can display a fatal popup form with the following messages:

2011004 The Repeat Count must be greater than 0.


Chapter 2: Basic Functions 179
Group Menu

This function can display the following messages in a popup form:

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

uil_group_members_get (group_name, members)

Description:
This function will get a list of all the members of a group.
Input:
STRING group_name[31] This value specifies the name of the group that will be
retrieved. This value can be set to “” to retrieve the
current group.
Output:
STRING members[VIRTUAL] This value returns a list of the members of the group.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
8104003 Out of room in destination format string.
8107002 Last command aborted.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
180 PCL Reference Manual
Group Menu

11000105 The specified group was not found in the database.


11000121 There is not a current group defined.
11000127 The group does not have any entities in it.

Remarks:
Space is internally allocated for the output value members. It is the responsibility of the calling function
to free the allocated string storage space.
Example:
Please see uil_group_members_get (p. 78) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 181
Viewing Menu

Viewing Menu
This section is used to describe functions that are used to create, delete, modify and retrieve the settings
of named views stored in the database.

ga_view_aa_get (name_of_view, angle_x, angle_y,


angle_z)

Description:
This function gets the absolute x, y, and z angles of rotation around the axes of the global model
coordinate system of the specified view.
Input:
STRING name_of_view[31] This value specifies the name of the view from which the
absolute angles will be obtained. If this value is set to
nothing or ““, the current view will be used.
Output:
REAL angle_x This value returns the rotation about the x axis.
REAL angle_y This value returns the rotation about the y axis.
REAL angle_z This value returns the rotation about the z axis.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.

Remarks:
None
Example:
Please see ga_view_aa_get (p. 127) in the PCL Reference Manual Examples.
182 PCL Reference Manual
Viewing Menu

ga_view_aa_set (angle_x, angle_y, angle_z)

Description:
This function sets the absolute x, y, and z angles of rotation around the axes of the global model
coordinate system for the current view.
Input:
REAL angle_x This value specifies the angle of rotation for the x axis.
REAL angle_y This value specifies the angle of rotation for the y axis.
REAL angle_z This value specifies the angle of rotation for the z axis.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.
13000014 Viewport not found

Remarks:
None
Example:
Please see ga_view_aa_set (p. 128) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 183
Viewing Menu

ga_view_ar_set (angle_x, angle_y, angle_z)

Description:
This function sets the x, y, and z angles of rotation around the axes of the global model coordinate
system for the current view relative to current rotational position.
Input:
REAL angle_x This value specifies the angle of rotation for the x axis.
REAL angle_y This value specifies the angle of rotation for the y axis.
REAL angle_z This value specifies the angle of rotation for the z axis.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.
13000014 Viewport not found

Remarks:
None.
Example:
Please see ga_view_ar_set (p. 129) in the PCL Reference Manual Examples.
184 PCL Reference Manual
Viewing Menu

ga_view_back_get (name_of_view, distance)

Description:
This function gets the distance of the back clipping plane.
Input:
STRING name_of_view[31] This value specifies the name of the view from which
the back clipping plane will be obtained. If this value
is set to nothing or ““, the current view will be used.
Output:
REAL distance This value returns the location of back clipping
plane.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.
13000014 Viewport not found

Remarks:
The back clipping plane distance is the distance from the origin of global model coordinate frame to the
back clipping plane along the z axis.
This distance must be less than the distance of the front clipping plane.
Example:
Please see ga_view_back_get (p. 130) in the PCL Reference Manual Examples.

ga_view_back_set (distance)

Description:
This function sets the distance of the back clipping plane.
Input:
Chapter 2: Basic Functions 185
Viewing Menu

REAL distance This value sets the location of back clipping plane.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
The back clipping plane distance is the distance from the origin of global model coordinate frame to the
back clipping plane along the z axis.
This distance must be less than the distance of the front clipping plane.
Example:
Please see ga_view_back_set (p. 132) in the PCL Reference Manual Examples.
186 PCL Reference Manual
Viewing Menu

ga_view_capping_get (name_of_view, capping_status)

Description:
This function will return the on/off status for capping.
Input:
STRING name_of_view[31] This value specifies the name of the view from which
the capping status will be obtained. If this value is set
to nothing or ““, the current view will be used.
Output:
LOGICAL capping_status This value returns the on/off status of capping. It will
be set TRUE for on, FALSE for off.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.

Remarks:
None
Example:
Please see ga_view_capping_get (p. 133) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 187
Viewing Menu

ga_view_capping_set (capping_status)

Description:
This function sets the on/off status of capping for the current view.
Input:
LOGICAL capping_status This value sets the status of capping to either
TRUE for on, or FALSE for off.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None
Example:
Please see ga_view_capping_set (p. 134) in the PCL Reference Manual Examples.
188 PCL Reference Manual
Viewing Menu

ga_view_center_get (name_of_view, coordinate_x,


coordinate_y)

Description:
This function returns the location of the center of the named view in the global model coordinate
system.
Input:
STRING name_of_view[31] This value specifies the name of the view from
which the center location will be obtained. If this
value is set to nothing or ““, the current view will be
used.
Output:
REAL coordinate_x This value returns the x coordinate for the center of
the view.
REAL coordinate_y This value returns the y coordinate for the center of
the view.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.

Remarks:
None
Example:
Please see ga_view_center_get (p. 135) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 189
Viewing Menu

ga_view_center_set (coordinate_x, coordinate_y)

Description:
This function centers the current view around a specified point in the global model coordinate system.
Input:
REAL coordinate_x This value specifies the x coordinate around which
the view will be centered.
REAL coordinate_y This value specifies the x coordinate around which
the view will be centered.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None
Example:
Please see ga_view_center_set (p. 137) in the PCL Reference Manual Examples.
190 PCL Reference Manual
Viewing Menu

ga_view_clipping_get (name_of_view, clipping_status)

Description:
This function will return the on/off status for clipping.
Input:
STRING name_of_view[31] This value specifies the name of the view from which the
clipping status will be obtained. If this value is set to
nothing or ““, the current view will be used.
Output:
LOGICAL clipping_status This value returns the on/off status of capping. It will be set
TRUE for on, FALSE for off.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.

Remarks:
None
Example:
Please see ga_view_clipping_get (p. 138) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 191
Viewing Menu

ga_view_clipping_set (clipping_status)

Description:
This function sets the on/off status of clipping for the current view.
Input:
LOGICAL clipping_status This value sets the status of clipping to either TRUE
for on, or FALSE for off.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None
Example:
Please see ga_view_clipping_set (p. 139) in the PCL Reference Manual Examples.

ga_view_corners_set (point_1, point_2, aspect_ratio)

Description:
This function changes the size and center location of the current view.
Input:
REAL point_1(3) This value specifies a point that is the location of the
corner point of a box that is on a diagonal to point_2.
See the remarks below for more information.
192 PCL Reference Manual
Viewing Menu

REAL point_2(3) This value specifies a point that is the location of the
corner point of a box that is on a diagonal to point_1.
See the remarks below for more information.
REAL aspect_ratio This value specifies the relationship between the size
of the box and the zoom value applied to the view.
See the remarks below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
The box defined by the input values point_1 and point_2 defines where the center of the view will be
placed and along with the aspect_ratio input value, the zoom value applied to the view.
The input value aspect_ratio should be a positive non-zero value. Setting the input value aspect_ratio to
zero will cause a divide by zero error followed by a core dump. If the aspect_ratio is less than 0.0, the
zoom factor will be set to a negative value and the results will be unpredictable.
Each of the input point arrays have offsets (1, 2, 3) that correspond to the axes of the global model
coordinate system (x, y, z).
Example:
Please see ga_view_corners_set (p. 140) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 193
Viewing Menu

ga_view_create (name_of_view, viewport_name)

Description:
This function will create a named view and post it to a viewport.
Input:
STRING name_of_view[31] This value specifies the name of the view. If this
value is set to nothing or ““, an error status value will
be returned by the function.
STRING viewport_name[31] This value specifies the name of the viewport to
which the view will be posted. If this value is set to
nothing or ““, the current viewport will be used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000153 The specified Named View already exists.
13000007 An unspecified database error occurred
13000014 Viewport not found

Remarks:
None
Example:
Please see ga_view_create (p. 141) in the PCL Reference Manual Examples.
194 PCL Reference Manual
Viewing Menu

ga_view_delete (name_of_view)

Description:
This function deletes a named view.
Input:
STRING name_of_view[31] This value specifies the name of the view to be
deleted. If this value is set to nothing or ““, the
current view will be used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None
Example:
Please see ga_view_delete (p. 143) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 195
Viewing Menu

ga_view_dist_get (name_of_view, distance)

Description:
The function will get the distance from the center of the named view to the view plane along the z axis
of the global model coordinate system.
Input:
STRING name_of_view[31] This value specifies the name of the view from which
the distance will be obtained. If this value is set to
nothing or ““, the current view will be used.
Output:
REAL distance This value returns the distance from the center of the
named view to the view plane. The output value
distance will always be less than the observer
position distance.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.

Remarks:
None
Example:
Please see ga_view_dist_get (p. 144) in the PCL Reference Manual Examples.
196 PCL Reference Manual
Viewing Menu

ga_view_dist_set (distance)

Description:
This function will set the distance from the center of the current view to the view plane along the z axis
of the global model coordinate system.
Input:
REAL distance This value specifies the distance from the view plane to the
center of the current view. This input value must be less than the
observer position distance.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None
Example:
Please see ga_view_dist_set (p. 145) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 197
Viewing Menu

ga_view_exist_get (name_of_view, view_status)

Description:
This function returns a status value reporting the existence of a named view.
Input:
STRING name_of_view[31] This value specifies the name of the view from which
the distance will be obtained. If this value is set to
nothing or ““, the current view will be used.
Output:
INTEGER view_status This value returns the status of the named view as 1
or TRUE if it exists, and 0 or false if it does not exist.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.
13000007 An unspecified database error occurred

Remarks:
None
Example:
Please see ga_view_exist_get (p. 146) in the PCL Reference Manual Examples.
198 PCL Reference Manual
Viewing Menu

ga_view_fov_get (name_of_view, fov_angle)

Description:
This function will get the field of view angle for the named view.
Input:
STRING name_of_view[31] This value specifies the name of the view from which
the field of view angle will be obtained. If this value is
set to nothing or ““, the current view will be used.
Output:
REAL fov_angle This value returns the field of view angle for the named
view.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.

Remarks:
None
Example:
Please see ga_view_fov_get (p. 147) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 199
Viewing Menu

ga_view_fov_set (fov_angle)

Description:
This function will set the field of view angle for the current view.
Input:
REAL fov_angle This value specifies the field of view angle.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None
Example:
Please see ga_view_fov_set (p. 148) in the PCL Reference Manual Examples.
200 PCL Reference Manual
Viewing Menu

ga_view_from_get (name_of_view, position)

Description:
This function will get the position of the observer.
Input:
STRING name_of_view[31] This value specifies the name of the view from which
the position of the observer will be obtained. If this
value is set to nothing or ““, the current view will be
used.
Output:
REAL position(3) This value returns the location of the position of the
observer. The offsets of the array (1, 2, 3) correspond
to the axes of the global model coordinate system (x,
y, z).
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.

Remarks:
None
Example:
Please see ga_view_from_get (p. 149) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 201
Viewing Menu

ga_view_from_set (position)

Description:
This function will set the position of the observer in the current view.
Input:
REAL point(3) This value specifies the position of the observer. The
offsets of the array (1, 2, 3) correspond to the axes of
the global model coordinate system (x, y, z).
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
This function is identical to ga_view_to_set, 217.
Example:
Please see ga_view_from_set (p. 150) in the PCL Reference Manual Examples.
202 PCL Reference Manual
Viewing Menu

ga_view_front_get (name_of_view, distance)

Description:
The function will get the distance from the center of the named view to the front clipping plane along
the z axis of the global model coordinate system.
Input:
STRING name_of_view[31] This value specifies the name of the view from which
the distance of the front clipping plane will be
obtained. If this value is set to nothing or ““, the
current view will be used.
Output:
REAL distance This value returns the distance from the center of the
named view to the front clipping plane. The output
value distance will always be greater than the
distance to the back clipping plane.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.

Remarks:
None
Example:
Please see ga_view_front_get (p. 151) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 203
Viewing Menu

ga_view_front_set (distance)

Description:
This function will set the distance from the center of the named view to the front clipping plane along
the z axis of the global model coordinate system.
Input:
REAL distance This value specifies the distance from the center of
the named view to the front clipping plane. This
value must always be greater than the distance to the
back clipping plane.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None
Example:
Please see ga_view_front_set (p. 152) in the PCL Reference Manual Examples.
204 PCL Reference Manual
Viewing Menu

ga_view_model_scale_get (name_of_view, scale_x, scale_y,


scale_z)

Description:
This function gets the model scale factors for each of the axes in the global model coordinate system
of the named view.
Input:
STRING name_of_view[31] This value specifies the name of the view from which
the model scale factors will be obtained. If this value is
set to nothing or ““, the current view will be used.
Output:
REAL scale_x This value returns the scale factor for the x axis.
REAL scale_y This value returns the scale factor for the y axis.
REAL scale_z This value returns the scale factor for the z axis.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.

Remarks:
None
Example:
Please see ga_view_model_scale_get (p. 153) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 205
Viewing Menu

ga_view_model_scale_set (scale_x, scale_y, scale_z)

Description:
This function sets the model scale factors for each of the axes in the global model coordinate system
of the current view.
Input:
REAL scale_x This value specifies the scale factor for the x axis.
REAL scale_y This value specifies the scale factor for the y axis.
REAL scale_z This value specifies the scale factor for the z axis.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None
Example:
Please see ga_view_model_scale_set (p. 154) in the PCL Reference Manual Examples.
206 PCL Reference Manual
Viewing Menu

ga_view_nviews_get (number_of_views)

Description:
This function gets the number of views.
Input:
None.
Output:
INTEGER number_of_views This value returns the number of views.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000098 A fatal error has occurred in the database. Database is corrupted.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000085 Cursor not open

Remarks:
None
Example:
Please see ga_view_nviews_get (p. 155) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 207
Viewing Menu

ga_view_perspective_get (name_of_view, perspective_status)

Description:
This function gets the on/off status of the perspective for the name view.
Input:
STRING name_of_view[31] This value specifies the name of the view from which
the perspective status will be obtained. If this value is
set to nothing or ““, the current view will be used.
Output:
LOGICAL perspective_status This value returns the status of the perspective. It will
either be set to on (TRUE), or off (FALSE).
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.

Remarks:
None
Example:
Please see ga_view_perspective_get (p. 156) in the PCL Reference Manual Examples.
208 PCL Reference Manual
Viewing Menu

ga_view_perspective_set (perspective_status)

Description:
This function sets the on/off status of the perspective for the current view.
Input:
LOGICAL perspective_status This value specifies the status of the perspective to
be either TRUE for on, or FALSE for off.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None
Example:
Please see ga_view_perspective_set (p. 157) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 209
Viewing Menu

ga_view_plane_set (point_1, point_2, point_3)

Description:
This function set a plane defined by three input points in the global model coordinate system as the
current view plane in the current view.
Input:
REAL point_1(3) This value specifies the first point defining a plane.
REAL point_2(3) This value specifies the second point defining a
plane.
REAL point_3(3) This value specifies the third point defining a plane.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
The offsets of the input point arrays (1, 2, 3) correspond to the axes of the global model coordinate system
(x, y, z).
Example:
Please see ga_view_plane_set (p. 159) in the PCL Reference Manual Examples.
210 PCL Reference Manual
Viewing Menu

ga_view_rename (original_name, new_name)

Description:
This function renames a view.
Input:
STRING original_name[31] This value specifies the original name of the view. If
this value is set to nothing or ““, the current view will
be used.
STRING new_name[31] This value specifies a new name to be assigned to the
view.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000153 The specified Named View already exists.
13000007 An unspecified database error occurred

Remarks:
If the new name already exists, the name of the view will not be changed.
Example:
Please see ga_view_rename (p. 160) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 211
Viewing Menu

ga_view_sa_get (name_of_view, angle_x, angle_y, angle_z)

Description:
This function gets the absolute x, y, and z angles of rotation around the axes of the global screen
coordinate system of the specified view.
Input:
STRING name_of_view[31] This value specifies the name of the view from which
the absolute angles will be obtained. If this value is
set to nothing or ““, the current view will be used.
Output:
REAL angle_x This value returns the rotation about the x axis.
REAL angle_y This value returns the rotation about the y axis.
REAL angle_z This value returns the rotation about the z axis.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.

Remarks:
None
Example:
Please see ga_view_sa_get (p. 161) in the PCL Reference Manual Examples.
212 PCL Reference Manual
Viewing Menu

ga_view_sa_set (angle_x, angle_y, angle_z)

Description:
This function sets the absolute x, y, and z angles of rotation around the axes of the global screen
coordinate system for the current view.
Input:
REAL angle_x This value specifies the angle of rotation for the x axis.
REAL angle_y This value specifies the angle of rotation for the y axis.
REAL angle_z This value specifies the angle of rotation for the z axis.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.
13000014 Viewport not found

Remarks:
None
Example:
Please see ga_view_sa_set (p. 162) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 213
Viewing Menu

ga_view_screen_scale_get (name_of_view, scale_x, scale_y)

Description:
This function gets the model scale factors for each of the axes in the global screen coordinate system
of the named view.
Input:
STRING name_of_view[31] This value specifies the name of the view from which
the screen scale factors will be obtained. If this value is
set to nothing or ““, the current view will be used.
Output:
REAL scale_x This value returns the scale factor for the x axis.
REAL scale_y This value returns the scale factor for the y axis.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.

Remarks:
None
Example:
Please see ga_view_screen_scale_get (p. 163) in the PCL Reference Manual Examples.
214 PCL Reference Manual
Viewing Menu

ga_view_screen_scale_set (scale_x, scale_y)

Description:
This function sets the screen scale factors for each of the axes in the global screen coordinate system
of the current view.
Input:
REAL scale_x This value specifies the scale factor for the x axis.
REAL scale_y This value specifies the scale factor for the y axis.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None
Example:
Please see ga_view_screen_scale_set (p. 164) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 215
Viewing Menu

ga_view_sr_set (angle_x, angle_y, angle_z)

Description:
This function sets the relative x, y, and z angles of rotation around the axes of the global screen
coordinate system for the current view.
Input:
REAL angle_x This value specifies the angle of rotation for the x axis.
REAL angle_y This value specifies the angle of rotation for the y axis.
REAL angle_z This value specifies the angle of rotation for the z axis.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000096 A current viewport has not been defined.
11000132 There is no current view.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None
Example:
Please see ga_view_sr_set (p. 165) in the PCL Reference Manual Examples.
216 PCL Reference Manual
Viewing Menu

ga_view_to_get (name_of_view, center_point)

Description:
This function returns the center point of the named view.
Input:
STRING name_of_view[31] This value specifies the name of the view from
which the center point will be obtained. If this value
is set to nothing or ““, the current view will be used.
Output:
REAL center_point(3) This value returns the location of the center point of
the view. The offsets of the array (1, 2, 3) correspond
to the axes of the global model coordinate system (x,
y, z).
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000132 There is no current view.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.

Remarks:
None
Example:
Please see ga_view_to_get (p. 167) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 217
Viewing Menu

ga_view_to_set (point)

Description:
This function will set the position of the observer in the current view.
Input:
REAL point(3) This value sets the position of the observer. The
offsets of the array (1, 2, 3) correspond to the axes of
the global model coordinate system (x, y, z).
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
This function is identical to the function ga_view_from_set.
Example:
Please see ga_view_to_set (p. 168) in the PCL Reference Manual Examples.
218 PCL Reference Manual
Viewing Menu

ga_view_up_get (name_of_view, direction_vector)

Description:
This function returns a point that is on a vector normal to the view plane of the named view that defines
the up direction of the view.
Input:
STRING name_of_view[31] This value specifies the name of the view from which
the direction vector will be obtained. If this value is set
to nothing or ““, the current view will be used.
Output:
REAL direction_vector(3) This value returns the location of a point on a vector
normal to the view plane defining the up direction of
the view. The offsets of the array (1, 2, 3) correspond
to the axes of the global model coordinate system (x, y,
z).
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.

Remarks:
None
Example:
Please see ga_view_up_get (p. 169) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 219
Viewing Menu

ga_view_up_set (direction_vector)

Description:
This function defines the up direction in a view by setting a point that is on a vector normal to the
view plane of the current view.
Input:
REAL direction_vector(3) This value specifies the location of a point on a
vector normal to the view plane defining the up
direction of the view. The offsets of the array (1, 2,
3) correspond to the axes of the global model
coordinate system (x, y, z).
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000013 View not found

Remarks:
None
Example:
Please see ga_view_up_set (p. 170) in the PCL Reference Manual Examples.
220 PCL Reference Manual
Viewing Menu

ga_view_views_get (view_list)

Description:
This function gets a list of all of the named views.
Input:
None.
Output:
STRING view_list[31]() This value returns a list of all of the view. The number
of offsets allocated for this array should match the
number of viewports. See the remarks below for more
information.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000098 A fatal error has occurred in the database. Database is corrupted.
13000085 Cursor not open

Remarks:
The number of viewports can be found through a call to the function ga_viewport_view_get.
Example:
Please see ga_view_views_get (p. 171) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 221
Viewing Menu

ga_view_zoom_get (name_of_view, zoom_factor)

Description:
This function will get the zoom factor for the named view.
Input:
STRING name_of_view[31] This value specifies the name of the view from
which the zoom factor will be obtained. If this value
is set to nothing or ““, the current view will be used.
Output:
REAL zoom_factor This value returns the zoom factor for the named
view.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000058 The view name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.

Remarks:
None
Example:
Please see ga_view_zoom_get (p. 172) in the PCL Reference Manual Examples.
222 PCL Reference Manual
Viewing Menu

ga_view_zoom_set (zoom_factor)

Description:
This function will set the current zoom factor for the current view.
Input:
REAL zoom_factor This value specifies the new zoom factor to which
the current view will be set. The zoom factor value
must be between 1e-32 and 1e+32 or otherwise
function will return an error.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000103 The specified view was not found in the data base.
11000132 There is no current view.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None.
Example:
Please see ga_view_zoom_set (p. 173) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 223
Viewport Menu

Viewport Menu
This section is used to describe functions that are used to create, delete, modify and retrieve the settings
of named viewports.
A viewport is a named graphics window in which portions of a model’s geometry, finite elements, and
analysis results are displayed. The data that defines a viewport is stored in the database. The viewport
will display several pieces of information in its title bar: the name of the model database, the viewport
name, the current group name, and the display method. The following functions can be used to change,
create, and delete viewports and many of the attributes associated with them.
Each of these functions modify and/or retrieve information from the database. The act of posting a
viewport or an attribute of a viewport will set that viewport or attribute as being selected for display and
will cause the display to be updated as needed.

ga_viewport_axis_get (viewport_name, axis_display)

Description:
This function will return a value from the database indicating if a coordinate axis should be displayed
in a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport.
Output:
INTEGER axis_display This value returns the status of the coordinate axis
display in the viewport. It will be set to TRUE or 1
if the coordinate axis should be displayed and
FALSE or 0 if it should not.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
13000004 GaErrDuplicate entry exists in table
13000007 An unspecified database error occurred
13000014 Viewport not found
224 PCL Reference Manual
Viewport Menu

Remarks:
If the input value viewport_name is set to nothing or “”, the current viewport is used.
Example:
Please see ga_viewport_axis_get (p. 81) in the PCL Reference Manual Examples.

ga_viewport_axis_set (viewport_name, axis_display)

Description:
This function will set a value in the database used to indicate if a coordinate axis display should be
shown in the viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport.
INTEGER axis_display This value should be set to TRUE or 1 if the coordinate
axis should be displayed and FALSE or 0 if it should
not.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
13000004 GaErrDuplicate entry exists in table
13000007 An unspecified database error occurred
13000014 Viewport not found

Remarks:
If the input value viewport_name is set to nothing or “”, the current viewport is used.
Example:
Please see ga_viewport_axis_set (p. 82) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 225
Viewport Menu

ga_viewport_background_get (viewport_name, background_color)

Description:
This function will get the background color of a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport.
Output:
INTEGER background_color This value returns the background color for the viewport.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
13000004 GaErrDuplicate entry exists in table
13000007 An unspecified database error occurred
13000014 Viewport not found

Remarks:
If the input value viewport_name is set to nothing or “”, the current viewport is used.
Example:
Please see ga_viewport_background_get (p. 83) in the PCL Reference Manual Examples.
226 PCL Reference Manual
Viewport Menu

ga_viewport_background_set (viewport_name, background_color)

Description:
This function will set and post the background color of a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport.
INTEGER background_color This value specifies the background color for the
viewport.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
13000004 GaErrDuplicate entry exists in table
13000007 An unspecified database error occurred
13000014 Viewport not found

Remarks:
If the input value viewport_name is set to nothing or “”, the current viewport is used.
Example:
Please see ga_viewport_background_set (p. 84) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 227
Viewport Menu

ga_viewport_create (viewport_name, x_location,


y_location, width, height)

Description:
This function will create, set the active group to the current group, make current, and post a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport.
REAL x_location This value specifies the X axis location of the
upper left corner of the viewport relative to the
upper left corner of the screen.
REAL y_location This value specifies the Y axis location of the
upper left corner of the viewport relative to the
upper left corner of the screen.
REAL width This value specifies the width of the viewport.
REAL height This value specifies the height of the viewport.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000006 A viewport with the given name is already in the database.
11000007 The viewport name is invalid.
11000008 The location of the viewport is out of range
11000009 The size of the viewport is out of range
11000097 There is not enough disk space to complete operation.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000013 View not found

Remarks:
An input value viewport_name value of nothing or “” is not allowed and will return an error.
The input values x_location, y_location, width, and height must all be positive.
228 PCL Reference Manual
Viewport Menu

Example:
Please see ga_viewport_create (p. 85) in the PCL Reference Manual Examples.

ga_viewport_current_get (viewport_name)

Description:
This function will get the name of the current viewport.
Input:
None.
Output:
STRING viewport_name[31] This value returns the name of the current viewport.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000014 Viewport not found

Remarks:
None.
Example:
Please see ga_viewport_current_get (p. 87) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 229
Viewport Menu

ga_viewport_current_set (viewport_name)

Description:
This function will set the name of the current viewport.
Input:
STRING viewport_name[31] This value specifies the name of the current
viewport.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None.
Example:
Please see ga_viewport_current_set (p. 88) in the PCL Reference Manual Examples.
230 PCL Reference Manual
Viewport Menu

ga_viewport_delete (viewport_name)

Description:
This function deletes the named viewport.
Input:
STRING viewport_name[31] This value specify the name of the viewport to be
deleted.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000095 The specified operation cannot be performed on the current viewport.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None.
Example:
Please see ga_viewport_delete (p. 89) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 231
Viewport Menu

ga_viewport_exist_get (viewport_name, existance_flag)

Description:
This function can be used to find out if a viewport with a specified name exists.
Input:
STRING viewport_name[31] This value specifies the name of the viewport to be
checked for existence.
Output:
INTEGER existance_flag This value returns TRUE or 1 if the named viewport
exists, and FALSE or 0 if it does not.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000095 The specified operation cannot be performed on the current viewport.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None.
Example:
Please see ga_viewport_exist_get (p. 90) in the PCL Reference Manual Examples.
232 PCL Reference Manual
Viewport Menu

ga_viewport_group_post (viewport_name, group_name)

Description:
This function posts a group to a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport to
which the group will be posted. If this value is set to
nothing or ““, the current viewport will be used.
STRING group_name[31] This value specifies the name of the group to be
posted. If this value is set to nothing or ““, the current
viewport will be used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000050 The group name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000121 There is not a current group defined.
11000122 The group has already been posted to the viewport.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000008 Group not found
13000014 Viewport not found

Remarks:
None.
Example:
Please see ga_viewport_group_post (p. 91) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 233
Viewport Menu

ga_viewport_group_post_all (viewport_name)

Description:
This function posts all defined groups to a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport to
which the group will be posted. If this value is set to
nothing or ““, the current viewport will be used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
11000105 The specified group was not found in the database.
11000122 The group has already been posted to the viewport.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000008 Group not found

Remarks:
None.
Example:
Please see ga_viewport_group_post_all (p. 92) in the PCL Reference Manual Examples.
234 PCL Reference Manual
Viewport Menu

ga_viewport_group_unpost (viewport_name, group_name)

Description:
This function unposts a group from a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport to
which the group will be posted. If this value is set to
nothing or ““, the current viewport will be used.
STRING group_name[31] This value specifies the name of the group to be
unposted. If this value is set to nothing or ““, the
current viewport will be used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000050 The group name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
11000105 The specified group was not found in the database.
11000121 There is not a current group defined.
11000122 The group has already been posted to the viewport.
11000124 Group cannot be unposted from viewport not posted to.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000008 Group not found
13000014 Viewport not found

Remarks:
None.
Example:
Please see ga_viewport_group_unpost (p. 93) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 235
Viewport Menu

ga_viewport_group_unpost_all (viewport_name)

Description:
This function will unpost all posted groups from a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport to
which the group will be unposted. If this value is set
to nothing or ““, the current viewport will be used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000100 The specified viewport was not found in the database.
11000105 The specified group was not found in the database.
11000125 The viewport has no groups posted to it.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000008 Group not found

Remarks:
None.
Example:
Please see ga_viewport_group_unpost_all (p. 94) in the PCL Reference Manual Examples.
236 PCL Reference Manual
Viewport Menu

ga_viewport_groups_get (viewport_name, group_list)

Description:
This function gets the groups posted to a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport from
which the group list will be made. If this value is set
to nothing or ““, the current viewport will be used.
Output:
STRING group_list[31]() This value returns a list of group names posted to the
viewport. The number of offsets allocated for this
array should match the number of groups posted to
this viewport. See the remarks below for more
information.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
11000114 There are no groups posted to the viewport.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000008 Group not found
13000085 Cursor not open

Remarks:
The number of groups posted to this viewport can be obtained through a call to the function
ga_viewport_ngroups_get.

Example:
Please see ga_viewport_groups_get (p. 95) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 237
Viewport Menu

ga_viewport_light_post (viewport_name, light)

Description:
This function posts a light source to a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport to
which the light source will be posted. If this value is
set to nothing or ““, the current viewport will be
used.
STRING light[31] This value specifies the name of a light source.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000036 A light source with the given name is already in the database.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000104 The specified light source was not found in the database.
13000010 Light source not found
13000014 Viewport not found

Remarks:
Currently, this function does nothing.
Example:
Please see ga_viewport_light_post (p. 95) in the PCL Reference Manual Examples.
238 PCL Reference Manual
Viewport Menu

ga_viewport_light_unpost (name, light)

Description:
This function unposts a light source from a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport to
which the light source will be unposted. If this value
is set to nothing or ““, the current viewport will be
used.
STRING light[31] This value specifies the name of a light source.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000036 A light source with the given name is already in the database.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000104 The specified light source was not found in the database.
13000010 Light source not found
13000014 Viewport not found

Remarks:
Currently, this function does nothing.
Example:
Please see ga_viewport_light_unpost (p. 97) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 239
Viewport Menu

ga_viewport_lights_get (viewport_name, light_list)

Description:
This function gets a list of light source names posted to a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport from
which the list of light sources will be made. If this
value is set to nothing or ““, the current viewport will
be used.
Output:
STRING light_list[31]() This value returns a list of light source names posted
to the viewport. The number of offsets allocated for
this array should match the number of light sources
posted to this viewport. See the remarks below for
more information.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
11000113 There are no light sources posted to the viewport.
13000014 Viewport not found

Remarks:
The number of light source names currently posted to a viewport can be found through a call to the
function ga_viewport_nlights_get.
Currently, this function does nothing to the contents of the input value light_list.
Example:
Please see ga_viewport_lights_get (p. 98) in the PCL Reference Manual Examples.
240 PCL Reference Manual
Viewport Menu

ga_viewport_location_get (viewport_name, x, y)

Description:
This function gets the viewport location relative to the upper left corner of the parent graphics window.
Input:
STRING viewport_name[31] This value specifies the name of the viewport from
which the location will be retrieved. If this value is
set to nothing or ““, the current viewport will be
used.
Output:
REAL x This value returns the viewport X position.
REAL y This value returns the viewport Y position.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
13000014 Viewport not found

Remarks:
None.
Example:
Please see ga_viewport_location_get (p. 99) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 241
Viewport Menu

ga_viewport_location_set (viewport_name, x, y, update_control)

Description:
This function sets and optionally posts the viewport location relative to the upper left corner of the
parent graphics window.
Input:
STRING viewport_name[31] This value specifies the name of the viewport that
will have its location set. If this value is set to
nothing or ““, the current viewport will be used.
REAL x This value specifies the viewport X position and it
must be a positive number.
REAL y This value specifies the viewport Y position and it
must be a positive number.
INTEGER update_control This value specifies the method used to update or
post the display with the new location information.
When this value is set to 1 or TRUE, the viewport
will be updated immediately. If the this value is set
to 0 or FALSE, updating the viewport will be
deferred until another graphics manager event takes
place. It is recommended that this value always be
set to 1 or TRUE.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000008 The location of the viewport is out of range
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.

Remarks:
None.
Example:
Please see ga_viewport_location_set (p. 100) in the PCL Reference Manual Examples.
242 PCL Reference Manual
Viewport Menu

ga_viewport_ngroups_get (viewport_name, number_of_groups)

Description:
This function will get the number of groups posted to a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport from
which the number of groups assigned to the viewport
will be obtained. If this value is set to nothing or ““,
the current viewport will be used.
Output:
INTEGER number_of_groups This value returns the number of groups assigned to
a viewport.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000100 The specified viewport was not found in the database.
11000098 A fatal error has occurred in the database. Database is corrupted.

Remarks:
None.
Example:
Please see ga_viewport_ngroups_get (p. 102) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 243
Viewport Menu

ga_viewport_nlights_get (viewport_name, number_of_lights)

Description:
This function will get the number of lights posted to a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport from
which the number of light sources assigned to the
viewport will be obtained. If this value is set to
nothing or ““, the current viewport will be used.
Output:
INTEGER number_of_lights This value returns the number of light sources
assigned to a viewport.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.

Remarks:
Currently, this function does nothing and will not modify the initial value of the output value
number_of_lights.
Example:
Please see ga_viewport_nlights_get (p. 102) in the PCL Reference Manual Examples
244 PCL Reference Manual
Viewport Menu

ga_viewport_nposted_get (number_of_viewports)

Description:
This function will get the number of viewports that have been marked as posted.
Input:
None.
Output:
INTEGER number_of_viewports This value returns the number of posted viewports.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000098 A fatal error has occurred in the database. Database is corrupted.

Remarks:
None.
Example:
Please see ga_viewport_nposted_get (p. 104) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 245
Viewport Menu

ga_viewport_nviewports_get (number_of_viewports)

Description:
This function will get the number of viewports that have been defined in the database.
Input:
None.
Output:
INTEGER number_of_viewports This value returns the number of viewports.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000098 A fatal error has occurred in the database. Database is corrupted.

Remarks:
None.
Example:
Please see ga_viewport_nviewports_get (p. 105) in the PCL Reference Manual Examples.
246 PCL Reference Manual
Viewport Menu

ga_viewport_origin_get (viewport_name, origin_status)

Description:
This function will get the status of a value used to state if a symbol should be displayed at the origin of
the global coordinate system for a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport that
will be checked for the state of the origin symbol. If
this value is set to nothing or ““, the current viewport
will be used.
Output:
INTEGER origin_status This value returns the status value used to indicate if
a coordinate system origin symbol should be
displayed. This value will be set to 1 or TRUE if the
coordinate system origin should be displayed, 0 or
FALSE if it should not be displayed.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
13000014 Viewport not found

Remarks:
None.
Example:
Please see ga_viewport_origin_get (p. 106) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 247
Viewport Menu

ga_viewport_origin_set (viewport_name, origin_status)

Description:
This function will set and post the status of a value used to state if a symbol should be displayed at the
origin of the global coordinate system for a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport that
will have its coordinate system origin state set. If this
value is set to nothing or ““, the current viewport will
be used.
INTEGER origin_status This value specifies the status value used to indicate
if a coordinate system origin symbol should be
displayed. This value should be set to either 1 or
TRUE if the coordinate system origin should be
displayed, or 0 or FALSE if it should not.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
13000014 Viewport not found

Remarks:
None.
Example:
Please see ga_viewport_origin_set (p. 107) in the PCL Reference Manual Examples.
248 PCL Reference Manual
Viewport Menu

ga_viewport_post (viewport_name)

Description:
This function will post a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport that
will have its coordinate system origin state set. If this
value is set to nothing or ““, the current viewport will
be used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
13000014 Viewport not found

Remarks:
None.
Example:
Please see ga_viewport_post (p. 108) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 249
Viewport Menu

ga_viewport_posted_get (viewport_list)

Description:
This function will get a list of all of the posted viewports.
Input:
None.
Output:
STRING viewport_list[31]() This value returns a list of all of the posted
viewports. The number of offsets allocated for this
array should match the number of posted viewports.
See the remarks below for more information.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.

Remarks:
The number of posted viewports can be found through a call to the function ga_viewport_nposted_get.
Example:
Please see ga_viewport_posted_get (p. 109) in the PCL Reference Manual Examples.
250 PCL Reference Manual
Viewport Menu

ga_viewport_range_get (viewport_name, range)

Description:
This function will get the name of the range of numeric values used in conjunction with spectrums for
displaying results posted to a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport from
which the range assigned to the viewport will be
obtained. If this value is set to nothing or ““, the
current viewport will be used.
Output:
STRING range[31] This value returns the name of the range posted to
the specified viewport.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.

Remarks:
None.
Example:
Please see ga_viewport_range_get (p. 110) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 251
Viewport Menu

ga_viewport_range_set (viewport_name, range)

Description:
This function will set and post the name of the range of numeric values used in conjunction with
spectrums for displaying results to a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport from
which the range assigned to the viewport will be
obtained. If this value is set to nothing or ““, the
current viewport will be used.
STRING range[31] This value specifies the name of the range that will
be set and posted to the viewport. If this value is set
to nothing or ““, the current range will be used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.

Remarks:
None.
Example:
Please see ga_viewport_range_set (p. 111) in the PCL Reference Manual Examples.
252 PCL Reference Manual
Viewport Menu

ga_viewport_rename (original_name, new_name)

Description:
This function will rename a viewport.
Input:
STRING original_name[31] This value specifies the original name of the
viewport. Setting this value to nothing or ““to
identify the current viewport does not work here and
will generate an error.
STRING new_name[31] This value specifies the new viewport name.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.

Remarks:
None.
Example:
Please see ga_viewport_rename (p. 112) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 253
Viewport Menu

ga_viewport_size_get (viewport_name, width, height)

Description:
This function gets the width and height of a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport from
which the height and width will be obtained. If this
value is set to nothing or ““, the current viewport will
be used.
Output:
REAL width This value returns the viewport width.
REAL height This value returns the viewport height.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.

Remarks:
None.
Example:
Please see ga_viewport_size_get (p. 113) in the PCL Reference Manual Examples.
254 PCL Reference Manual
Viewport Menu

ga_viewport_size_set (viewport_name, width, height,


update_control)

Description:
This function sets the width and height of a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport from
which the height and width will be obtained. If this
value is set to nothing or ““, the current viewport will
be used.
REAL width This value specifies the width of the viewport and
must be greater than or equal to 1.0.
REAL height This value specifies the height of the viewport and
must be greater than or equal to 1.0.
INTEGER update_control This value specifies the method used to update or
post the display with the new size information.
When this value is set to 1 or TRUE, the viewport
will be updated immediately. If the this value is set
to 0 or FALSE, updating the viewport will be
deferred until another graphics manager event takes
place. It is recommended that this value always be
set to 1 or TRUE.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000009 The size of the viewport is out of range.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.

Remarks:
None.
Example:
Please see ga_viewport_size_set (p. 114) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 255
Viewport Menu

ga_viewport_spectrum_get (viewport_name, spectrum_status)

Description:
This function gets the current value of an integer intended to be used to record the posting status of the
current spectrum for a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport from
which the posting status of the current spectrum will
be obtained. If this value is set to nothing or ““, the
current viewport will be used.
Output:
INTEGER spectrum_status This value returns the status of the integer intended
for use in recording the posting status of the current
spectrum to a viewport.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.

Remarks:
None.
Example:
Please see ga_viewport_spectrum_get (p. 116) in the PCL Reference Manual Examples.
256 PCL Reference Manual
Viewport Menu

ga_viewport_spectrum_set (viewport_name, spectrum_status)

Description:
This function is used to set the value of an integer intended to be used to record the posting status of
the current spectrum for a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport to
which the posting status of the current spectrum will
be set. If this value is set to nothing or ““, the current
viewport will be used.
INTEGER spectrum_status This value specifies the status of the integer intended
for use in recording the posting status of the current
spectrum to a viewport.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.

Remarks:
None.
Example:
Please see ga_viewport_spectrum_set (p. 117) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 257
Viewport Menu

ga_viewport_title_post (viewport_name, title)

Description:
This function will post a title to a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport from
which the title will be posted. If this value is set to
nothing or ““, the current viewport will be used.
STRING title[256] This value specifies the title that will be posted to the
viewport.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
13000004 Duplicate entry exists in table
13000014 Viewport not found
13000135 The specified VP title was not found.

Remarks:
None.
Example:
Please see ga_viewport_title_post (p. 118) in the PCL Reference Manual Examples.
258 PCL Reference Manual
Viewport Menu

ga_viewport_title_unpost (viewport_name, title)

Description:
This function will unpost a title from a viewport and delete the title from the database.
Input:
STRING viewport_name[31] This value specifies the name of the viewport from
which the title will be unposted. If this value is set to
nothing or ““, the current viewport will be used.
STRING title[256] This value specifies the title that will be unposted
from the viewport.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
13000014 Viewport not found
13000135 The specified VP title was not found.

Remarks:
None.
Example:
Please see ga_viewport_title_unpost (p. 119) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 259
Viewport Menu

ga_viewport_unpost (viewport_name)

Description:
This function will unpost a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport that
will be marked as unposted. If this value is set to
nothing or ““, the current viewport will be used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.

Remarks:
None.
Example:
Please see ga_viewport_unpost (p. 121) in the PCL Reference Manual Examples.
260 PCL Reference Manual
Viewport Menu

ga_viewport_view_get (name_of_view, viewport_name)

Description:
This function will assign a view name to the current view parameters of a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport from
which the current view parameters will be obtained.
If this value is set to nothing or ““, the current
viewport will be used.
STRING name_of_view[31] This value specifies the name of the view to which
the current view parameters of the viewport will be
assigned.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000058 The view name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
11000103 The specified view was not found in the data base.

Remarks:
This function is a little different as it is named in a manner that suggests that it should return information
retrieved from the database in an output argument. Instead of returning information in an output
argument, this function retrieves information about a viewport from the database and then assigns a view
name to that information in the database.
See the listing for this function in Broken, Obsolete, Modified and New Functions for further information.
Example:
Please see ga_viewport_view_get (p. 122) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 261
Viewport Menu

ga_viewport_view_name (viewport_name, name_of_view)

Description:
This function will get the name of the view of a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport from
which the name of the view will be obtained. If this
value is set to nothing or ““, the current viewport will
be used.
Output:
STRING name_of_view[31] This value returns the name of the view for the
specified viewport.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
11000116 No view has been assigned to the viewport.

Remarks:
See the listing for this function in Broken, Obsolete, Modified and New Functions for further information.
Example:
Please see ga_viewport_view_name (p. 123) in the PCL Reference Manual Examples.
262 PCL Reference Manual
Viewport Menu

ga_viewport_view_set (name_of_view, viewport_name)

Description:
This function will post a view to a viewport.
Input:
STRING viewport_name[31] This value specifies the name of the viewport to
which the view will be posted. If this value is set to
nothing or ““, the current viewport will be used.
STRING name_of_view[31] This value specifies the name of the view that will be
posted to the viewport. If this value is set to nothing
or ““, the current view will be used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000007 The viewport name is invalid.
11000058 The view name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000100 The specified viewport was not found in the database.
11000103 The specified view was not found in the data base.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000013 View not found

Remarks:
None.
Example:
Please see ga_viewport_view_set (p. 124) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 263
Viewport Menu

ga_viewport_viewports_get (viewport_list)

Description:
This function gets a list of all of the viewports, including viewports that have not been posted.
Input:
None.
Output:
STRING viewport_list[31]() This value returns a list of all of the viewports. The
number of offsets allocated for this array should
match the number of viewports. See the remarks
below for more information.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000098 A fatal error has occurred in the database. Database is corrupted.

Remarks:
The number of viewports can be found through a call to the function ga_viewport_nviewports_get.
Example:
Please see ga_viewport_viewports_get (p. 125) in the PCL Reference Manual Examples.
264 PCL Reference Manual
Viewport Menu
Chapter 2: Basic Functions 261
Display Menu

PCL Reference Manual

Display Menu
Chapter 2: Basic Functions

This section is used to describe functions that are used to control the values stored in the database that
govern what and how geometric and finite element model entities are displayed in a viewport.

ga_display_autosubdivconst_get (display_name, tolerance)

Description:
This function gets the subdivision tolerance value used in conjunction with setting the ranges for
spectrums used to display results.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
REAL tolerance This value returns the range subdivision tolerance
value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000016 Display not found

Remarks:

None.
Example:

Please see ga_display_autosubdivconst_get (p. 175) in the PCL Reference Manual Examples.
262 PCL Reference Manual
Display Menu

ga_display_autosubdivconst_set (display_name, tolerance)

Description:
This function sets the subdivision tolerance value used in conjunction with setting the ranges for
spectrums used to display results.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
REAL tolerance This value specifies the range subdivision tolerance
value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_autosubdivconst_set (p. 176) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 263
Display Menu

ga_display_autosubdivide_get (display_name, autosubdivide_status)

Description:
This function gets the status of the autosubdivide flag used in storing the value of a setting for the range
used with spectrums used to display results.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER autosubdivide_status This value returns the autosubdivide and can be any
value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_autosubdivide_get (p. 178) in the PCL Reference Manual Examples.
264 PCL Reference Manual
Display Menu

ga_display_autosubdivide_set (display_name, autosubdivide_status)

Description:
This function sets the status of the autosubdivide flag used in storing the value of a setting for the range
used with spectrums to display results.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER autosubdivide_status This value specifies the autosubdivide status and can
be set to any value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_autosubdivide_set (p. 179) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 265
Display Menu

ga_display_backfacing_get (display_name, backface_status)

Description:
This function gets the status of the value used to control the display of back facing polygons.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER backface_status This value returns the status for the display of back
facing polygons. This argument may be set to any
value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_backfacing_get (p. 180) in the PCL Reference Manual Examples.
266 PCL Reference Manual
Display Menu

ga_display_backfacing_set (display_name, backface_status)

Description:
This function sets the value used to control the display of back facing polygons.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER backface_status This value specifies the status for the display of back
facing polygons. It can be set to any value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_backfacing_set (p. 182) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 267
Display Menu

ga_display_bumpmap_get (display_name, bump_map_id,


bump_map_number)

Description:
This function gets the bump map parameters for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER bump_map_id This value returns the bump map ID.
INTEGER bump_map_number This value returns the number of bump maps per
surface.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_bumpmap_get (p. 183) in the PCL Reference Manual Examples.
268 PCL Reference Manual
Display Menu

ga_display_bumpmap_set (display_name, bump_map_id,


bump_map_number)

Description:
This function sets the bump map parameters for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER bump_map_id This value specifies the ID number identifying a
specific bump map.
INTEGER bump_map_number This value specifies the number of bump maps per
surface.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_bumpmap_set (p. 184) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 269
Display Menu

ga_display_contour_lblspcng_get (display_name, label_spacing)

Description:
This function gets the label spacing for contour plots from the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER label_spacing This value returns the label spacing for contour
plots. This value will always be greater than zero.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_contour_lblspcng_get (p. 186) in the PCL Reference Manual Examples.
270 PCL Reference Manual
Display Menu

ga_display_contour_lblspcng_set (display_name, label_spacing)

Description:
This function sets the label spacing for contour plots for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER label_spacing This value specifies the label spacing for contour
plots. This value must be greater than zero or an error
condition will be returned.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000091 The specified contour label spacing is not valid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_contour_lblspcng_set (p. 187) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 271
Display Menu

ga_display_create (display_name)

Description:
This function will create a named display property list using display property list assigned the current
group for its default values.
Input:
STRING display_name[31] This value specifies the name of the display property list
to be created.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000041 A display property list with the given name is already in the database.
11000042 The display property list is invalid.
11000097 There is not enough disk space to complete operation.
11000098 A fatal error has occurred in the database. Database is corrupted.
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_create (p. 188) in the PCL Reference Manual Examples.
272 PCL Reference Manual
Display Menu

ga_display_deform_scale_get (display_name, deformation_scale)

Description:
This function gets the deformation scale for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
REAL deformation_scale This value returns the deformation scale value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_deform_scale_get (p. 189) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 273
Display Menu

ga_display_deform_scale_set (display_name, deformation_scale)

Description:
This function sets the deformation scale for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
REAL deformation_scale This value specifies the deformation scale for the
named display property list.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_deform_scale_set (p. 191) in the PCL Reference Manual Examples.
274 PCL Reference Manual
Display Menu

ga_display_deform_scalintrp_get (display_name, interpretation)

Description:
This function gets the interpretation of the deformation scale for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
STRING interpretation[31] This value returns the deformation scale interpretation
string which can have a value of either “VALUE”, or
“PERCENTAGE”.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_deform_scalintrp_get (p. 192) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 275
Display Menu

ga_display_deform_scalintrp_set (display_name, interpretation)

Description:
This function will set the interpretation value for the deformed entity scale for the named display
property list.
Input:
STRING display_name[31] This value specifies the name of the display property list
to which the requested data value will be set.
STRING interpretation[31] This value specifies the interpretation value. This string
can have either be set to “VALUE” or “PERCENTAGE”.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000093 The specified deform scale interpretation is not valid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_deform_scalintrp_set (p. 193) in the PCL Reference Manual Examples.
276 PCL Reference Manual
Display Menu

ga_display_delete (display_name)

Description:
This function will delete the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
11000141 The Display Property is in use by the model or is assigned to a group.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_delete (p. 194) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 277
Display Menu

ga_display_diffuse_get (display_name, diffuse_reflectance)

Description:
This function will get the diffuse reflectance value for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
REAL diffuse_reflectance This value returns the diffuse reflectance value for
the named display property list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_diffuse_get (p. 195) in the PCL Reference Manual Examples.
278 PCL Reference Manual
Display Menu

ga_display_diffuse_set (display_name, diffuse_reflectance)

Description:
Set the diffuse reflectance.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
REAL diffuse_reflectance This value specifies the diffuse reflectance for the
named display property list.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_diffuse_set (p. 197) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 279
Display Menu

ga_display_displays_get (display_list)

Description:
This function will get a list of all of the defined named display property lists.
Input:
None.
Output:
STRING display_list[31]() This value returns a list of all defined display
property lists. See the remarks below for more
information.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000098 A fatal error has occurred in the database. Database is corrupted.
13000085 Cursor not open

Remarks:

The output value display_list must be allocated with enough offsets available to contain the entire list.
The number of offsets needed can be obtained through a call to the function ga_display_ndisplays_get.
Example:

Please see ga_display_displays_get (p. 198) in the PCL Reference Manual Examples.
280 PCL Reference Manual
Display Menu

ga_display_edgecolor_get (display_name, color_index)

Description:
This function will get the edge color attributes used in shading for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER color_index This value returns the color index for the edges of the
named display property list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_edgecolor_get (p. 199) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 281
Display Menu

ga_display_edgecolor_set (display_name, color_index)

Description:
This function will set the edge color attributes used in shading for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER color_index This value specifies the edge color attributes for the
named display property list.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_edgecolor_set (p. 200) in the PCL Reference Manual Examples.
282 PCL Reference Manual
Display Menu

ga_display_exist_get (display_name, display_status)

Description:
This function is used to check for the existence of a named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER display_status This value returns the existence of the named display
property list. It will be set to 0 or FALSE if the list
does not exist and it will be set to 1 or TRUE if the
list exists.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_exist_get (p. 201) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 283
Display Menu

ga_display_freefem_get (display_name, style)

Description:
This function will get the free FEM characteristics display style attribute from the named display
property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER style This value returns the free FEM display style for the
named display property list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_freefem_get (p. 202) in the PCL Reference Manual Examples.
284 PCL Reference Manual
Display Menu

ga_display_freefem_set (display_name, style)

Description:
This function will set the free FEM characteristics display style attribute for the named display property
list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER style This value specifies the free FEM display style for
the named display property list.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_freefem_set (p. 204) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 285
Display Menu

ga_display_gloss_get (display_name, gloss_value)

Description:
This function will get the amount of glossiness for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
REAL gloss_value This value returns the gloss value for the named
display property list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_gloss_get (p. 205) in the PCL Reference Manual Examples.
286 PCL Reference Manual
Display Menu

ga_display_gloss_set (display_name, gloss_value)

Description:
This function will set the amount of gloss for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
REAL gloss_value This value specifies the gloss for the named display
property list.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_gloss_set (p. 207) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 287
Display Menu

ga_display_gravitation_get (display_name, gravity_status)

Description:
This function gets the on/off status for the display of gravitational points for the named display property
list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER gravity_status This value returns the on/off status for the display of
gravitational points and can be of any value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_gravitation_get (p. 208) in the PCL Reference Manual Examples.
288 PCL Reference Manual
Display Menu

ga_display_gravitation_set (display_name, gravity_status)

Description:
This function sets the on/off status for the display of gravitational points for the named display property
list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER gravity_status This value specifies the on/off status used to control
the display of gravitational points and can be of any
value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_gravitation_set (p. 209) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 289
Display Menu

ga_display_hilight_get (display_name, specular_value)

Description:
This function will get the value used to control specular reflections for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER specular_value This value returns the state of the value used to
control specular reflections.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_hilight_get (p. 210) in the PCL Reference Manual Examples.
290 PCL Reference Manual
Display Menu

ga_display_hilight_set (display_name, specular_value)

Description:
This function will set the value used to control specular reflections for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER specular_value This value specifies the state of the value used to
control specular reflections.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_hilight_set (p. 211) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 291
Display Menu

ga_display_labelcolor_get (display_name, label_color)

Description:
This function will get the label color for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER label_color This value returns the label color for the named
display property list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_labelcolor_get (p. 213) in the PCL Reference Manual Examples.
292 PCL Reference Manual
Display Menu

ga_display_labelcolor_set (display_name, label_color)

Description:
This function sets the label color for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER label_color This value specifies the label color.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:
Please see ga_display_labelcolor_set (p. 214) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 293
Display Menu

ga_display_lines_get (display_name, line_number)

Description:
This function gets the number of visualization lines from the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER line_number This value returns the number of visualization lines.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None.
Example:
Please see ga_display_lines_get (p. 215) in the PCL Reference Manual Examples.
294 PCL Reference Manual
Display Menu

ga_display_lines_set (display_name, line_number)

Description:
This function will set the number of visualization lines for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER line_number This value specifies the number of visualization
lines.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None.
Example:
Please see ga_display_lines_set (p. 217) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 295
Display Menu

ga_display_linestyle_get (display_name, line_style)

Description:
This function will get the line style for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
STRING line_style[31] This value returns one of the two values, “SOLID”,
or “DASHED”, that are used to specify the line style.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None.
Example:
Please see ga_display_linestyle_get (p. 218) in the PCL Reference Manual Examples.
296 PCL Reference Manual
Display Menu

ga_display_linestyle_set (display_name, line_style)

Description:
Set the curve style.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
STRING line_style[31] This value specifies the line_style and it should be
set to one of the two supported values: “SOLID”, or
“DASHED”. These two values are not case
sensitive.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000043 The specified line style is not valid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None.
Example:
Please see ga_display_linestyle_set (p. 219) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 297
Display Menu

ga_display_linewidth_get (display_name, line_width)

Description:
This function will get the line width for the named display property list. See remarks below.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER line_width This value returns the line width for the named
display property list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
This function does nothing and does not modify the initial value of the input value line_width.
Example:
Please see ga_display_linewidth_get (p. 220) in the PCL Reference Manual Examples.
298 PCL Reference Manual
Display Menu

ga_display_linewidth_set (display_name, line_width)

Description:
This function will set the line width for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER line_width This value specifies the line width for the named
display property list.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

This function does nothing and does not make any use of the input value line_width.
Example:

Please see ga_display_linewidth_set (p. 221) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 299
Display Menu

ga_display_ndisplays_get (number_of_displays)

Description:
This function will get the number of named display properties currently defined.
Input:
None.
Output:
INTEGER number_of_displays This value returns the number of display properties.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000098 A fatal error has occurred in the database. Database is corrupted.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000085 Cursor not open

Remarks:

None.
Example:

Please see ga_display_ndisplays_get (p. 222) in the PCL Reference Manual Examples.
300 PCL Reference Manual
Display Menu

ga_display_nlspc_get (display_name,
number_of_segments)

Description:
This function will get the number of line segments per curve for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER number_of_segments This value returns the number of line segments per
curve.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_nlspc_get (p. 223) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 301
Display Menu

ga_display_nlspc_set (display_name,
number_of_segments)

Description:
This function will set the number of line segments per curve for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER number_of_segments This value specifies the number of line segments per
curve.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_nlspc_set (p. 224) in the PCL Reference Manual Examples.
302 PCL Reference Manual
Display Menu

ga_display_nspe_get (display_name,
number_of_segments)

Description:
This function will get the number of line segments per edge for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER number_of_segments This argument returns the number of line segments
per edge.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_nspe_get (p. 226) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 303
Display Menu

ga_display_nspe_set (display_name,
number_of_segments)

Description:
This function will set the number of line segments per edge for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER number_of_segments This values specifies the number of line segments
per edge.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_nspe_set (p. 227) in the PCL Reference Manual Examples.
304 PCL Reference Manual
Display Menu

ga_display_offsets_get (display_name, offset_status)

Description:
This function controls the on/off status of the offset for the display of element properties for the named
display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER offset_status This argument returns the on/off status of the offset
for the display of element properties. This argument
may be any of any value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_offsets_get (p. 229) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 305
Display Menu

ga_display_offsets_set (display_name, offset_status)

Description:
This function will set the on/off status of the offset for the display of element properties for the named
display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER offset_status This value specifies the on/off status for the display
of element properties. This argument can be set to
any value.
Output:

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_offsets_set (p. 231) in the PCL Reference Manual Examples.
306 PCL Reference Manual
Display Menu

ga_display_parametric_get (display_name, parametric_status)

Description:
This function gets the on/off status for the display of parametric directions for the named display
property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER parametric_status This value returns the on/off status for the display of
parametric directions. This argument can return any
value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_parametric_get (p. 232) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 307
Display Menu

ga_display_parametric_set (display_name, parametric_status)

Description:
This function will set the on/off status for the display of parametric directions for the named display
property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER parametric_status This values specifies the on/off status for the display
of parametric directions.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_parametric_set (p. 234) in the PCL Reference Manual Examples.
308 PCL Reference Manual
Display Menu

ga_display_rename (original_name, new_name)

Description:
This function will rename the named display property list.
Input:
STRING original_name[] This value specifies the original name of the display
property list.
STRING new_name[] This value specifies the new name of the display
property list.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_rename (p. 235) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 309
Display Menu

ga_display_result_label_get (display_name, result_label_status)

Description:
This function will get the on/off status value for the named display property list that is used to control
the display of results labels.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER result_label_status This value returns the on/off status used to control
the display of results labels. This argument can
return any value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_result_label_get (p. 236) in the PCL Reference Manual Examples.
310 PCL Reference Manual
Display Menu

ga_display_result_label_set (display_name, result_label_status)

Description:
This function is used to set the on/off status value for the named display property list that is used to
control the display of results labels.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER result_label_status This value specifies the status value that controls the
display of results labels. This argument can be of any
value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_result_label_set (p. 237) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 311
Display Menu

ga_display_result_lblformat_get (display_name, label_format)

Description:
This function will get the format value of the result labels for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
STRING label_format[31] This value returns the result label format value
which can be set to either “LETTER” or “VALUE”.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_result_lblformat_get (p. 239) in the PCL Reference Manual Examples.
312 PCL Reference Manual
Display Menu

ga_display_result_lblformat_set (display_name, label_format)

Description:
This function will set the format value of the results labels for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
STRING label_format[31] This value specifies the result label format. This
argument can be set to a case insensitive value of
either “LETTER”, or “VALUE”.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000092 The specified result label format is not valid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_result_lblformat_set (p. 240) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 313
Display Menu

ga_display_showedges_get (display_name, edges_status)

Description:
This function will get the on/off status of the value used to control the display of edges for the named
display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER edges_status This value returns the on/off status used to control
the display of edges. This argument can be of any
value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_showedges_get (p. 241) in the PCL Reference Manual Examples.
314 PCL Reference Manual
Display Menu

ga_display_showedges_set (display_name, edges_status)

Description:
This function will set the on/off status of the value used to control the display of edges for the named
display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER edges_status This value specifies the on/off status used to control
the display of edges. This argument can be set to any
value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_showedges_set (p. 243) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 315
Display Menu

ga_display_shrfem_get (display_name, shrink_factor)

Description:
This function gets the shrink factor used in the display of finite elements for the named display property
list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
REAL shrink_factor This value returns the shrink factor.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_shrfem_get (p. 244) in the PCL Reference Manual Examples.
316 PCL Reference Manual
Display Menu

ga_display_shrfem_set (display_name, shrink_factor)

Description:
This function sets the shrink factor used in the display of finite elements for the named display property
list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
REAL shrink_factor This value specifies the shrink factor.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_shrfem_set (p. 245) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 317
Display Menu

ga_display_silhouette_get (display_name, silhouette_status)

Description:
This function will get the value used to turn the display of silhouettes on and off for the named display
property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER silhouette_status This value returns the value of used to control the
display of silhouettes. This argument can return any
value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_silhouette_get (p. 247) in the PCL Reference Manual Examples.
318 PCL Reference Manual
Display Menu

ga_display_silhouette_set (display_name, silhouette_status)

Description:
This function will set the value used to turn the display of silhouettes on and off for the named display
property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER silhouette_status This value specifies the status value used control the
display of silhouettes. This argument can be set to
any value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_silhouette_set (p. 248) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 319
Display Menu

ga_display_specular_get (display_name, color_value)

Description:
This function will get the value used to control the color used for the shading of specular reflections
for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER color_value This value returns the value used to control the color
used for the shading of specular reflections. This
argument can have a value of 1, for the color of the
light, or 2, for the color of the object.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_specular_get (p. 250) in the PCL Reference Manual Examples.
320 PCL Reference Manual
Display Menu

ga_display_specular_set (display_name, color_value)

Description:
This function will set the value used to control the color used for the shading of specular reflections for
the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER color_value This value specifies the color used for the shading of
specular reflections. This argument can be set to a
value of 1, for the color of light, or 2, for the color of
the object.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_specular_set (p. 251) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 321
Display Menu

ga_display_subdivision_get (display_name, tolerance)

Description:
This function will get the subdivision tolerance for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
REAL tolerance This value returns the subdivision tolerance.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_subdivision_get (p. 252) in the PCL Reference Manual Examples.
322 PCL Reference Manual
Display Menu

ga_display_subdivision_set (display_name, tolerance)

Description:
This function will set the subdivision tolerance for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
REAL tolerance This value specifies the subdivision tolerance value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_subdivision_set (p. 254) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 323
Display Menu

ga_display_texture_get (display_name, texture_value)

Description:
This function will get the texture value from the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
REAL texture_value This value returns the texture value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_texture_get (p. 255) in the PCL Reference Manual Examples.
324 PCL Reference Manual
Display Menu

ga_display_texture_set (display_name, texture_value)

Description:
This function will set the texture value for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
REAL texture_value This value specifies the texture value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_texture_set (p. 257) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 325
Display Menu

ga_display_transparency_get (display_name, transparency_value)

Description:
This function will get the transparency level from the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
REAL transparency_value This value returns the transparency level.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_transparency_get (p. 258) in the PCL Reference Manual Examples.
326 PCL Reference Manual
Display Menu

ga_display_transparency_set (display_name, transparency_value)

Description:
This function will set the transparency level for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
REAL transparency_value This value specifies the transparency value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_transparency_set (p. 259) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 327
Display Menu

ga_display_undeform_color_get (display_name, color_value)

Description:
This function will get the value of the color for undeformed entities from the named display property
list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER color_value This value returns the color value for undeformed
entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_undeform_color_get (p. 260) in the PCL Reference Manual Examples.
328 PCL Reference Manual
Display Menu

ga_display_undeform_color_set (display_name, color_value)

Description:
This function will set the value of the color for undeforned entities for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER color_value This value specifies the color used for the display of
undeformed entities.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_undeform_color_set (p. 261) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 329
Display Menu

ga_display_undeform_get (display_name, undeform_status)

Description:
This function will get the on/off status of the value used to control the display of undeformed entities
from the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER undeform_status This value returns the status value used to control the
display of undeformed entities. This argument can
return any value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_undeform_get (p. 263) in the PCL Reference Manual Examples.
330 PCL Reference Manual
Display Menu

ga_display_undeform_set (display_name, undeform_status)

Description:
This function will set the on/off status of the value used to control the display of undeformed entities
for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER undeform_status This value specifies the on/off status used to control
the display of undeformed entities. The argument
can be set to any value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_undeform_set (p. 264) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 331
Display Menu

ga_display_undeform_style_get (display_name, curve_style)

Description:
This function will get the value used to control the style used for the display of the lines that comprise
undeformed entities from the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
STRING curve_style[31] This value returns the style used to display the lines
that comprise undeformed entities. This value will
be set to either “SOLID”, or “DASHED”.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_undeform_style_get (p. 265) in the PCL Reference Manual Examples.
332 PCL Reference Manual
Display Menu

ga_display_undeform_style_set (display_name, curve_style)

Description:
This function will set the value used to control the style used for the display of the lines that comprise
undeformed entities for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
STRING curve_style[31] This value specifies the style used to display the
lines that comprise undeformed entities. The values
allowed for this string are “SOLID”, or “DASHED”.
This argument is not case sensitive.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000090 The specified undeformed entity style is not valid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_undeform_style_set (p. 266) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 333
Display Menu

ga_display_vector_color_get (display_name, color_value)

Description:
This function will get the value for the color used to plot vectors from the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER color_value This value returns the color used to plot vectors.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector_color_get (p. 267) in the PCL Reference Manual Examples.
334 PCL Reference Manual
Display Menu

ga_display_vector_color_set (display_name, color_value)

Description:
This function will set the value of the color used to plot vectors for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER color_value This value specifies the color used to plot vectors.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector_color_set (p. 269) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 335
Display Menu

ga_display_vector_colorstyl_get (display_name, vector_style)

Description:
This function will get the style used to plot vectors from the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
STRING vector_style[31] This value returns the style used to plot vectors. This
argument can return the values “VALUE”,
“COMPONENT”, or “SPECTRUM”.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector_colorstyl_get (p. 270) in the PCL Reference Manual Examples.
336 PCL Reference Manual
Display Menu

ga_display_vector_colorstyl_set (display_name, vector_style)

Description:
This function will set the style used to plot vectors for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
STRING vector_style[31] This value specifies the style used to plot vectors.
This argument can a value of “VALUE”,
“COMPONENT”, or “SPECTRUM”.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000094 Message 11000094 not found in message file(s).
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector_colorstyl_set (p. 271) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 337
Display Menu

ga_display_vector_facolor_get (display_name, color_value)

Description:
This function will get the colors used to display functional assignment vectors from the named display
property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER color_value(5) This value returns the color values used to display
functional assignment vectors.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector_facolor_get (p. 272) in the PCL Reference Manual Examples.
338 PCL Reference Manual
Display Menu

ga_display_vector_facolor_set (display_name, color_value)

Description:
This function will set the values used to display functional assignment vectors for the named display
property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER color_value(5) This value specifies the color values used to display
functional assignment vectors.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector_facolor_set (p. 273) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 339
Display Menu

ga_display_vector_falabel_get (display_name, label_status)

Description:
This function will get the on/off status value used to control the display of labels for functional
assignment vectors from the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER label_status This value returns the on/off status for the display of
functional assignment vector labels. This argument
can return any value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector_falabel_get (p. 274) in the PCL Reference Manual Examples.
340 PCL Reference Manual
Display Menu

ga_display_vector_falabel_set (display_name, label_status)

Description:
This function will set the on/off status value used to control the display of labels for functional
assignment vectors for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER label_status This value specifies the on/off status for the display
of function assignment vector labels. This argument
can be set to any value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector_falabel_set (p. 276) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 341
Display Menu

ga_display_vector_length_get (display_name, vector_style)

Description:
This function will get the value used to control the length style of plotted vectors from the named
display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
STRING vector_style[31] This value returns the vector length style. This
argument will return the value
“CONSTANT/SCREEN”, “SCALED/SCREEN”,
“CONSTANT/MODEL”, or “SCALED/MODEL”.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector_length_get (p. 277) in the PCL Reference Manual Examples.
342 PCL Reference Manual
Display Menu

ga_display_vector_length_set (display_name, vector_style)

Description:
This function will set the value used to control the length style of plotted vectors for the named display
property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
STRING vector_style[31] This value specifies the vector length style. This
argument can be set to the value
“CONSTANT/SCREEN”, “SCALED_SCREEN”,
“CONSTANT/MODEL”, or “SCALED/MODEL”.
The value of this argument is not case sensitive.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000094 Message 11000094 not found in message file(s).
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector_length_set (p. 278) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 343
Display Menu

ga_display_vector_reslabel_get (display_name, label_status)

Description:
This function will get the on/off status value used to control the display of labels on results vectors from
the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER label_status This value returns the status value used to control the
display of labels on results vectors. This argument
can return any value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector_reslabel_get (p. 279) in the PCL Reference Manual Examples.
344 PCL Reference Manual
Display Menu

ga_display_vector_reslabel_set (display_name, label_status)

Description:
This function will set the on/off status value used to control the display of labels on results vectors for
the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER label_status This value specifies the status of the value used to
control the display of labels on results vectors. This
argument can be set to any value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector_reslabel_set (p. 280) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 345
Display Menu

ga_display_vector_scale_get (display_name, vector_scale)

Description:
This function will get the scale value used with vector plots from the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
REAL vector_scale This value returns the scale value used with vector
plots.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector_scale_get (p. 281) in the PCL Reference Manual Examples.
346 PCL Reference Manual
Display Menu

ga_display_vector_scale_set (display_name, vector_scale)

Description:
This function will set the scale value used with vector plots for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
REAL vector_scale This value specifies the scale value used with vector
plots.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector_scale_set (p. 283) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 347
Display Menu

ga_display_vector1_color_get (display_name, color_value)

Description:
This function will get the first vector component color from the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER color_value This value returns the color value for the first vector
component.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector1_color_get (p. 284) in the PCL Reference Manual Examples.
348 PCL Reference Manual
Display Menu

ga_display_vector1_color_set (display_name, color_value)

Description:
This function will set the first vector component color for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER color_value This value specifies the color value for the first
vector component.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector1_color_set (p. 285) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 349
Display Menu

ga_display_vector2_color_get (display_name, color_value)

Description:
This function will get the second vector component color from the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER color_value This value returns the color value for the second
vector component.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector2_color_get (p. 287) in the PCL Reference Manual Examples.
350 PCL Reference Manual
Display Menu

ga_display_vector2_color_set (display_name, color_value)

Description:
This function will set the second vector component color for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER color_value This value specifies the color value for the second
vector component.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector2_color_set (p. 288) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 351
Display Menu

ga_display_vector3_color_get (display_name, color_value)

Description:
This function will get the third vector component color from the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list from which the requested data value will be
obtained.
Output:
INTEGER color_value This value returns the color value for the third vector
component.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:

None.
Example:

Please see ga_display_vector3_color_get (p. 289) in the PCL Reference Manual Examples.
352 PCL Reference Manual
Display Menu

ga_display_vector3_color_set (display_name, color_value)

Description:
This function will set the third vector component color for the named display property list.
Input:
STRING display_name[31] This value specifies the name of the display property
list to which the requested data value will be set.
INTEGER color_value This value specifies the color value for the third
vector component.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
11000042 The display property list is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000107 The specified display property list was not found in the database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred

Remarks:
None.
Example:
Please see ga_display_vector3_color_set (p. 291) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 353
Tools Menu

Tools Menu
This section is used to describe functions that used to create and manipulate lists of geometric and finite
element model entities using the list processor and the list processor format. It is also used to describe
some of the functions that can be used to create and report the mass properties associated with a model.
The list processing functions described below all make use of five global variables as a working or
scratch space: lista, lista_reset, listb, listb_reset, and listc. These variables are all global virtual string
variables whose length is manipulated with the aid of the sys_allocate_string() and
sys_reallocate_string() functions. They can be accessed directly if a declaration similar to the following
is made in a PCL source file:
GLOBAL STRING lista[VIRTUAL]
However, extreme care should be used in accessing or manipulating these values directly as they are
intended for internal use only and changing the contents of these strings can lead to unpredictable results.

list_create_boolean_list (blist_a,blist_b,btype,bret_list)

Description:
This function creates a list of entities by combining the contents of the global strings lista and listb
using the type of operation specified by the input value boolean and placing the results in the global
string listc.
Input:
STRING blist_a[] This value specifies the first string of entities to be
combined.
STRING blist_b[] This value specifies the second string of entities to
be combined.
STRING btype[7] This value specifies the type of operation to be used
to combine the first and second strings of entities.
See the remarks below for more information.
Output:
STRING bret_list[] This value returns the results of the specified
combination operation.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
48000002 *%A% * is not a valid boolean operator!
48000013 Boolean listc is empty!
354 PCL Reference Manual
Tools Menu

Remarks:
The input value btype can have the following values used to specify the different types of combinational
operations which combine the lists listed by the global string values lista and listb in the following
manner:

Operational string value Description:


“or”, “eval_or” Combines the two global strings lista and listb, sorts them, and
deletes any duplicate values.
“and”, “and_fg” Combines the two global strings lista and listb, sorts them, and
leaves any duplicate entries in place.
“a-b” Removes all items in listb from lista, then sorts the results.
“b-a” Removes all items in lista from listb, then sorts the results.

This function will display an information popup form if the boolean operation results in an single space
character string or if both of the input values blist_a and blist_b are set to some combination of either “”
or “None”. The information popup form will have the following message:

48000013 Boolean listc is empty!

This function will display a warning popup form with the following message if the input value btype is
set to an invalid value:

48000002 *%A% * is not a valid boolean operator!

This function calls the function fem_u_count_id() and will display a warning type popup form and return
the error value returned by this function if it has an error.
Space is internally allocated for the output value bret_list. It is the responsibility of the calling function
to free the allocated string storage space.
Example:
Please see list_create_boolean_list (p. 293) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 355
Tools Menu

list_create_curve_ass_geo (entity_list, target, return_list)

Description:
This function will create a list of all curves from a list of geometric entities.
Input:
STRING entity_list[] This value specifies a list of geometric entities.
STRING target[6] This value specifies which global string will be used
for the storage of the results. This argument can have
the following values: ”lista”, or “listb”.
Output:
STRING return_list[VIRTUAL] This value returns a list of curves.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.
48000001 *%A% * is not a valid target list!
48000006 No Curve found!
356 PCL Reference Manual
Tools Menu

Remarks:
Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
This function can display an information popup form with the following messages:

48000006 No Curve found!

This function can display a warning popup form with the following messages:

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

This function makes use of following documented functions:


app_get_handle()
lp_sublist_count()
list_create_target_list()
Example:
Please see list_create_curve_ass_geo (p. 294) in the PCL Reference Manual Examples.

list_create_curve_ass_group (group_list, number_of_groups,


target, return_list)

Description:
This function will create a list of all curves in a list of groups of geometric entities.
Input:
STRING group_list[](number_of_groups) This value specifies a list of groups of geometric
entities.
INTEGER number_of_groups This value specifies the number of groups in the
group_list input value.
STRING target[6] This value specifies which global string will be
used for the storage of the results. This
argument can have the following values: ”lista”,
or “listb”.
Output:
STRING return_list[VIRTUAL] This value returns a list of curves.
Chapter 2: Basic Functions 357
Tools Menu

INTEGER <Return Value> This function returns a value of 0 when


executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
8104003 Out of room in destination format string.
8107002 Last command aborted.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000121 There is not a current group defined.
11000127 The group does not have any entities in it.
48000001 *%A% * is not a valid target list!
48000006 No Curve found!
48000010 No Group selected!

Remarks:
Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
This function can display an information popup form with the following messages:

48000006 No Curve found!

This function can display a warning popup form with the following messages:

8104003 Out of room in destination format string.


8107002 Last command aborted.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000121 There is not a current group defined.
11000127 The group does not have any entities in it.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000008 Group not found
13000014 Viewport not found
358 PCL Reference Manual
Tools Menu

48000001 *%A% * is not a valid target list!


48000010 No Group selected!

This function makes use of following documented functions:


list_create_target_list()
Example:
Please see list_create_curve_ass_group (p. 296) in the PCL Reference Manual Examples.

list_create_elem_ass_geo (element_shape_code, entity_list,


target, return_list)

Description:
This function will create a list of all elements of a particular finite element model shape in a list of
geometric entities.
Input:
INTEGER element_shape_code This value specifies a code value used to select the
type of element shape to be used to make the returned
list of entities. See the remarks below for more
information.
STRING entity_list[] This value specifies a list of geometric entities.
STRING target[6] This value specifies which global string will be used
for the storage of the results. This argument can have
the following values: “lista”, or “listb”.
Output:
STRING return_list[VIRTUAL] This value returns a list of elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
Chapter 2: Basic Functions 359
Tools Menu

14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.
48000001 *%A% * is not a valid target list!
48000003 No Element found!

Remarks:
The input value element_shape_code can have the following values:

Element Shape Code Description


0 Any element
1 point
2 beam/bar
3 tria
4 quad
5 tet
6 pyramid
7 wedge
8 hex

Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
This function can display an information popup form with the following messages:

48000003 No Element found!


360 PCL Reference Manual
Tools Menu

This function can display a warning popup form with the following messages:

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

This function makes use of following documented functions:


list_create_target_list()
Example:
Please see list_create_elem_ass_geo (p. 297) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 361
Tools Menu

list_create_elem_ass_group (element_shape_code, group_list,


number_of_groups, target, return_list)

Description:
This function will create a list of all elements of a particular finite element model shape in a list of
groups of geometric entities.
Input:
INTEGER element_shape_code This value specifies a code value used to select
the type of element shape to be used to make the
returned list of entities. See the remarks below
for more information.
STRING group_list[](number_of_groups) This value specifies a list of groups of geometric
entities.
INTEGER number_of_groups This value specifies the number of groups in the
group_list input value.
STRING target[6] This value specifies which global string will be
used for the storage of the results. This
argument can have the following values: “lista”,
or “listb”.
Output:
STRING return_list[VIRTUAL] This value returns a list of elements.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
8104003 Out of room in destination format string.
8107002 Last command aborted.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000121 There is not a current group defined.
11000127 The group does not have any entities in it.
48000001 *%A% * is not a valid target list!
48000003 No Element found!
48000010 No Group selected!
362 PCL Reference Manual
Tools Menu

Remarks:
The input value element_shape_code can have the following values:

Element Shape Code Description


0 Any element
1 point
2 beam/bar
3 tria
4 quad
5 tet
6 pyramid
7 wedge
8 hex

Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
This function can display an information popup form with the following messages:

48000003 No Element found!

This function can display a warning popup form with the following messages:

8104003 Out of room in destination format string.


8107002 Last command aborted.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000121 There is not a current group defined.
11000127 The group does not have any entities in it.
48000010 No Group selected!

This function makes use of following documented functions:


list_create_target_list()
Example:
Please see list_create_elem_ass_group (p. 299) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 363
Tools Menu

list_create_elem_ass_node (element_shape_code,
node_list, target, return_list)

Description:
This function will create a list of all elements of a particular finite element model shape in a list of
nodes.
Input:
INTEGER element_shape_code This value specifies a code value used to select the
type of element shape to be used to make the
returned list of elements. See the remarks below for
more information.
STRING node_list[] This value specifies a list of nodes.
STRING target[6] This value specifies which global string will be used
for the storage of the results. This argument can have
the following values: “lista”, or “listb”.
Output:
STRING return_list[VIRTUAL] This value returns a list of elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1 This is an internal status condition. There is no corresponding status message in the
message database.
258 This is an internal status condition. There is no corresponding status message in the
message database.
259 This is an internal status condition. There is no corresponding status message in the
message database.
13000096 Not enough storage allocated for elements
14000004 LpSublistType: I am being invoked with a NULL list
48000001 *%A% * is not a valid target list!
48000003 No Element found!
364 PCL Reference Manual
Tools Menu

Remarks:
The input value element_shape_code can have the following values:

Element Shape Code Description


0 Any element
1 point
2 beam/bar
3 tria
4 quad
5 tet
6 pyramid
7 wedge
8 hex

Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
This function can display a warning popup form with the following messages:

1 Not owner
13000096 Not enough storage allocated for elements
14000004 LpSublistType: I am being invoked with a NULL list

This function can display an information popup form with the following messages:

48000003 No Element found!

This function makes use of following documented functions:


list_create_target_list()
sys_allocate_array()
Example:
None.
Chapter 2: Basic Functions 365
Tools Menu

list_create_elem_att_fringe (element_shape_code, fringe_limits,


fringe_comparison_type, tolerance,
group_name, target, return_list)

Description:
This function will create a list of all elements of a particular finite element model shape with a specified
fringe value in a single group of geometric entities.
Input:
INTEGER element_shape_code This value specifies a code value used to select the
type of element shape to be used to make the
returned list of entities. See the remarks below for
more information.
REAL fringe_limits(2) This value specifies the lower fringe limit as the
value in offset 1 and the upper fringe limit as the
value in offset 2.
STRING fringe_comparison_type[7] This value specifies the method that will be used for
comparing the fringe limits to the fringe value of the
element shape. See the remarks below for more
information.
REAL tolerance This value specifies a range over which a match
between the input value fringe_limits and the fringe
value for the finite element model shape can be
made.
STRING group_name[] This value specifies the name of a group of
geometric entities.
STRING target[6] This value specifies which global string will be used
for the storage of the results. This argument can have
the following values: “lista”, or “listb”.
Output:
STRING return_list[VIRTUAL] This value returns a list of elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
13000008 Group not found
1300002 Element not found
15500001 Message 15500001 not found in message file(s)
366 PCL Reference Manual
Tools Menu

15500002 Message 15500002 not found in message file(s)


15500003 Message 15500003 not found in message file(s)
48000001 *%A% * is not a valid target list!
48000003 No Element found!
48000010 No Group selected!
48000014 *%A% * is not a valid Value option!

Remarks:
The input value element_shape_code can have the following values:

Element Shape Code Description


0 Any element
1 point
2 beam/bar
3 tria
4 quad
5 tet
6 pyramid
7 wedge
8 hex

The input value fringe_comparison_type can have the following values:

Operation Name Operation Action


“equal” Is the fringe value within the input value tolerance of the input value
fringe_limits(1)?
“minimum” Is the fringe value less than the input value fringe_limits(1) plus the input
value tolerance?
“maximum” Is the fringe value greater than the input value fringe_limits(1) plus the
input value tolerance?
“range” Does the fringe value fall in the range defined by the input value
fringe_limits(1) as the lower limit and input value fringe_limits(2) as the
upper limit plus or minus the input value tolerance?

Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
Chapter 2: Basic Functions 367
Tools Menu

This function can display an information popup form with the following messages:

48000003 No Element found!

This function can display a warning popup form with the following messages:

13000008 Group not found


13000021 Element not found
15500001 Message 15500001 not found in message file(s)
15500002 Message 15500002 not found in message file(s)
15500003 Message 15500003 not found in message file(s)
48000010 No Group selected!
48000014 *%A% * is not a valid Value option!

This function makes use of following documented functions:


list_create_target_list()
Example:
Please see list_create_elem_att_fringe (p. 302) in the PCL Reference Manual Examples.

list_create_elem_att_mat (element_shape_code, material_list,


num_materials, target, return_list)

Description:
This function will create a list of all elements of a particular finite element model shape from a list of
material names.
Input:
INTEGER element_shape_code This value specifies a code value used to select
the type of element shape to be used to make the
returned list of entities. See the remarks below for
more information.
STRING material_list[](num_materials) This value specifies a list of materials names.
INTEGER num_materials This value specifies the number of material
entries in the material_list input value.
STRING target[6] This value specifies which global string will be
used for the storage of the results. This argument
can have the following values: ”lista”, or “listb”.
368 PCL Reference Manual
Tools Menu

Output:
STRING return_list[VIRTUAL] This value returns a list of elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-1 This is an internal status condition. There is no corresponding status message in the
message database.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000120 The material specified in the query was not found
48000001 *%A% * is not a valid target list!
48000003 No Element found!

Remarks:
The input value element_shape_code can have the following values:

Element Shape Code Description


0 Any element
1 point
2 beam/bar
3 tria
4 quad
5 tet
6 pyramid
7 wedge
8 hex

Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
This function can display an information popup form with the following messages:

48000003 No Element found!


Chapter 2: Basic Functions 369
Tools Menu

This function can display a warning popup form with the following messages:

-1 End of File Reached


13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000120 The material specified in the query was not found
48000009 No Material selected!

This function makes use of following documented functions:


list_create_target_list()
Example:
Please see list_create_elem_att_mat (p. 304) in the PCL Reference Manual Examples.

list_create_elem_att_prop (element_shape_code, properties_list,


num_properties, target, return_list)

Description:
This function will create a list of all elements of a particular finite element model shape from a list of
property names.
Input:
INTEGER element_shape_code This value specifies a code value used to select the
type of element shape to be used to make the
returned list of entities. See the remarks below for
more information.
STRING properties_list[](num_proper This value specifies a list of property names.
ties)
INTEGER num_properties This value specifies the number of material entries in
the properties_list input value.
STRING target[6] This value specifies which global string will be used
for the storage of the results. This argument can have
the following values: ”lista”, or “listb”.
Output:
STRING return_list[VIRTUAL] This value returns a list of elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
370 PCL Reference Manual
Tools Menu

Error Conditions:
This is only a partial list of the error values that can be returned by this function.
29004006 Property%A% could not be retrieved from the database.
48000001 *%A% * is not a valid target list!
48000003 No Element found!
48000011 No Property selected!

Remarks:
The input value element_shape_code can have the following values:

Element Shape Code Description


0 Any element
1 point
2 beam/bar
3 tria
4 quad
5 tet
6 pyramid
7 wedge
8 hex

Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
This function can display an information popup form with the following messages:

48000003 No Element found!

This function can display a warning popup form with the following messages:

48000001 *%A% * is not a valid target list!


48000011 No Property selected!

This function can display a fatal popup form with the following messages:

29004006 Property%A% could not be retrieved from the database.


Chapter 2: Basic Functions 371
Tools Menu

This function makes use of following documented functions:


list_create_target_list()
Example:
Please see list_create_elem_att_prop (p. 306) in the PCL Reference Manual Examples.

list_create_ent_ass_group (group_count, group_name, entity_count,


entity_name, return_list)

Description:
This function will retrieve from the database a list of entities with an association to groups.
Input:
INTEGER group_count This value specifies the number of groups.
STRING group_name[31](group_count) This array specifies the group names. The default
group will be used if this value is set to ““.
INTEGER entity_count This value specifies the number of acceptable
entity types.
STRING entity_name[7](entity_count) This array specifies the acceptable entity type
names. See the remarks below for more
information.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of
entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an
error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
372 PCL Reference Manual
Tools Menu

The input value entity_name can have the following values:

Point Curve Surface


Solid Node Element
MPC

Example:
Please see list_create_elem_ass_group (p. 299) in the PCL Reference Manual Examples.

list_create_ent_ass_vp (viewport_count, viewport_name, entity_count,


entity_name, return_list)

Description:
This function will retrieve from the database a list of entities with an association to viewports.
Input:
INTEGER viewport_count This value specifies the number of viewports.
STRING viewport_name[31](viewport_ This array specifies the viewport names. The
count) default viewport will be used if this value is set to
““.
INTEGER entity_count This value specifies the number of acceptable
entity types.
STRING entity_name[7](entity_count) This array specifies the acceptable entity type
names. See the remarks below for more
information.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of
entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an
error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
Chapter 2: Basic Functions 373
Tools Menu

The input value entity_name can have the following values:

Point Curve Surface


Solid Node Element
MPC

Example:
Please see list_create_ent_ass_vp (p. 310) in the PCL Reference Manual Examples.

list_create_ent_att_ep_name (ep_count, ep_name, entity_count,


entity_name, return_list)

Description:
This function will retrieve from the database a list of entities with an association to element properties.
Input:
INTEGER ep_count This value specifies the number of element
properties.
STRING ep_name[31](ep_count) This array specifies the element property names.
INTEGER entity_count This value specifies the number of acceptable
entity types.
STRING entity_name[7](entity_count) This array specifies the acceptable entity type
names. See the remarks below for more
information.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an
error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message in
the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
374 PCL Reference Manual
Tools Menu

The input value entity_name can have the following values:

Point Curve Surface


Solid Node Element
MPC

Example:
Please see list_create_ent_att_ep_name (p. 311) in the PCL Reference Manual Examples.

list_create_ent_att_ep_type (general_count, general_name,


entity_count, entity_name, return_list)

Description:
This function will retrieve from the database a list of entities with an association to generic element
types.
Input:
INTEGER general_count This value specifies the number of generic
element types.
STRING general_name[](general_count) This array specifies the generic element type
names. See the remarks below for more
information.
INTEGER entity_count This value specifies the number of acceptable
entity types.
STRING entity_name[7](entity_count) This array specifies the acceptable entity type
names. See the remarks below for more
information.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of
entities.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate an error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.
Chapter 2: Basic Functions 375
Tools Menu

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
The input value general_name can have the following values:

Mass Axisym Shell


Rotary Inertia 1D Preference
Grounded Spring Planar Beam
Grounded Damper 3D Beam
IRS ( single node ) ISL ( in plane )
3D Mass ISL ( in space )
2D Mass Slide Line
Beam IRS ( planar/axisym )
Beam in XY Plane IRS ( beam/pipe )
Beam in Space RigidSurf ( Seg )
2D Spar RigidSurf ( Cyl )
3D Spar RigidSurf ( Axi )
Elastic Beam RigidSurf ( Bz2D )
Thin-Walled Beam Shell
Rod Thin Shell
Link Thick Shell
Truss Plate
Spring Bending Panel
Damper 2D Solid
Spring/Damper Membrane
Gap Shear Panel
2D Gap Twist Panel
3D Gap Rigid Surface
Cable 2D Preference
Planar Rigid Surf IRS ( shell/solid )
Combination RigidSurf ( Bz3D )
Surface Effect Solid
1D Mass 3D Preference
Axisymmetric Link
376 PCL Reference Manual
Tools Menu

The input value entity_name can have the following values:

Point Curve Surface


Solid Node Element
MPC

Example:
Please see list_create_ent_att_ep_type (p. 312) in the PCL Reference Manual Examples.

list_create_ent_att_lbc_name (lbc_count, lbc_name, entity_count,


entity_name, return_list)

Description:
This function will retrieve from the database a list of entities with an association to load and boundary
condition names.
Input:
INTEGER lbc_count This value specifies the number of load and
boundary condition names.
STRING lbc_name[31](lbc_count) This array specifies the load and boundary condition
names.
INTEGER entity_count This value specifies the number of acceptable entity
types.
STRING entity_name[7](entity_count) This array specifies the acceptable entity type
names. See the remarks below for more information.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an
error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
Chapter 2: Basic Functions 377
Tools Menu

The input value entity_name can have the following values:

Point Curve Surface


Solid Node Element
MPC

Example:
Please see list_create_ent_att_lbc_name (p. 314) in the PCL Reference Manual Examples.

list_create_ent_att_lbc_type (lbc_type_count, lbc_type_name,


entity_count, entity_name, return_list)

Description:
This function will retrieve from the database a list of entities with an association to load and boundary
condition types.
Input:
INTEGER lbc_type_count This value specifies the number of load and
boundary condition type names.
STRING lbc_type_name[31](lbc_type_count) This array specifies the load and boundary
condition type names. See the remarks below
for more information.
INTEGER entity_count This value specifies the number of acceptable
entity types.
STRING entity_name[7](entity_count) This array specifies the acceptable entity type
names. See the remarks below for more
information.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of
entities.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate an error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message in
the message database.
378 PCL Reference Manual
Tools Menu

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
The input value lbc_type_name can accept a variety of values that are dependent on the type of preference
currently loaded. Examples of these type names are “Temperature”, and “Pressure”. A complete of the
values allowed under the current preference can be seen by selecting “Loads/BCs” on the tool bar of
Patran and then setting the “Action” entry on the form to “Create”. The currently allowed lbc_type_name
values are displayed when the “Object” list on the form is selected.
The input value entity_name can have the following values:

Point Curve Surface


Solid Node Element
MPC

Example:
Please see list_create_ent_att_lbc_type (p. 316) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 379
Tools Menu

list_create_ent_att_mat_name (material_count, material_name,


entity_count, entity_name, return_list)

Description:
This function will retrieve from the database a list of entities with an association to material property
names.
Input:
INTEGER material_count This value specifies the number of materials.
STRING material_name[31](material_count) This array specifies the material names.
INTEGER entity_count This value specifies the number of acceptable
entity types.
STRING entity_name[7](entity_count) This array specifies the acceptable entity type
names. See the remarks below for more
information.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of
entities.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate an error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
The input value entity_name can have the following values:

Point Curve Surface


Solid Node Element
MPC

Example:
Please see list_create_ent_att_mat_name (p. 317) in the PCL Reference Manual Examples.
380 PCL Reference Manual
Tools Menu

list_create_ent_att_mat_type (mat_type_count, mat_type_name,


entity_count, entity_name, return_list)

Description:
This function will retrieve from the database a list of entities with an association to material property
types.
Input:
INTEGER mat_type_count This value specifies the number of
material types.
STRING mat_type_name[31](mat_type_count) This array specifies the material type
names. See the remarks below for more
information.
INTEGER entity_count This value specifies the number of
acceptable entity types.
STRING entity_name[7](entity_count) This array specifies the acceptable entity
type names. See the remarks below for
more information.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string
of entities.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero
value to indicate an error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
The input value mat_type_name can accept a variety of values that are dependent on the type of
preference currently loaded. Examples of these type names are “Isotropic”, and “2d Orthotropic”. A
complete of the values allowed under the current preference can be seen by selecting “Materials” on the
tool bar of Patran and then setting the “Action” entry on the form to “Create”. The currently allowed
mat_type_name values are displayed when the “Object” list on the form is selected.
Chapter 2: Basic Functions 381
Tools Menu

The input value entity_name can have the following values:

Point Curve Surface


Solid Node Element
MPC

Example:
Please see list_create_ent_att_mat_type (p. 319) in the PCL Reference Manual Examples.

list_create_ent_att_mat_value (entity_count, entity_name,


mat_prop_name, minimum, maximum,
eval_at_temperature, evaluation_strain,
evaluation_rate, evaluation_time,
evaluation_frequency, return_list)

Description:
This function will retrieve from the database a list of entities with an association to material property
word values.
Input:
INTEGER entity_count This value specifies the number of acceptable
entity types.
STRING entity_name[7](entity_count) This array specifies the acceptable entity type
names. See the remarks below for more
information.
STRING mat_prop_name[] This value specifies the material property word
name. See the remarks below for more
information.
REAL minimum This value specifies the minimum value for the
range of the material value.
REAL maximum This value specifies the maximum value for the
range of the material value.
REAL evaluation_temperature This value specifies the temperature value used for
field evaluation.
REAL evaluation_strain This value specifies the strain, total strain, plastic
strain, or stress value used for field evaluation.
REAL evaluation_rate This value specifies the strain rate value used for
field evaluation.
REAL evaluation_time This value specifies the time value used for field
evaluation.
382 PCL Reference Manual
Tools Menu

REAL evaluation_frequency This value specifies the frequency value used for
field evaluation.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of
entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an
error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
If a load and boundary condition variable value cannot be evaluated because it is based on a field which
cannot be evaluated, the corresponding material and element properties associated with the material are
skipped. A field that is of the general field type is a typical cause of this behavior.
The input value entity_name can have the following values:

Point Curve Surface


Solid Node Element
MPC

The input value mat_prop_name can have the following values:

Value Name Value Name

1 Reference Temperature 144 Coefficient D


2 Elastic Modulus 145 Coefficient E
3 Elastic Modulus 22 146 Coefficient F
4 Elastic Modulus 33 147 Coefficient G
5 Poisson Ratio 148 Interaction Term 23
6 Poisson Ratio 23 149 Interaction Term 31
7 Poisson Ratio 31 150 Not used
8 Shear Modulus . .
Chapter 2: Basic Functions 383
Tools Menu

9 Shear Modulus 23 . .
10 Shear Modulus 31 . .
11 Not used 502 Not used
12 Not used 503 Stress/Strain Curve
13 Poisson Ratio 13 504 Not used
14 Bulk Modulus . .
15 Lame Constant . .
16 Density . .
17 Conductivity 1000 Not used
18 Conductivity 12 1001 Mass Propornl Damping
19 Conductivity 13 1002 Stiffness Propornl Damping
20 Conductivity 22 1003 Fraction Critical Damping
21 Conductivity 23 1004 Not used
22 Conductivity 33 . .
23 Specific Heat . .
24 Thermal Expansion Coeff . .
25 Thermal Expansion Coeff 22 1010 Not used
26 Thermal Expansion Coeff 33 1011 2nd. Yield Stress
27 Thermal Expansion Coeff 12 1012 Plastic Strain
28 Thermal Expansion Coeff 23 1013 Rate Dependent Param D
29 Thermal Expansion Coeff 31 1014 Rate Dependent Param p
30 Structural Damping Coeff 1016 Dilation Angle
31 Emissivity 1017 Ratio of Flow Stresses
32 Not used 1018 Absolute Plastic Strain
. . 1019 Exponent
. . 1020 Yield Offset
. . 1021 Not used
36 Not used 1022 Not used
37 Composite Options Flag 1023 Material Cohesion
38 Positive Definite Flag 1024 Eccentricity Parameter
39 Total Laminate Thickness 1025 Yield Surface Transition
40 Number of Plies 1026 Surface Radius Parameter
41 Laminate Offset 1027 Hydrostatic Yield Stress
42 Moisture Expansion Coeff 11 1028 Volumetric Plastic Strain
384 PCL Reference Manual
Tools Menu

43 Moisture Expansion Coeff 22 1029 Not used


44 Moisture Expansion Coeff 33 . .
45 Moisture Expansion Coeff 12 . .
46 Moisture Expansion Coeff 23 . .
47 Moisture Expansion Coeff 31 1100 Not used
48 Force Resultant (N1) per Temp 1101 Real Part of g1
49 Force Resultant (N2) per Temp 1102 Imaginary Part of g1
50 Force Resultant (N12) per Temp 1103 Value of a
51 Moment Resultant (M1) per Temp 1104 Real Part of k1
52 Moment Resultant (M2) per Temp 1105 Imaginary Part of k1
53 Moment Resultant (M12) per Temp 1106 Value of b
54 Stiffness 11 1107 Not used
55 Stiffness 12 . .
56 Stiffness 13 . .
57 Stiffness 22 . .
58 Stiffness 23 1200 Not used
59 Stiffness 33 1201 Value of A
60 Stiffness 44 1202 Value of B
61 Stiffness 45 1203 Value of n
62 Stiffness 46 1204 Value of m
63 Stiffness 55 1205 Value of delta_H
64 Stiffness 56 1206 Value of R
65 Stiffness 66 1207 Not used
66 Stiffness 14 . .
67 Stiffness 15 . .
. Stiffness 16 .
68 Not used 1300 Not used
69 Stiffness 24 1301 Coefficient C10
70 Stiffness 25 1302 Coefficient C20
71 Stiffness 26 1303 Coefficient C30
72 Stiffness 34 1304 Coefficient C40
73 Stiffness 35 1305 Coefficient C50
74 Stiffness 36 1306 Coefficient C60
75 Stiffness 11 1307 Not used
Chapter 2: Basic Functions 385
Tools Menu

76 Stiffness 12 1308 Not used


77 Stiffness 13 1309 Not used
78 Stiffness 22 1310 Not used
79 Stiffness 23 1311 Coefficient C01
80 Stiffness 33 1312 Coefficient C02
81 Membrane Stiffness 11 1313 Coefficient C03
82 Membrane Stiffness 12 1314 Coefficient C04
83 Membrane Stiffness 13 1315 Coefficient C05
84 Membrane Stiffness 22 1316 Coefficient C06
85 Membrane Stiffness 23 1317 Not used
86 Membrane Stiffness 33 1318 Not used
87 Bending Stiffness 11 1319 Not used
88 Bending Stiffness 12 1320 Not used
89 Bending Stiffness 13 1321 Coefficient C11
90 Bending Stiffness 22 1322 Coefficient C21
91 Bending Stiffness 23 1323 Coefficient C12
92 Bending Stiffness 33 1324 Coefficient C31
93 Coupling Stiffness 11 1325 Coefficient C22
94 Coupling Stiffness 12 1326 Coefficient C13
95 Coupling Stiffness 13 1327 Coefficient C41
96 Coupling Stiffness 22 1328 Coefficient C32
97 Coupling Stiffness 23 1329 Coefficient C23
98 Coupling Stiffness 33 1330 Coefficient C14
99 Tension Stress Limit 1331 Coefficient C51
100 Compression Stress Limit 1332 Coefficient C42
101 Shear Stress Limit 1333 Coefficient C33
102 Tension Stress Limit 22 1334 Coefficient C24
103 Compression Stress Limit 22 1335 Coefficient C15
104 Shear Stress Limit 23 1336 Not used
105 Tension Stress Limit 33 . .
106 Compression Stress Limit 33 . .
107 Shear Stress Limit 31 . .
108 Tension Strain Limit 1400 Not used
109 Compression Strain Limit 1401 Coefficient MU1
386 PCL Reference Manual
Tools Menu

110 Shear Strain Limit 1402 Coefficient MU2


111 Tension Strain Limit 22 1403 Coefficient MU3
112 Compression Strain Limit 22 1404 Coefficient MU4
113 Shear Strain Limit 23 1405 Coefficient MU5
114 Tension Strain Limit 33 1406 Coefficient MU6
115 Compression Strain Limit 33 1407 Not used
116 Shear Strain Limit 31 1408 Not used
117 Ht Ratio 1409 Not used
118 Not used 1410 Not used
119 Not used 1411 Coefficient ALPHA_1
120 Hardening Slope 1412 Coefficient ALPHA_2
121 Yield Point 1413 Coefficient ALPHA_3
122 Equivalent Yield Stress (J1=0) 1414 Coefficient ALPHA_4
123 Alpha 1415 Coefficient ALPHA_5
124 Beta 1416 Coefficient ALPHA_6
125 Stress 11 Yield Ratio 1417 Not used
126 Stress 22 Yield Ratio 1418 Not used
127 Stress 33 Yield Ratio 1419 Not used
128 Stress 12 Yield Ratio 1420 Not used
129 Stress 23 Yield Ratio 1421 Coefficient D1
130 Stress 31 Yield Ratio 1422 Coefficient D2
131 Internal Friction Angle 1423 Coefficient D3
132 Bonding Shear Stress Limit 1424 Coefficient D4
133 Interaction Term 1425 +Coefficient D5
134 Failure Index 1426 Coefficient D6
135 Creep Reference Temperature 1427 Not used
136 Creep Threshold Factor . .
137 Temperature Dependence Exponent . .
138 Primary Creep Stiffness . .
139 Primary Creep Damping 2001 Not used
140 Secondary Creep Damping 2002 SigmaYY/Strain Curve
141 Coefficient A 2003 SigmaZZ/Strain Curve
142 Coefficient B 2004 SigmaXY/Strain Curve
Chapter 2: Basic Functions 387
Tools Menu

143 Coefficient C 2005 SigmaYZ/Strain Curve


2006 SigmaZX/Strain Curve

Example:
Please see list_create_ent_att_mat_value (p. 320) in the PCL Reference Manual Examples.

list_create_ent_att_vp_vis (viewport_count, viewport_name, entity_count,


entity_name, pick_type, pick_erased, return_list)

Description:
This function will retrieve from the database a list of entities with an association to viewports.
Input:
INTEGER viewport_count This value specifies the number of viewports.
STRING viewport_name[31](viewport_ This array specifies the viewport names. The
count) default viewport will be used if this value is set to
““.
INTEGER entity_count This value specifies the number of acceptable
entity types.
STRING entity_name[7](entity_count) This array specifies the acceptable entity type
names. See the remarks below for more
information.
INTEGER pick_type This value specifies the type of operation used to
select entities in the viewport. This value can be set
to 0 for picking entities with a centroid visible in
the viewport, 1 for picking entities that have any
portion of themselves visible in the viewport, or 2
for picking only entities that are completely visible
in the viewport.
INTEGER pick_erased This value specifies, when set to TRUE, that
entities that have been erased but are still
associated with the viewport be considered for
retrieval.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an
error.
388 PCL Reference Manual
Tools Menu

Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message in
the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
The input value entity_name can have the following values:

Point Curve Surface


Solid Node Element
MPC

Example:
Please see list_create_ent_att_vp_vis (p. 323) in the PCL Reference Manual Examples.

list_create_fem_con_fem (in_list, get_node_con_to_node_by_elem,


get_node_con_to_node_by_mpc,
get_node_used_by_elem,
get_node_used_by_mpc, get_elem_using_node,
get_elem_adj_to_elem, get_elem_adj_to_mpc,
get_mpc_using_node, get_mpc_adj_to_elem,
get_mpc_adj_to_mpc, return_list)

Description:
This function queries the database for entities connected to those in a list processor string.
Input:
STRING in_list[] This value specifies the list processor string
of entities.
INTEGER get_node_con_to_node_by_elem This value specifies 1 (TRUE): get nodes
connected to nodes in the list processor
string by being part of a same Element. 0
otherwise.
INTEGER get_node_con_to_node_by_mpc This value specifies 1 (TRUE): get nodes
connected to nodes in the list processor
string by being part of a same MPC. 0
otherwise.
Chapter 2: Basic Functions 389
Tools Menu

INTEGER get_node_used_by_elem This value specifies 1 (TRUE): get nodes


part of an Element in the list processor
string. 0 otherwise.
INTEGER get_node_used_by_mpc This value specifies 1 (TRUE): get nodes
part of an MPC in the list processor string. 0
otherwise.
INTEGER get_elem_using_node This value specifies 1 (TRUE): get
Elements having at least one node in the list
processor string. 0 otherwise.
INTEGER get_elem_adj_to_elem This value specifies 1 (TRUE): get
Elements adjacent (sharing at least a node)
to an Element in the list processor string. 0
otherwise.
INTEGER get_elem_adj_to_mpc This value specifies 1 (TRUE): get
Elements adjacent (sharing at least a node)
to an MPC in the list processor string. 0
otherwise.
INTEGER get_mpc_using_node This value specifies 1 (TRUE): get MPCs
having at least one node in the list processor
string. 0 otherwise.
INTEGER get_mpc_adj_to_elem This value specifies 1 (TRUE): get MPCs
adjacent (sharing at least a node) to an
Element in the list processor string. 0
otherwise.
INTEGER get_mpc_adj_to_mpc This value specifies 1 (TRUE): get MPCs
adjacent (sharing at least a node) to an MPC
in the list processor string. 0 otherwise.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of
entities. The entities output are exclusive
(not within) to the input list processor string
in_list.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value
to indicate an error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.
390 PCL Reference Manual
Tools Menu

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
Example:
Please see list_create_fem_con_fem (p. 324) in the PCL Reference Manual Examples.

list_create_node_ass_elem (element_list, target, return_list)

Description:
This function will create a list of all nodes associated with a list of elements.
Input:
STRING element_list[] This value specifies a list of elements.
STRING target[6] This value specifies which global string will be
used for the storage of the results. This argument
can have the following values: ”lista”, or “listb”.
Output:
STRING return_list[VIRTUAL] This value returns a list of nodes.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1 This is an internal status condition. There is no corresponding status message in the
message database.
258 This is an internal status condition. There is no corresponding status message in the
message database.
259 This is an internal status condition. There is no corresponding status message in the
message database.
14000004 LpSublistType: I am being invoked with a NULL list
48000001 *%A% * is not a valid target list!
48000004 No Node found!

Remarks:
Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
Chapter 2: Basic Functions 391
Tools Menu

This function can display an information popup form with the following messages:

48000004 No Node found!

This function can display a warning popup form with the following messages:

1 Not owner
14000004 LpSublistType: I am being invoked with a NULL list
48000001 *%A% * is not a valid target list!

This function makes use of following documented functions:


db_count_nodes()
fem_u_count_id_list()
list_create_target_list()
sys_allocate_array()
Example:
Please see list_create_node_ass_elem (p. 326) in the PCL Reference Manual Examples.

list_create_node_ass_geo (geometry_list, target, return_list)

Description:
This function will create a list of all nodes associated with a list of geometry IDs.
Input:
STRING geometry_list[] This value specifies a list of geometry IDs.
STRING target[6] This value specifies which global string will be used
for the storage of the results. This argument can have
the following values: ”lista”, or “listb”.
Output:
STRING return_list[VIRTUAL] This value returns a list of nodes.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
392 PCL Reference Manual
Tools Menu

14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.
48000004 No Node found!

Remarks:
Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
This function can display an information popup form with the following messages:

48000004 No Node found!

This function can display a warning popup form with the following messages:

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
Chapter 2: Basic Functions 393
Tools Menu

14000049 LpParseExpression: Excess left parenthesis detected.


14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

This function makes use of following documented functions:


list_create_target_list()
sys_allocate_array()
Example:
Please see list_create_node_ass_geo (p. 328) in the PCL Reference Manual Examples.

list_create_node_ass_group (group_list, number_of_groups, target,


return_list)

Description:
This function will create a list of all nodes associated with a list of groups.
Input:
STRING group_list[](number_of_grou This value specifies a list of groups of geometric
ps) entities.
INTEGER number_of_groups This value specifies the number of groups in the
group_list input value.
STRING target[6] This value specifies which global string will be used
for the storage of the results. This argument can have
the following values: “lista”, or “listb”.
Output:
STRING return_list[VIRTUAL] This value returns a list of nodes.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
8104003 Out of room in destination format string.
8107002 Last command aborted.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
394 PCL Reference Manual
Tools Menu

11000121 There is not a current group defined.


11000127 The group does not have any entities in it.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000008 Group not found
13000014 Viewport not found
14000001 LpGetHeapSpace: Allocated heap space is exhausted
48000004 No Node found!
48000010 No Group selected!

Remarks:
Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
This function can display an information popup form with the following messages:

48000004 No Node found!

This function can display a warning popup form with the following messages:

8104003 Out of room in destination format string.


8107002 Last command aborted.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000121 There is not a current group defined.
11000127 The group does not have any entities in it.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000008 Group not found
13000014 Viewport not found
14000001 LpGetHeapSpace: Allocated heap space is exhausted
48000010 No Group selected!

This function makes use of following documented functions:


list_create_target_list()
Chapter 2: Basic Functions 395
Tools Menu

Example:
Please see list_create_node_ass_group (p. 329) in the PCL Reference Manual Examples.

list_create_node_att_fringe (fringe_limits, fringe_comparison_type,


tolerance, group_name, target, return_list)

Description:
This function will create a list of all nodes with a specified fringe value associated with a single group
of geometric entities.
Input:
REAL fringe_limits(2) This value specifies the lower fringe limit as the
value in offset 1 and the upper fringe limit as the
value in offset 2.
STRING fringe_comparison_type[7] This value specifies the method that will be used for
comparing the fringe limits to the fringe value of the
element shape.
REAL tolerance This value specifies a range over which a match
between the input value fringe_limits and the fringe
value for the finite element model shape can be
made.
STRING group_name[] This value specifies the name of a group of
geometric entities.
STRING target[6] This value specifies which global string will be used
for the storage of the results. This argument can have
the following values: “lista”, or “listb”.
Output:
STRING return_list[VIRTUAL] This value returns a list of nodes.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
13000008 Group not found
13000021 Element not found
15500001 Message 15500001 not found in message file(s)
15500002 Message 15500002 not found in message file(s)
15500003 Message 15500003 not found in message file(s)
48000001 *%A% * is not a valid target list!
396 PCL Reference Manual
Tools Menu

48000004 No Node found!


48000010 No Group selected!
48000014 *%A% * is not a valid Value option!

Remarks:
The input value fringe_comparison_type can have the following values:

Operation Name Operation Action


“equal” Is the fringe value within the input value tolerance of the input value
fringe_limits(1)?
“minimum” Is the fringe value less than the input value fringe_limits(1) plus the input
value tolerance?
“maximum” Is the fringe value greater than the input value fringe_limits(1) plus the
input value tolerance?
“range” Does the fringe value fall in the range defined by the input value
fringe_limits(1) as the lower limit and input value fringe_limits(2) as the
upper limit plus or minus the input value tolerance?

Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
This function can display an information popup form with the following message:

48000004 No Node found!

This function can display a warning popup form with the following messages:

13000008 Group not found


13000021 Element not found
15500001 Message 15500001 not found in message file(s)
15500002 Message 15500002 not found in message file(s)
15500003 Message 15500003 not found in message file(s)
48000001 *%A% * is not a valid target list!
48000010 No Group selected!
Chapter 2: Basic Functions 397
Tools Menu

This function makes use of following documented functions:


db_count_elems_in_group()
db_get_group_id()
list_create_target_list()
Example:
Please see list_create_node_att_fringe (p. 331) in the PCL Reference Manual Examples.

list_create_node_att_value (coord_values, coord_values_active,


coord_comparison_type, tolerance,
coord_name, target, return_list)

Description:
This function will get all nodes with a specified coordinate value.
Input:
REAL coord_values(6) This value specifies a list of sets of fringe limits as
follows: the lower fringe limits and the upper
fringe limits for set 1 are at offsets 1 and 4, the
lower fringe limits and the upper fringe limits for
set 2 are at offsets 2 and 5, the lower fringe limits
and the upper fringe limits for set 3 are at offsets 3
and 6.
LOGICAL coord_values_active(3) This value specifies which sets of fringe values are
used for the fringe comparison by setting offset 1
TRUE for the first set, offset 2 TRUE for the
second set, and offset 3 TRUE for the third set.
STRING coord_comparison_type{}(3) This value specifies the method that will be used
for comparing the fringe limits to the fringe value
of the element shape. See the remarks below for
more information.
REAL tolerance(2) This value specifies a range over which a match
between the input value fringe_limits and the
fringe value for the finite element model shape can
be made.

The first array offset is used to set the distance


value for the x, y, and z axis for rectangular
coordinate systems. The second array offset is
used to set the r and z axis distances for cylindrical
coordinate systems. The third array offset is used
to set the theta angle for cylindrical coordinate
systems.
398 PCL Reference Manual
Tools Menu

STRING coord_name{} This value specifies the name of a group of


geometric entities.
STRING target[] This value specifies which global string will be
used for the storage of the results. This argument
can have the following values: “lista”, or “listb”.

Output:
STRING return_list[VIRTUAL] This value returns a list of nodes.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.

Example:
Please see list_create_node_att_value (p. 333) in the PCL Reference Manual Examples.

list_create_point_ass_geo (entity_list, target, return_list)

Description:
Get all points associated to geometry.
Input:
STRING entity_list[] This value specifies a list of geometric entities.
STRING target[6] This value specifies which global string will be
used for the storage of the results. This argument
can have the following values: “lista”, or “listb”.
Output:
STRING return_list[VIRTUAL] This value returns a list of points.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
Chapter 2: Basic Functions 399
Tools Menu

14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.
48000001 *%A% * is not a valid target list!
48000005 No Point found!

Remarks:
Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
This function can display an information popup form with the following messages:

48000005 No Point found!

This function can display a warning popup form with the following messages:

14000001 LpGetHeapSpace: Allocated heap space is exhausted


14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic
CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is
unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is
unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist does not match the
sublist filter.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
400 PCL Reference Manual
Tools Menu

14000049 LpParseExpression: Excess left parenthesis detected.


14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.
48000001 *%A% * is not a valid target list!

This function makes use of following documented functions:


app_get_handle()
list_create_target_list()
Example:
Please see list_create_point_ass_geo (p. 334) in the PCL Reference Manual Examples.

list_create_point_ass_group (group_list, number_of_groups, target,


return_list)

Description:
This function will create a list of all points in a list of groups of geometric entities.
Input:
STRING group_list[](number_of_grou This value specifies a list of groups of geometric
ps) entities.
INTEGER number_of_groups This value specifies the number of groups in the
group_list input value.
STRING target[6] This value specifies which global string will be used
for the storage of the results. This argument can have
the following values: “lista”, or “listb”.
Output:
STRING return_list[VIRTUAL] This value returns a list of points.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
8104003 Out of room in destination format string.
8107002 Last command aborted.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
Chapter 2: Basic Functions 401
Tools Menu

11000105 The specified group was not found in the database.


11000121 There is not a current group defined.
11000127 The group does not have any entities in it.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000008 Group not found
13000014 Viewport not found
48000001 *%A% * is not a valid target list!
48000005 No Point found!
48000010 No Group selected!

Remarks:
Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
This function can display an information popup form with the following messages:

48000005 No Point found!

This function can display a warning popup form with the following messages:

8104003 Out of room in destination format string.


8107002 Last command aborted.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000121 There is not a current group defined.
11000127 The group does not have any entities in it.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000008 Group not found
13000014 Viewport not found
48000001 *%A% * is not a valid target list!
48000010 No Group selected!
402 PCL Reference Manual
Tools Menu

This function makes use of following documented functions:


list_create_target_list()
Example:
Please see list_create_point_ass_group (p. 336) in the PCL Reference Manual Examples.

list_create_surface_ass_geo (entity_list, target, return_list)

Description:
This function will create a list of all surfaces in a list of geometric entities.
Input:
STRING entity_list[] This value specifies a list of geometry IDs for
surfaces.
STRING target[6] This value specifies which global string will be
used for the storage of the results. This argument
can have the following values: “lista”, or “listb”.
Output:
STRING return_list[VIRTUAL] This value returns a list of points.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
7000132 Unable to allocate enough memory for data.
14000001 LpGetHeapSpace: Allocated heap space is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000049 LpParseExpression: Excess left parenthesis detected.
Chapter 2: Basic Functions 403
Tools Menu

14000050 LpParseExpression: Excess right parenthesis detected.


14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.
48000001 *%A% * is not a valid target list!
48000007 No Surface found!

Remarks:
This function will modify the contents of the global string variable specified as the target input value.
Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
This function is used in the implementation of the form that can be accessed through “Tools”, “List”,
“Create” on the Patran menu bar.

This function can display a warning popup form with the following messages:

7000132 Unable to allocate enough memory for data.


14000001 LpGetHeapSpace: Allocated heap space is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000281 LpExpandPclVariables: Virtual memory is full.
14000308 LpEval: Memory exhausted preparing to evaluate pick.
48000007 No Surface found!
404 PCL Reference Manual
Tools Menu

This function makes use of following documented functions:


list_create_target_list()
Example:
Please see list_create_surface_ass_geo (p. 337) in the PCL Reference Manual Examples.

list_create_surface_ass_group (group_list, number_of_groups, target,


return_list)

Description:
This function will create a list of all surfaces in a list of groups of geometric entities.
Input:
STRING group_list[](number_of_groups) This value specifies a list of groups of
geometric entities.
INTEGER number_of_groups This value specifies the number of groups in
the group_list input value.
STRING target[6] This value specifies which global string will
be used for the storage of the results. This
argument can have the following values:
“lista”, or “listb”.
Output:
STRING return_list[VIRTUAL] This value returns a list of surfaces.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
8104003 Out of room in destination format string.
8107002 Last command aborted.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000121 There is not a current group defined.
11000127 The group does not have any entities in it.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000008 Group not found
Chapter 2: Basic Functions 405
Tools Menu

13000014 Viewport not found


48000001 *%A% * is not a valid target list!
48000007 No Surface found!
48000010 No Group selected!

Remarks:
This function is used in the implementation of the form that can be accessed through “Tools”, “List”,
“Create” on the Patran menu bar.

Space is internally allocated for the output value return_list. It is the responsibility of the calling function
to free the allocated string storage space.
This function can display an information popup form with the following messages:

48000007 No Surface found!

This function can display a warning popup form with the following messages:

8104003 Out of room in destination format string.


8107002 Last command aborted.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000121 There is not a current group defined.
11000127 The group does not have any entities in it.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000008 Group not found
13000014 Viewport not found

This function makes use of following documented functions:


list_create_target_list()
Example:
Please see list_create_surface_ass_group (p. 339) in the PCL Reference Manual Examples.
406 PCL Reference Manual
Tools Menu

list_create_target_list (target, entity_list)

Description:
This function allocates space for a string, sets the value of the allocated string using an input value, and
assigns the allocated string to one of two global string variables named lista or listb based on the
settings of two matching internal global variables named lista_nomerge and listb_nomerge.
Input:
STRING target[] This value specifies which global string will be used
for the storage of the results. This argument can have
the following values: “lista”, or “listb”.
STRING entity_list[] This value specifies a list of entities to be stored.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
48000001 *%A% * is not a valid target list!

Remarks:
The input value target can have the following values: “lista”, or “listb”.
The behavior of this function is influenced by the settings in the following global variables:
LOGICAL lista_nomerge
LOGICAL listb_nomerge
This function can modify the following global variables:
STRING list_a[VIRTUAL]
STRING list_b[VIRTUAL]
STRING lista_reset[VIRTUAL]
STRING listb_reset[VIRTUAL]
If the input value target is set to “lista” or “listb” and the matching lista_nomerge or listb_nomerge global
value is set to TRUE, the string passed in the input return_list will be placed at the start of the string stored
in the lista or listb value specified by target. If the matching lista_nomerge or listb_nomerge global values
are set to FALSE, the PCL function list_create_boolean_list() is used to create a sorted list that is placed
at the start of the string stored in the lista or listb value specified by target.
This function saves the old value for lista in the global string lista_reset and the old value for listb in
listb_reset.
By default the lista_nomerge and listb_nomerge global variables are set to FALSE.
Chapter 2: Basic Functions 407
Tools Menu

This function will display a warning popup form with the following message if the target input value is
out of range:

48000001 *%A% * is not a valid target list!

Example:
Please see list_create_target_list (p. 340) in the PCL Reference Manual Examples.

list_filter_by_elem_dim (input_list, criterion, segment_count, minimum,


maximum, return_list)

Description:
This function will create a list processor string of entities for elements which have dimensions within
a specified range.
Input:
STRING input_list[] This value specifies the list processor string of
entities that will be filtered by this function.
STRING criterion[13] This value specifies the element attribute criterion
for evaluation. See the remarks below for more
information.
INTEGER segment_count This value specifies the number of segments
desired for length evaluation on an element edge.
Isoparametric shape functions are used for the
evaluation of intermediate locations. If this value
is 0, then consider segments formed by the straight
lines between the nodes along the edge.
REAL minimum This value specifies the minimum value for the
range of the specified criterion.
REAL maximuim This value specifies the maximum value for the
range of the specified criterion.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of entities
that fit the range and attribute criteria specified in
the input values.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an
error.
408 PCL Reference Manual
Tools Menu

Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
The input value criterion uses the following values to specify the element attributes for evaluation:

Value Description

EdgeLengthMin The minimum edge length of an element.


EdgeLengthMax The maximum edge length of an element.
EdgeLengthAvg The average edge length of an element.
EdgeLengthOne Use at least one edge of an element.
EdgeLengthall Use all of the element edges.
LengthElem1D Use the length of all single dimensional elements.
AreaElem2D Use the area of all two dimensional elements.
VolumeElem3D Use the volume of all three dimensional elements.

Example:
Please see list_filter_by_elem_dim (p. 342) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 409
Tools Menu

list_filter_by_ent_shape (input_list, geometric_points, geometric_curves,


geometric_surfaces, geometric_solids,
element_points, element_beams, element_tria,
element_quad, element_tet, element_wedge,
element_hex, node, mpc, any_other, return_list)

Description:
This function will create a list processor string of entities match the specified entity types.
Input:
STRING input_list[] This value specifies the list processor string of
entities that will be filtered by this function. See the
remarks below for more information.
INTEGER geometric_points This value specifies, when set to FALSE, that all
zero dimensional geometric or point entities be
ignored.
INTEGER geometric_curves This value specifies, when set to FALSE, that all
single dimensional geometric or curve entities be
ignored.
INTEGER geometric_surfaces This value specifies, when set to FALSE, that all two
dimensional geometric or surface entities be
ignored.
INTEGER geometric_solids This value specifies, when set to FALSE, that all
three dimensional geometric or solid entities be
ignored.
INTEGER element_points This value specifies, when set to FALSE, that all
zero dimensional or point elements be ignored.
INTEGER element_beams This value specifies, when set to FALSE, that all
single dimensional or beam elements be ignored.
INTEGER element_tria This value specifies, when set to FALSE, that all two
dimensional triangular elements be ignored.
INTEGER element_quad This value specifies, when set to FALSE, that all two
dimensional quadrilateral elements be ignored.
INTEGER element_tet This value specifies, when set to FALSE, that all
three dimensional tetrahedral elements be ignored.
INTEGER element_wedge This value specifies, when set to FALSE, that all
three dimensional wedge elements be ignored.
INTEGER element_hex This value specifies, when set to FALSE, that all
three dimensional hexagonal elements be ignored.
410 PCL Reference Manual
Tools Menu

INTEGER node This value specifies, when set to FALSE, that all
nodes be ignored.
INTEGER mpc This value specifies, when set to FALSE, that all
mass property constraints be ignored.
INTEGER any_other This value specifies, when set to FALSE, that all
entities of a type that is not listed above be ignored.
Output:
STRING return_list[ VIRTUAL] This value returns a list processor string of entities
that match the specified types.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an
error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
An example of a list processor string used as an input for this function might look like this:
“Surface 1.3 Element 1 2.4”
Note that only the last level of the sub-entities are considered by this function: in “Surface 1.3” we are
considering the hypothetical curve defined by the 3rd edge of surface 1. In “Element 2.4” we consider
the hypothetical element defined by face 1 of element 3.
Example:
Please see list_filter_by_ent_shape (p. 343) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 411
Tools Menu

list_filter_by_ep_type (input_list, ep_type_count, ep_type_name,


return_list)

Description:
This function will create a list processor string of entities that match the specified element property
types.
Input:
STRING input_list[] This value specifies the list processor
string of entities that will be filtered by
this function.
INTEGER ep_type_count This value specifies the number of
generic element types.
STRING ep_type_name[31](type_count) This array specifies the generic element
type names. See the remarks below for
more information.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string
of entities that match the specified types.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero
value to indicate an error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
412 PCL Reference Manual
Tools Menu

The input value ep_type_name can have the following values:

Mass Axisym Shell


Rotary Inertia 1D Preference
Grounded Spring Planar Beam
Grounded Damper 3D Beam
IRS ( single node ) ISL ( in plane )
3D Mass ISL ( in space )
2D Mass Slide Line
Beam IRS ( planar/axisym )
Beam in XY Plane IRS ( beam/pipe )
Beam in Space RigidSurf ( Seg )
2D Spar RigidSurf ( Cyl )
3D Spar RigidSurf ( Axi )
Elastic Beam RigidSurf ( Bz2D )
Thin-Walled Beam Shell
Rod Thin Shell
Link Thick Shell
Truss Plate
Spring Bending Panel
Damper 2D Solid
Spring/Damper Membrane
Gap Shear Panel
2D Gap Twist Panel
3D Gap Rigid Surface
Cable 2D Preference
Planar Rigid Surf IRS ( shell/solid )
Combination RigidSurf ( Bz3D )
Surface Effect Solid
1D Mass 3D Preference
Axisymmetric Link

Example:

Please see list_filter_by_ep_type (p. 345) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 413
Tools Menu

list_filter_by_ep_value (input_list, element_property, component,


minimum, maximum, return_list)

Description:
This function will create a list processor string of entities that match the specified element property
word value range.
Input:
STRING input_list[] This value specifies the list processor string of
entities that will be filtered by this function.
STRING element_property[] This value specifies the element property word
string. See the remarks below for more
information.
INTEGER component This value specifies the component of data to
extract. This value ranges from 1 to 3 and is
ignored if the entities in the input value
input_list are scalar values.
REAL minimum This value specifies the minimum value for the
range of the specified criterion.
REAL maximum This value specifies the maximum value for the
range of the specified criterion.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of
entities that match the specified types.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an
error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
The input value element_property can have the following word name values:
414 PCL Reference Manual
Tools Menu

Value Word Name Value Word Name

1 Area 2094 Shear Area at J


2 Beam Orientation Not used
.
3 Center of Rotation
.
4 Closure Direction Not used
5 Damping Coefficient
6 Definition of XY Plane 2097 Y Direction Shear Constant
7 Dof at Node 1 2098 Z Direction Shear Constant
8 Dof at Node 2 2099 Slide Force Limit
9 Emissivity 2100 Stability Options
10 Inertia 1,1 Not used
11 Inertia 2,2 2102 Sticking Options
12 Inertia 3,3 2103 Sticking Stiffness
13 Material Name 2104 Spring Constant 1
14 Translation Inertia,X 2105 Spring constant 2
15 Translation Inertia,Y 2106 Stifness Direction Options
16 Translation Inertia,Z Not used
17 Ixx 2108 Strain Representation Options
18 Iyy 2109 Temperature Loading Options
19 Izz 2110 Thermal Capacitance
20 Orientation Angle 2111 Theta
21 Orientation System 2113 Thickness at I
22 Pipe Thickness 2114 Thickness at J
23 Rotary Inertia,XX 2115 Y Direction Thickness
24 Rotary Inertia,YY 2116 Z Direction Thickness
25 Rotary Inertia,ZZ 2117 Y Bottom Thickness at I
27 Section Height 2118 Y Bottom Thickness at J
28 Section Radius (ave) 2119 Y Top Thickness at I
29 Section Width 2120 Y Top Thickness at J
Chapter 2: Basic Functions 415
Tools Menu

30 Shear Area-2 2121 Z Bottom Thickness at I


31 Shear Area-3 2122 Z Bottom Thickness at J
32 Shear Area-y 2123 Z Top Thickness at I
33 Shear Area-z 2124 Z Top Thickness at J
34 Stefan-Boltzmann Constant 2125 Distance Centroid to Top
35 Stiffness 2126 Distance Centroid to Top at I
36 Thickness 2127 Distance Centroid to Top at J
Not used 2128 Torsional Shear Factor at I
.
2129 Torsional Shear Factor at J
.
Not used 2130 Ultimate Shear Stress
2131 Unloading Path Options
1002 Degree-of-freedom Not used
.
1003 Element Set Name
.
1004 Shear Factor Not used
1005 Reference Temperature
1006 X-Sectional area 3001 Absolute Temp Conversion
Not used 3002 Angular Vel at Center of Rot
.
3003 Branch Length
.
Not used 3004 Closure Distance
3005 Direction of Rotation Axis
1010 Mass Magnitude 3006 dx/ds where Branches Begin
1011 Mass Damping Factor 3007 dx/ds where Branches End
1012 Crit Damping Factor 3008 dy/ds where Branches Begin
1013 Force/Displcmnt Tble 3009 dy/ds where Branches End
1014 Force/Velocity Table 3010 Element Length
1015 Channel Thickness 3011 Film Coefficient
1016 Initial Clearence 3012 Friction Coefficient
1017 Stiffness in Stick 3013 Initially Open or Closed
1018 Equiv Shear Strs Lim 3014 Initial Stress
1019 Friction in Dir_1 3015 K Normal (closed)
416 PCL Reference Manual
Tools Menu

1020 Friction in Dir_2 3016 K Tangent (closed)


1021 Area Moment I1 3017 Limiting Distance
1022 Area Moment I2 3018 Min or Max Limit Type
1023 Area Moment I11 3019 Number Divisions ea Branch
1024 Area Moment I22 3020 Thicknesses where Branches Begin
1025 Area Moment I12 3021 Thicknesses where Branches End
1026 Torsional Constant 3022 Tied Shell Thickness
1027 Outside Radius 3023 Activation Time
Not used 3024 Deactivation Time
. 3025 Vel at Center of Rotation
.
Not used 3026 X Coords where Branches Begin
3027 X Coords where Branches End
1031 Thickness_RHS 3028 Y Coords where Branches Begin
1032 Thickness_TOP 3029 Y Coords where Branches End
1033 Thickness_LHS Not used
1034 Thickness_BOT .
.
Not used Not used
1036 Centroidal Height
Not used 4001 Mass Orientation
1038 Bottom Web Width 4002 Mass Component 1,1
1039 Top Web Width 4003 Mass Component 2,1
1040 Bottom Web Thickness 4004 Mass Component 2,2
1041 Top Web Thickness 4005 Mass Component 3,1
1042 Middle Web Thickness 4006 Mass Component 3,2
1043 Circumscrbing Radius 4007 Mass Component 3,3
Note used 4008 Mass Component 4,1
1045 Wall Thickness 4009 Mass Component 4,2
1046 Torus Radius 4010 Mass Component 4,3
1047 Bottom Width 4011 Mass Component 4,4
1048 Top Width 4012 Mass Component 5,1
1049 Horizontal Width 4013 Mass Component 5,2
1050 Vertical Height 4014 Mass Component 5,3
1051 Horizontal Thickness 4015 Mass Component 5,4
Chapter 2: Basic Functions 417
Tools Menu

1052 Vertical Thickness 4016 Mass Component 5,5


Not used 4017 Mass Component 6,1
1054 Surfce Contct Softnd 4018 Mass Component 6,2
1055 Clearence Zero-Press 4019 Mass Component 6,3
1056 Contact Pressure 4020 Mass Component 6,4
1057 Maximum Overclosure 4021 Mass Component 6,5
1058 Maximum -ve Pressure 4022 Mass Component 6,6
1059 Gap Conductance Tble 4023 Spring Constant
1060 Rad Constant Fa 4024 Mass Offset
1061 Rad Constant Fb 4026 Inertia 2,1
1062 Absolute Zero Temp 4028 Inertia 3,1
1063 Hourglss Stiff Param 4029 Inertia 3,2
1064 Shear Stiffness K13 4032 Stress Coefficient
1065 Shear Stiffness K23 4033 Ext. Viscous Coeff.
1066 Ave Shear Stiffness 4034 Rot. Viscous Coeff.
1067 Membrne Hourglss Stif 4036 Tors. Stress Coeff.
1068 Normal Hourglss Stiff 4037 Nonstructural Mass
1069 Bending Hourglss Stiff 4039 Outer Diam. @ Node 2
1070 Density, mass/area Not used
1071 # Integration Points .
.
1072 Poisson Parameter Not used
1073 Point Tangents Intersection
1074 Integ Points thru Thickness 4042 Offset @ Node 1
1075 Integ Points around Pipe 4043 Offset @ Node 2
1076 # Ovalization Modes 4044 Shear Stiff. Y
1077 Section Points 4045 Shear Stiff. Z
1079 Orientation Axis 4046 Shear Stiff. R
1080 Shell Thickness 4047 Y of Point C
1081 Membrane Thickness 4048 Z of Point C
Not used 4049 R of Point C
. 4050 Y of Point D
.
Not used 4051 Z of Point D
4052 R of Point D
2015 Distance Centroid to Bottom at I 4053 Y of Point E
418 PCL Reference Manual
Tools Menu

2016 Distance Centroid to Bottom at J 4054 Z of Point E


2017 Cable or Gap Option 4055 R of Point E
2018 Cable Stiffness Options 4056 Y of Point F
2019 Convection Function Constant 4057 Z of Point F
2020 Compression Options 4058 R of Point F
2021 Heat Gen. Rate Const1 4059 Ys of C Points
2022 Heat Gen. Rate Const2 4060 Zs of C Points
2023 Heat Gen. Rate Const3 4061 Station Distances
2024 Heat Gen. Rate Const4 4062 Ys of D Points
2025 Heat Gen. Rate Const5 4063 Zs of D Points
2026 Heat Gen. Rate Const6 4064 Warp DOF @ Node 1
2027 Convergence Tolerance 4065 Ys of E Points
2028 Damping Coefficient 1 4066 Zs of E Points
2029 Damping Coefficient 2 4067 Warp DOF @ Node 2
2030 Deflection 4068 Ys of F Points
2031 Delta Temperature 4069 Zs of F Points
2032 Degree(s) of Freedom 4070 Cross Sect. Areas
2033 Shear Center Offset Y at I 4071 Initial Opening
2034 Shear Center Offset Y at J 4072 Preload
2035 Shear Center Offset Z at I 4073 Opened Stiffness
2036 Shear Center Offset Z at J 4074 Closed Stiffness
2037 Application Type 4075 Sliding Stiffness
Not used 4076 Friction Coeff. Y
. 4077 Friction Coeff. Z
.
Not used 4078 Inertias 1,1
4079 Inertias 1,2
2042 Y Elastic Foundation Stiffness 4080 Inertias 2,2
2043 Z Elastic Foundation Stiffness 4081 Torsional Constants
2044 Elastic Foundation Stiffness 4082 Nonstructural Masses
2046 Empirical Convection Term 4083 Shear Relief Y
Expone
2047 End I Releases 4084 Shear Relief Z
2048 End J Releases 4085 NSM Inertia @ Node 1
2049 Extra Shapes Option 4086 NSM Inertia @ Node 2
Chapter 2: Basic Functions 419
Tools Menu

2050 Force 4087 Warp Coeff. @ Node 1


2051 Geometric Form Factor 4088 Warp Coeff. @ Node 2
2052 Gap Size 4089 Y of NSM @ Node 1
2053 Gap Size Opion 4090 Z of NSM @ Node 1
2054 Heat Rate 4091 Y of NSM @ Node 2
2055 Height 4092 Z of NSM @ Node 2
2056 Initial Displacement 4093 Y of NSM
2057 Initial Status 4094 Z of NSM
2058 Initial Strain 4095 Y of NA @ Node 1
2059 Layer Input Format 4096 Z of NA @ Node 1
2060 Torsional Moment of Inertia at I 4097 Y of NA @ Node 2
2061 Torsional Moment of Inertia at J 4098 Z of NA @ Node 2
2062 Y Moment of Inertia at I 4099 Y of Neut. Axis
2063 Y Moment of Inertia at J 4100 Z of Neut. Axis
2064 Z Moment of Inertia at I 4101 Center of Curvature
2065 Z Moment of Inertia at J 4102 Radial NA Offset
2066 Large Deflection Coordinate Opti 4103 Mean Pipe Radius
2067 Segment Point Y Location(s) 4104 Internal Pipe Press.
2068 Segment Point Z Location(s) 4105 Stress Intensific.
2069 Mass 4106 Symmetry Option
2070 Mass Distribution 4107 Ys of Lumped Areas
2071 Mass Matrix Options 4108 Zs of Lumped Areas
Not used 4109 Area Factors
. Not used
.
Not used 4111 Plate Offset
4112 Membrane Material
2076 Bending Moment Of Inertia Ratio 4113 Bending Material
Not used 4114 Shear Material
. 4115 Coupling Material
.
Not used 4116 Bending Stiffness
4117 Thickness Ratio
2080 Node Location Options 4118 Fiber Dist. 1
2081 X Nodal Offset at I 4119 Fiber Dist. 2
2082 X Nodal Offset at J Not used
420 PCL Reference Manual
Tools Menu

2083 Normal Stiffness 4121 Extensional Stiff. 12


2084 Outer Diameter 4122 Extensional Stiff. 14
2085 Pressure Direction Options Not used
2086 Pressure Loading Options 4124 Integration Network
2087 Pressure Sign Options 4125 Output Locations
2088 Radiation Equation Types 4126 Integration Scheme
2089 Radius 4127 Gap Orientation
Not used 4128 Axial Bar Offset
. 4129 Radial Bar Offset
.
Not used

2093 Shear Area at I

Example:
Please see list_filter_by_ep_value (p. 347) in the PCL Reference Manual Examples.

list_filter_by_fem_type (input_list, fem_type_count,


fem_type_name, return_list)

Description:
This function will create a list processor string of entities that match the specified FEM type.
Input:
STRING input_list[] This value specifies the list processor string of entities
that will be filtered by this function.
INTEGER fem_type_count This value specifies the number of finite element type
names.
STRING fem_type_name[31](fem This array specifies the finite element types. See the
_type_count) remarks below for more information.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message in
the message database.
Chapter 2: Basic Functions 421
Tools Menu

Remarks:
The input value fem_type_name can accept the following FEM type values:

Node Elm ElmPoint ElmBar


ElmBar2 ElmBar3 ElmBar4 ElmTri
ElmTri3 ElmTri4 ElmTri6 ElmTri7
ElmTri9 ElmTri13 ElmQuad ElmQuad4
ElmQuad5 ElmQuad8 ElmQuad9 ElmQuad12
ElmQuad16 ElmTet ElmTet4 ElmTet5
ElmTet10 ElmTet11 ElmTet14 ElmTet15
ElmTet16 ElmTet40 ElmWed ElmWed6
ElmWed7 ElmWed15 ElmWed16 ElmWed20
ElmWed21 ElmWed24 ElmWed52 ElmHex
ElmHex8 ElmHex9 ElmHex20 ElmHex21
ElmHex26 ElmHex27 ElmHex32 ElmHex64
MPC MPC/Explicit MPC/Rigid MPC/RBAR
MPC/RBE1 MPC/RBE2 MPC/RBE3 MPC/RROD
MPC/RSPLINE MPC/RTRPLT MPC/CyclicSymmetry
MPC/Sliding Surface

Specific MPC types can be selected for other preferences by using the same names as those listed in the
preference form and adding “MPC/” as a prefix to the name while being careful to include and spaces in
the original name.
Memory is allocated for the return list output variable within this function. If memory was allocated prior
to the call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no
need to release the memory of the output variable.
Example:
Please see list_filter_by_fem_type (p. 349) in the PCL Reference Manual Examples.
422 PCL Reference Manual
Tools Menu

list_filter_by_lbc_type (input_list, lbc_type_count,


lbc_type_name, return_list)

Description:
This function will create a list processor string of entities that match the specified load and boundary
condition type.
Input:
STRING input_list[] This value specifies the list processor string of
entities that will be filtered by this function.
INTEGER lbc_type_count This value specifies the number of load and
boundary condition type names.
STRING lbc_type_name[31](lbc_type_cou This array specifies the load and boundary
nt) condition type names. See the remarks below
for more information.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of
entities.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate an error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
The input value lbc_type_name can accept a variety of values that are dependent on the type of preference
currently loaded. Examples of these type names are “Temperature”, and “Pressure”. A complete of the
values allowed under the current preference can be seen by selecting “Loads/BCs” on the tool bar of
Patran and then setting the “Action” entry on the form to “Create”. The currently allowed lbc_type_name
values are displayed when the “Object” list on the form is selected.
Example:
Please see list_filter_by_lbc_type (p. 351) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 423
Tools Menu

list_filter_by_lbc_value (input_list, load_case_name, lbc_var_name,


component, minimum, maximum, evaluation_time,
evaluation_frequency, sub_entity, return_list)

Description:
This function will create a list processor string of entities that match the specified load and boundary
condition value range.
Input:
STRING input_list[] This value specifies the list processor string of entities
that will be filtered by this function. Face and edge sub-
entity ids are ignored.
STRING load_case_name[] This value specifies the load case name. The default load
case is used if this value is set to ““.
STRING lbc_var_name[] This value specifies the load and boundary condition
variable name. See the remarks below for more
information.
INTEGER component This value specifies the component of data to extract.
This value ranges from 1 to 3 and is ignored if the entities
in the input value input_list are scalar values.
REAL minimum This value specifies the minimum value for the range of
the load and boundary condition value.
REAL maximum This value specifies the maximum value for the range of
the load and boundary condition value.
REAL evaluation_time This value specifies the time value used for field
evaluation.
REAL evaluation_frequency This value specifies the frequency value used for field
evaluation.
STRING sub_entity[] This value specifies, when set to “ANY”, that any sub-
entity that corresponds to the input value lbc_var_name
that has a value in the specified range be listed in the
output value return_list. When this value is set to “ALL”,
all sub-entities with values in the specified range are
included in the output value return_list.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an error.
424 PCL Reference Manual
Tools Menu

Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message in
the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
If a load and boundary condition variable value cannot be evaluated because it is based on a field which
cannot be evaluated, the corresponding load and boundary condition is skipped and the entities associated
with the load and boundary condition are skipped. A field that is of the general field type is a typical cause
of this behavior.
Examples of load and boundary condition variable names would look like the following strings. If the
variable name is not found, the function will exit normally.
”Bot Surf Pressure”
“Translations <T1 T2 T3>”
“Temperature”
Example:
Please see list_filter_by_lbc_value (p. 353) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 425
Tools Menu

list_filter_by_mat_name (input_list, mat_count,


mat_name, return_list)

Description:
This function will create a list processor string of entities that are associated to a material name.
Input:
STRING input_list[] This value specifies the list processor string of
entities that will be filtered by this function.
INTEGER mat_count This value specifies the number of material names.
STRING mat_name[31](mat_count) This array specifies the material names.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an
error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message in
the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
Example:
Please see list_filter_by_mat_name (p. 355) in the PCL Reference Manual Examples.
426 PCL Reference Manual
Tools Menu

list_filter_by_mat_type (input_list, mat_type_count,


mat_type_name, return_list)

Description:
This function will create a list processor string of entities that are associated to a material type.
Input:
STRING input_list[] This value specifies the list processor string of
entities that will be filtered by this function.
INTEGER mat_type_count This value specifies the number of material
types.
STRING mat_type_name[31](mat_type_co This array specifies the material type names.
unt) See the remarks below for more information.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of
entities.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate an error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
The input value mat_type_name can accept a variety of values that are dependent on the type of
preference currently loaded. Examples of these type names are “Isotropic”, and “2d Orthotropic”. A
complete of the values allowed under the current preference can be seen by selecting “Materials” on the
tool bar of Patran and then setting the “Action” entry on the form to “Create”. The currently allowed
mat_type_name values are displayed when the “Object” list on the form is selected.
Example:
Please see list_filter_by_mat_type (p. 356) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 427
Tools Menu

list_filter_by_mat_value (input_list, mat_prop_name, minimum, maximum,


eval_at_temperature, evaluation_strain,
evaluation_rate, evaluation_time,
evaluation_frequency, return_list)

Description:
This function will create a list processor string of entities that match the specified material property
value range.
Input:
STRING input_list[] This value specifies the list processor string of
entities that will be filtered by this function.
STRING mat_prop_name[] This value specifies the material property word
name. See the remarks below for more
information.
REAL minimum This value specifies the minimum value for the
range of the material value.
REAL maximum This value specifies the maximum value for the
range of the material value.
REAL evaluation_temperature This value specifies the temperature value used
for field evaluation.
REAL evaluation_strain This value specifies the strain, total strain,
plastic strain, or stress value used for field
evaluation.
REAL evaluation_rate This value specifies the strain rate value used for
field evaluation.
REAL evaluation_time This value specifies the time value used for field
evaluation.
REAL evaluation_frequency This value specifies the frequency value used for
field evaluation.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of
entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an
error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.
428 PCL Reference Manual
Tools Menu

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
If a material property value cannot be evaluated because it is based on a field which cannot be evaluated,
the corresponding material property is skipped and the entities associated with the material property are
skipped. A field that is of the general field type is a typical cause of this behavior.
The input value mat_prop_name can have the following values:

Value Name Value Name

1 Reference Temperature 144 Coefficient D


2 Elastic Modulus 145 Coefficient E
3 Elastic Modulus 22 146 Coefficient F
4 Elastic Modulus 33 147 Coefficient G
5 Poisson Ratio 148 Interaction Term 23
6 Poisson Ratio 23 149 Interaction Term 31
7 Poisson Ratio 31 150 Not used
8 Shear Modulus . .
9 Shear Modulus 23 . .
10 Shear Modulus 31 . .
11 Not used 502 Not used
12 Not used 503 Stress/Strain Curve
13 Poisson Ratio 13 504 Not used
14 Bulk Modulus . .
15 Lame Constant . .
16 Density . .
17 Conductivity 1000 Not used
18 Conductivity 12 1001 Mass Propornl Damping
19 Conductivity 13 1002 Stiffness Propornl
Damping
20 Conductivity 22 1003 Fraction Critical
Damping
21 Conductivity 23 1004 Not used
22 Conductivity 33 . .
Chapter 2: Basic Functions 429
Tools Menu

23 Specific Heat . .
24 Thermal Expansion Coeff . .
25 Thermal Expansion Coeff 22 1010 Not used
26 Thermal Expansion Coeff 33 1011 2nd. Yield Stress
27 Thermal Expansion Coeff 12 1012 Plastic Strain
28 Thermal Expansion Coeff 23 1013 Rate Dependent Param D
29 Thermal Expansion Coeff 31 1014 Rate Dependent Param p
30 Structural Damping Coeff 1016 Dilation Angle
31 Emissivity 1017 Ratio of Flow Stresses
32 Not used 1018 Absolute Plastic Strain
. . 1019 Exponent
. . 1020 Yield Offset
. . 1021 Not used
36 Not used 1022 Not used
37 Composite Options Flag 1023 Material Cohesion
38 Positive Definite Flag 1024 Eccentricity Parameter
39 Total Laminate Thickness 1025 Yield Surface Transition
40 Number of Plies 1026 Surface Radius Parameter
41 Laminate Offset 1027 Hydrostatic Yield Stress
42 Moisture Expansion Coeff 11 1028 Volumetric Plastic Strain
43 Moisture Expansion Coeff 22 1029 Not used
44 Moisture Expansion Coeff 33 . .
45 Moisture Expansion Coeff 12 . .
46 Moisture Expansion Coeff 23 . .
47 Moisture Expansion Coeff 31 1100 Not used
48 Force Resultant (N1) per Temp 1101 Real Part of g1
49 Force Resultant (N2) per Temp 1102 Imaginary Part of g1
50 Force Resultant (N12) per Temp 1103 Value of a
51 Moment Resultant (M1) per Temp 1104 Real Part of k1
52 Moment Resultant (M2) per Temp 1105 Imaginary Part of k1
53 Moment Resultant (M12) per Temp 1106 Value of b
54 Stiffness 11 1107 Not used
55 Stiffness 12 . .
56 Stiffness 13 . .
430 PCL Reference Manual
Tools Menu

57 Stiffness 22 . .
58 Stiffness 23 1200 Not used
59 Stiffness 33 1201 Value of A
60 Stiffness 44 1202 Value of B
61 Stiffness 45 1203 Value of n
62 Stiffness 46 1204 Value of m
63 Stiffness 55 1205 Value of delta_H
64 Stiffness 56 1206 Value of R
65 Stiffness 66 1207 Not used
66 Stiffness 14 . .
67 Stiffness 15 . .
. Stiffness 16 .
68 Not used 1300 Not used
69 Stiffness 24 1301 Coefficient C10
70 Stiffness 25 1302 Coefficient C20
71 Stiffness 26 1303 Coefficient C30
72 Stiffness 34 1304 Coefficient C40
73 Stiffness 35 1305 Coefficient C50
74 Stiffness 36 1306 Coefficient C60
75 Stiffness 11 1307 Not used
76 Stiffness 12 1308 Not used
77 Stiffness 13 1309 Not used
78 Stiffness 22 1310 Not used
79 Stiffness 23 1311 Coefficient C01
80 Stiffness 33 1312 Coefficient C02
81 Membrane Stiffness 11 1313 Coefficient C03
82 Membrane Stiffness 12 1314 Coefficient C04
83 Membrane Stiffness 13 1315 Coefficient C05
84 Membrane Stiffness 22 1316 Coefficient C06
85 Membrane Stiffness 23 1317 Not used
86 Membrane Stiffness 33 1318 Not used
87 Bending Stiffness 11 1319 Not used
88 Bending Stiffness 12 1320 Not used
89 Bending Stiffness 13 1321 Coefficient C11
Chapter 2: Basic Functions 431
Tools Menu

90 Bending Stiffness 22 1322 Coefficient C21


91 Bending Stiffness 23 1323 Coefficient C12
92 Bending Stiffness 33 1324 Coefficient C31
93 Coupling Stiffness 11 1325 Coefficient C22
94 Coupling Stiffness 12 1326 Coefficient C13
95 Coupling Stiffness 13 1327 Coefficient C41
96 Coupling Stiffness 22 1328 Coefficient C32
97 Coupling Stiffness 23 1329 Coefficient C23
98 Coupling Stiffness 33 1330 Coefficient C14
99 Tension Stress Limit 1331 Coefficient C51
100 Compression Stress Limit 1332 Coefficient C42
101 Shear Stress Limit 1333 Coefficient C33
102 Tension Stress Limit 22 1334 Coefficient C24
103 Compression Stress Limit 22 1335 Coefficient C15
104 Shear Stress Limit 23 1336 Not used
105 Tension Stress Limit 33 . .
106 Compression Stress Limit 33 . .
107 Shear Stress Limit 31 . .
108 Tension Strain Limit 1400 Not used
109 Compression Strain Limit 1401 Coefficient MU1
110 Shear Strain Limit 1402 Coefficient MU2
111 Tension Strain Limit 22 1403 Coefficient MU3
112 Compression Strain Limit 22 1404 Coefficient MU4
113 Shear Strain Limit 23 1405 Coefficient MU5
114 Tension Strain Limit 33 1406 Coefficient MU6
115 Compression Strain Limit 33 1407 Not used
116 Shear Strain Limit 31 1408 Not used
117 Ht Ratio 1409 Not used
118 Not used 1410 Not used
119 Not used 1411 Coefficient ALPHA_1
120 Hardening Slope 1412 Coefficient ALPHA_2
121 Yield Point 1413 Coefficient ALPHA_3
122 Equivalent Yield Stress (J1=0) 1414 Coefficient ALPHA_4
123 Alpha 1415 Coefficient ALPHA_5
432 PCL Reference Manual
Tools Menu

124 Beta 1416 Coefficient ALPHA_6


125 Stress 11 Yield Ratio 1417 Not used
126 Stress 22 Yield Ratio 1418 Not used
127 Stress 33 Yield Ratio 1419 Not used
128 Stress 12 Yield Ratio 1420 Not used
129 Stress 23 Yield Ratio 1421 Coefficient D1
130 Stress 31 Yield Ratio 1422 Coefficient D2
131 Internal Friction Angle 1423 Coefficient D3
132 Bonding Shear Stress Limit 1424 Coefficient D4
133 Interaction Term 1425 +Coefficient D5
134 Failure Index 1426 Coefficient D6
135 Creep Reference Temperature 1427 Not used
136 Creep Threshold Factor . .
137 Temperature Dependence Exponent . .
138 Primary Creep Stiffness . .
139 Primary Creep Damping 2001 Not used
140 Secondary Creep Damping 2002 SigmaYY/Strain Curve
141 Coefficient A 2003 SigmaZZ/Strain Curve
142 Coefficient B 2004 SigmaXY/Strain Curve
143 Coefficient C 2005 SigmaYZ/Strain Curve
2006 SigmaZX/Strain Curve

Example:
Please see list_filter_by_mat_value (p. 358) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 433
Tools Menu

list_filter_by_presence (input_list, acceptance_criteria,


reference_list, return_list)

Description:
This function will create a list processor string of entities by using a specified acceptance criteria to
compare to list processor strings.
Input:
STRING input_list[] This value specifies the list processor string of
entities that will be filtered by this function.
STRING acceptance_criteria[7] This value specifies the acceptance criterion for a
match. See the remarks below for more
information.
STRING reference_list[] This value specifies the list processor string of
entities that will be used as the reference input for
the comparison operation.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an
error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
The input value acceptance_criteria can be set to the following values:

Value Description

exact Specifies that an accepted entity must match exactly in the two input lists.
parent Specifies that an accepted entity in the input value input_list must be a parent of an entity
in the input value reference_list.
id Specifies that an accepted entity must have an id value that matches exactly in the two
input lists.
434 PCL Reference Manual
Tools Menu

s_id Specifies that an accepted entity in the input value input_list must match an entity in the
input value reference_list at the sub-id level.
ss_id Specifies that an accepted entity in the input value input_list must match an entity in the
input value reference_list at the sub-sub-id level.
sss_id Specifies that an accepted entity in the input value input_list must match an entity in the
input value reference_list at the sub-sub-sub-id level.

Example:
Please see list_filter_by_presence (p. 360) in the PCL Reference Manual Examples.

list_intersect (input_list_1, input_list_2, return_list)

Description:
This function will get the intersection of entities by performing comparisons at the entity and up to
third sub-entity level.
Input:
STRING input_list_1[] This value specifies the first list processor string of
entities.
STRING input_list_2[] This value specifies the second list processor string
of entities.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string describing
the intersecting entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an
error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
Example:
Please see list_intersect (p. 361) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 435
Tools Menu

list_rem_duplicate (input_list, return_list)

Description:
This function will create a list processor string from which any duplicate entities have been removed.
Input:
STRING input_list[] This value specifies the list processor string of entities
that will searched for duplicates.
Output:
STRING return_list[VIRTUAL] This value returns a list processor string of entities with
an duplicate entities removed.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.

Remarks:
Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
This function will remove duplicate entities down to the third sub-entity level and will regroup entity
keywords.
Example:
Please see list_rem_duplicate (p. 362) in the PCL Reference Manual Examples.
436 PCL Reference Manual
Tools Menu

list_save_group (target_list, group_name, update)

Description:
This function will add a list of entities stored in a global string variable into a group.
Input:
STRING target[] This value specifies which global string will be used for the
storage of the results. This argument can have the following
values: “lista”, “listb”, or “listc”.
STRING group_name[] This value specifies the name of the group to which the
entities are stored.
LOGICAL update This value specifies, if set to TRUE, that the viewport that
contains the newly updated group will be updated.
Output:
None.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1000025 Error attempting to allocate virtual memory.
11000011 The entity is not contained in the specified group.
11000012 The entity is already contained in the specified group.
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000121 There is not a current group defined.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000008 Group not found
13000014 Viewport not found
48000001 *%A% * is not a valid target list!

Remarks:
If the group specified by the input value group_name does not exist, it will be created.
This function will display a warning popup form with the following message if the target input value is
out of range:

48000001 *%A% * is not a valid target list!


Chapter 2: Basic Functions 437
Tools Menu

This function uses a warning popup form to report any errors returned by call to the function
ga_group_entity_add().
This function uses an acknowledgment popup form to report any error returned by a call to the function
ga_group_exist_get().
Example:
Please see list_save_group (p. 363) in the PCL Reference Manual Examples.

uil_list_a.previous ()

Description:
This function will swap the contents of the global string variable lista with the contents of the global
string variable lista_reset.
Input:
None.
Output:
None.
Error Conditions:
None.

Remarks:
None.
Example:
Please see uil_list_a.previous (p. 364) in the PCL Reference Manual Examples.
438 PCL Reference Manual
Tools Menu

uil_list_b.previous ()

Description:
This function will swap the contents of the global string variable listb with the contents of the global
string variable listb_reset.
Input:
None.
Output:
None.
Error Conditions:
None.

Remarks:
None.
Example:
Please see uil_list_b.previous (p. 366) in the PCL Reference Manual Examples.

uil_list_a.clear ()

Description:
This function sets the global string lista_reset to the contents of the global string lista and then sets
lista to a single space.
Input:
None.
Output:
None.
Error Conditions:
None.

Remarks:
None.
Example:
Please see uil_list_a.clear (p. 367) in the PCL Reference Manual Examples.
Chapter 2: Basic Functions 439
Tools Menu

uil_list_b.clear ()

Description:
This function sets the global string listb_reset to the contents of the global string listb and then sets listb
to a single space.
Input:
None.
Output:
None.
Error Conditions:
None.

Remarks:
None.
Example:
Please see uil_list_b.clear (p. 368) in the PCL Reference Manual Examples.

uil_list_boolean.create (boolean)

Description:
This function creates a list of entities by combining the contents of the global strings lista and listb
using the type of operation specified by the input value boolean and placing the results in the global
string listc.
Input:
STRING boolean[7] This value specifies the type of combination
operation. See the remarks below for more
information.
Output:
None.
Error Conditions:
None.

Remarks:
440 PCL Reference Manual
Tools Menu

The input value boolean can have the following values used to specify the different types of
combinational operations which combine the lists listed by the global string values lista and listb in the
following manner:

Operational string value Description:


“or”, “eval_or” Combines the two global strings lista and listb, sorts them, and
deletes any duplicate values.
“and”, “and_fg” Combines the two global strings lista and listb, sorts them, and
leaves any duplicate entries in place.
“a-b” Removes all items in listb from lista, then sorts the results.
“b-a” Removes all items in lista from listb, then sorts the results.

This function can display an information popup form with the following message:

48000013 Boolean listc is empty!

This function can display an information popup form with the following message:

48000002 *%A% * is not a valid boolean operator!

This function makes use of following documented functions:


list_create_boolean_list()
Example:
Please see uil_list_boolean.create (p. 369) in the PCL Reference Manual Examples.

uil_list_a.replace ()

Description:
This function will set the contents of the global string variable lista_reset to equal the contents of the
global string variable lista. It will then set the global string variable lista to equal the contents of the
global string variable listc.
Input:
None.
Output:
None.
Error Conditions:
None.
Chapter 2: Basic Functions 441
Tools Menu

Remarks:
None.
Example:
Please see uil_list_a.replace (p. 370) in the PCL Reference Manual Examples.

uil_list_b.replace ()

Description:
This function will set the contents of the global string variable listb_reset to equal the contents of the
global string variable listb. It will then set the global string variable listb to equal the contents of the
global string variable listc.
Input:
None.
Output:
None.
Error Conditions:
None.

Remarks:
None.
Example:
Please see uil_list_b.replace (p. 371) in the PCL Reference Manual Examples.
442 PCL Reference Manual
Tools Menu

mass_prop_create (analysis_model_type, all_or_group, include,


number_of_groups, groups, coordinate_frame,
density, thickness_or_area, axisymmetric_frame,
axisymmetric_axis, other_axis, plot, aligned_frame,
mass_properties, entity_list, length_entities,
number_of_entities, reject_list, length_reject,
number_of_rejects, segment_id, aligned_label,
coordinate_label)

Description:
This function will calculate the mass properties of a set of finite element and geometric entities, can
plot the principal axes of the inertia tensor at the center of gravity, and can create and post a coordinate
frame that is aligned with the principal axes of the inertia tensor.
Input:
STRING analysis_model_type[15] This value specifies the analysis model type.
This argument may have the value “3D”, “2D
Axisymmetric”, “2D Plane Stress”, or “2D
Plane Strain”.
STRING all_or_group[5] This value specifies the use of all entities in a
model or to make use of a list of groups of
entities for the mass property calculations. This
value may be set to “All” or “Group”.
STRING include[8] This value specifies the selection of geometric
or finite element entities or both types of
entities. This value may be set to “Geometry”,
“FEM”, or “Both”
INTEGER number_of_groups This value specifies the number of groups in the
region to which this mass property applies. This
value is ignored if the input value all_or_group
is set to “All”.
STRING groups[31](number_of_groups) This value specifies an array of group names
that will be used for mass property calculations.
The number of offsets defined for this array
should be equal to the value of the input value
number_of_groups. This argument is ignored if
the input value all_or_group is set to “All”.
Chapter 2: Basic Functions 443
Tools Menu

STRING coordinate_frame[] This value specifies a list of entities used to


define a coordinate frame against which the
mass properties will be calculated. This
argument is used only if the input value
analysis_model_type is set to “3D”, “2D Plane
Stress”, or “2D Plane Strain”. If the input value
analysis_model_type is set to “2D
Axisymmetric”, this value will not be used and
the input value axisymmetric_frame will be
used in its place. The coordinate frame that this
value defines must be either Cartesian
coordinate system only.
STRING density[22] This value specifies a selection between the
mass properties defined with each element or
the use of mass properties that have been set to
a unity value. This argument can be set to either
the value “Use Element Properties” or “Unity”.
STRING thickness_or_area[22] This value specifies the thickness and area used
with one and two dimensional entities as either
being the thickness or area defined by the entity
or being a unit value. This argument may be set
to a value of either “Use Element Properties” or
“Unity”.
STRING axisymmetric_frame[] This value specifies information in the list
processor format that defines the axisymmetric
modeling coordinate frame against which the
mass properties will be calculated. This
argument is used only if the input value
analysis_model_type is set to “2D
Axisymmetric”. If the input value
analysis_model_type is not set to “2D
Axisymmetric”, the input value
coordinate_frame will be used instead of the
input value axisymmetric_frame. The
coordinate frame that this argument defines
must be either a Cartesian or a cylindrical
coordinate system.
INTEGER axisymmetric_axis This value specifies the axis of symmetry for
axisymmetric models. This argument may have
a value of 1, 2, or 3 and is used only when the
input value analysis_model_type is set to “2D
Axisymmetric”.
444 PCL Reference Manual
Tools Menu

INTEGER other_axis This value specifies an axis that along with the
input value axisymmetric_axis defines the
axisymmetric modeling plane. This argument
may have a value of 1, 2, or 3 and is used only
when the input value analysis_model_type is set
to “2D Axisymmetric”.
LOGICAL plot This value specifies, when set to TRUE, that the
principal axes of the inertia tensor to be plotted.
LOGICAL aligned_frame This value specifies, when set to TRUE, that a
coordinate frame that is aligned with the
principal axes of inertia be created.
Output:
REAL mass_properties(VIRTUAL) This value returns a 68 element array of mass
properties. See the remarks below for more
information.
STRING entity_list[VIRTUAL] This value returns a list of all entities passed to
this function as a string in the list processor
format.
INTEGER length_entities This value returns the length of the string in the
return value entity_list.
INTEGER number_of_entities This value returns the number of entities in the
list of entities returned by the output value
entity_list.
STRING reject_list[VIRTUAL] This value returns list of entities that were not
included in the mass property calculations.
INTEGER length_reject This value returns the length of the string in the
output value reject_list.
INTEGER number_of_rejects This value returns the number of entities in the
list of entities returned by the output value
reject_list.
INTEGER segment_id This value returns the segment ID for the plot of
the principal axes of the inertia tensor. This
argument will be set to -1 if the input value plot
is set to FALSE.
INTEGER aligned_label This value returns the label for a coordinate
frame that has been created so that it is
coincident with the principle axes of inertia. If
the input value aligned_frame is set to FALSE,
this output value will be set to 0.
Chapter 2: Basic Functions 445
Tools Menu

INTEGER coordinate_label This value returns the label for the coordinate
frame defined by the input value
coordinate_frame.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-1 This is an internal status condition. There is no corresponding status message in the
message database.
1 This is an internal status condition. There is no corresponding status message in the
message database.
2001083 A system error has occurred in the FEM C Applications Memory Manager.
2001084 Unable to acquire %I% bytes of virtual memory.
2001085 A programming error has resulted in an attempt to free unallocated memory.
2001086 A programming error has resulted in an attempt to reallocate unallocated memory.
2001087 A programming error has resulted in an attempt to acquire zero bytes of virtual
memory.
8107002 Last command aborted.
13000002 Unrecoverable database error
13000004 Duplicate entry exists in table
13000006 Referenced item is missing
13000007 An unspecified database error occurred
13000008 Group not found
13000020 Node not found
13000021 Element not found
13000032 Point not found
13000041 Element not found
13000056 Coordinate frame not found
13000088 Preference not found
13000097 Curve input was not found
13000098 Solid input was not found
13000107 Vector input was not found
13000122 The surface requested was not found
13000126 The entity specified in the query was not labeled.
13000210 The system is out of virtual memory.
446 PCL Reference Manual
Tools Menu

13000211 Virtual memory has been exhausted.


13000212 There is an error interacting with the PERSISTENT_MEMORY relation in the
database.
13000215 Message 13000215 not found in message file(s
13000220 Plane input was not found
14000001 LpGetHeapSpace: Allocated heapspace is exhausted
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
uncalssifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000146 LpSublistFetch: The output area is too small to hold the sublist being fetched.
14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.
16000105 A programming error has caused an invalid PCL symbol to be passed.
30001046 Storage Error. The selected term has no data stored. Please re-create this field.
30001401 Unable to allocate enough memory to evaluate the field.
30001402 No Evaluation method is defined for this field type.
30001404 Error occurred when evaluating the PCL expression.
Chapter 2: Basic Functions 447
Tools Menu

30001413 Error in results dimension; should be 1 or 3


30001414 Unable to get element properties for specified elements.
30001415 Results table dimension not the expected 1 or 3.
30001416 Unable to allocate memory for interpolation.
30001417 Error creating connectivity array index.
30001418 Error finding Hpat coefficients for element.
30001421 Error getting EP node list.
30001422 Error making constraints from elements.
30001423 Number of independent dimensions of results fields not equal to 3.
30001431 Unable to Evaluate the specified element.
30001438 Unable to Evaluate the field.
30001435 Unable to evaluate the FEM field for this application because no valid elements were
detected in the group which was used to define this field. At this time, only 2D and
3D elements are supported for FEM Field evaluation.
38000001 The allocated space for the blob is too small.
38000003 No blob provided.
53000001 The axisymmetric coordinate frame cannot be spherical.
53000002 The reference coordinate frame must be rectangular.
53000003 The specified axes for the axisymmetric modeling frame are unreasonable.
53000004 The specified axes for the axisymmetric modeling frame are both %I%. The
axisymmetric frame is, therefore, not well-defined.
53000005 You have requested to specify your region by groups, but the group list is empty.
53000006 An unsupported widget value has been selected for the %A% widget.
53000007 Unable to obtain model definition data from the database.
53000008 The specified region contains no entities.
53000010 A database error occurred while attempting to fetch an element property region for
%A%.
53000011 There is no default analysis code in the database. This is a problem with database
template initialization.
53000012 A database error occurred while attempting to fetch the physical property ID’s for
element property region %I% having entities of dimension %I%.
53000013 A database consistency error occurred while attempting to fetch physical property
%I% of element property region %I%.
53000014 Unable to perform a database fetch of a coordinate frame (Internal ID = %I%).
53000015 Unable to fetch the definition data for element property region %I%.
53000016 Unable to fetch the properties of material %I%.
448 PCL Reference Manual
Tools Menu

53000017 Unable to fetch the definition for %A% %I%.


53000018 Unable to perform a database fetch of a coordinate frame (Internal ID = %I%)
referenced by a concentrated mass.
53000019 Unable to fetch the coordinates of a point to determine the location of a concentrated
mass.
53000020 Unable to fetch the coordinates of a 0D element.
53000022 A programming error has occurred while attempting to process a solid entity in an
axisymmetric model. An earlier filter should have prevented this. For a workaround,
please do not specify any such entities for mass properties calculation.
53000026 No mass properties can be calculated for any of the entities in the specified region.
The reasons are given in the ensuing warning messages. Check the History window
for multiple warning messages.
53000027 None of the entities in the specified region is compatible with the requested analysis
type.
53000028 The list of included entities could not be generated.
53000029 The list of rejected entities could not be generated.
53000043 Unable to calculate a normal for 2D element %I%.
53000044 Unable to process the geometric definition for %A% %I%.
53000046 The modeling plane cannot be uniquely determined from the entities specified.
53000048 A normal to the axisymmetric modeling plane cannot be determined.
53000050 Unable to evaluate a point relative to the 2D modeling plane.
53000051 Unable to evaluate a point of %A%.
53000063 Some of the referenced element properties define an offset. All offsets are ignored in
the calculation of mass properties. This can cause the results to change substantially.
53000065 Unable to evaluate the area of %A%.
53000067 The specified axis of symmetry divides the specified model. Mass properties can
only be calculated when all of the specified entities are on the same side of the
symmetry axis.
53000068 A database error occurred while attempting to fetch the element property regions for
the specified entities.
53000070 Zero-dimensional entities are not included in the mass property calculations if you
do not specify that Element Properties are to be used to determine density and
concentrated mass. Consequently there are no valid entities in the specified region.

Remarks:
The output values mass_properties, entity_list, and reject_list are all VIRTUAL data arrays that have
memory space allocated by the called function. It is the responsibility of the calling function to free
memory returned by these arguments in an appropriate manner.
Chapter 2: Basic Functions 449
Tools Menu

The output value mass_properties returns an array whose offsets contain the following information.:

Array Offset Description

1 This offset returns the volume of the entities used in the mass properties
calculations.
2 This offset returns the mass of the entities used in the mass properties calculations.
3-5 These offsets are used to return the center of gravity coordinates for the entities
used in the mass properties calculations in the specified coordinate frame. The
specified coordinate frame is listed in the output value coordinate_label.
6-11 These offsets are used to return the inertia tensor in the specified coordinate
frame. The specified coordinate frame is listed in the output value
coordinate_label.
12-17 These offsets are used to return the inertia tensor at the center of gravity point in
the specified coordinate frame. The specified coordinate frame is listed in the
output value coordinate_label.
18-20 These offsets are used to return the principle axes of the moments of inertia at the
center of gravity point in the specified coordinate frame. The specified coordinate
frame is listed in the output value coordinate_label.
21-29 These offsets are used to return the direction for the principle axes of the moments
of inertia in the specified coordinate frame. The specified coordinate frame is
listed in the output value coordinate_label.
30-32 These offsets are used to return radii of gyration corresponding to the principal
inertial axes.
33-35 These offsets are used to return the center of gravity in the reference Cartesian
coordinate frame. The reference Cartesian coordinate frame is listed in the output
value aligned_label.
36-41 These offsets are used to return the inertia tensor in the reference Cartesian
coordinate frame. The reference Cartesian coordinate frame is listed in the output
value aligned_label.
42-47 These offsets are used to return the inertia tensor at the center of gravity in the
reference Cartesian coordinate frame. The reference Cartesian coordinate frame
is listed in the output value aligned_label.
48-56 These offsets are used to return the direction for the principle axes of the moments
of inertia in the reference Cartesian coordinate. The reference Cartesian
coordinate frame is listed in the output value aligned_label.
57-59 These offsets are used to return the principal directions for the axes of the
moments of inertia in the axes order 3-2-1 of the space fixed rotation angles from
the specified coordinate system. The specified coordinate frame is listed in the
output value coordinate_label.
450 PCL Reference Manual
Tools Menu

60-62 These offsets are used to return the principal directions for the axes of the
moments of inertia in the axes order 3-1-3 of the body fixed rotation angles from
the specified coordinate system. The specified coordinate frame is listed in the
output value coordinate_label.
63-65 These offsets are used to return the principal directions for the axes of the
moments of inertia in the axes order 3-2-1 of the space fixed rotation angles from
the reference Cartesian coordinate frame. The reference Cartesian coordinate
frame is listed in the output value aligned_label.
66-68 These offsets are used to return the principal directions of the inertia tensors in the
axes order 3-1-3 of the body fixed rotation angles from the reference Cartesian
coordinate frame. These symmetric inertia tensors are in the axes order XX, XY,
XZ, YY, YZ, ZZ. The reference Cartesian coordinate frame is listed in the output
value aligned_label.

This function can display the following fatal popup forms:

2001083 A system error has occurred in the FEM C Applications Memory Manager.
2001084 Unable to acquire %I% bytes of virtual memory.
2001085 A programming error has resulted in an attempt to free unallocated memory.
2001086 A programming error has resulted in an attempt to reallocate unallocated
memory.
2001087 A programming error has resulted in an attempt to acquire zero bytes of virtual
memory.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is
unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
uncalssifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the
sublist filter.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000049 LpParseExpression: Excess left parenthesis detected.
Chapter 2: Basic Functions 451
Tools Menu

14000050 LpParseExpression: Excess right parenthesis detected.


14000208 LpSublistAttributeGet: Curve evaluator error
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately
approximated to within an order of magnitude of the present geometric
tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric
tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.
16000105 A programming error has caused an invalid PCL symbol to be passed.
16000501 Unable to allocate %I% bytes of virtual memory.
30001061 Field %A% is disassociated with geometry entity and unuseable unless a new
geometry entity is provided.
30001401 Unable to allocate enough memory to evaluate the field.
30001413 Error in results dimension; should be 1 or 3
30001432 Unable to Evaluate the field.
30001433 Error converting Node ID reference to vector for discrete element field.
38000906 Unable to fetch definition data for solid %I%.
53000001 The axisymmetric coordinate frame cannot be spherical.
53000002 The reference coordinate frame must be rectangular.
53000003 The specified axes for the axisymmetric modeling frame are unreasonable.
53000004 The specified axes for the axisymmetric modeling frame are both %I%. The
axisymmetric frame is, therefore, not well-defined.
53000005 You have requested to specify your region by groups, but the group list is empty.
53000006 An unsupported widget value has been selected for the %A% widget.
53000007 Unable to obtain model definition data from the database.
53000008 The specified region contains no entities.
53000009 Unable to fetch group %A% from the database.
53000010 A database error occurred while attempting to fetch an element property region
for %A%.
53000011 There is no default analysis code in the database. This is a problem with
database template initialization.
452 PCL Reference Manual
Tools Menu

53000012 A database error occurred while attempting to fetch the physical property ID’s
for element property region %I% having entities of dimension %I%.
53000013 A database consistency error occurred while attempting to fetch physical
property %I% of element property region %I%.
53000014 Unable to perform a database fetch of a coordinate frame (Internal ID = %I%).
53000015 Unable to fetch the definition data for element property region %I%.
53000016 Unable to fetch the properties of material %I%.
53000017 Unable to fetch the definition for %A% %I%.
53000018 Unable to perform a database fetch of a coordinate frame (Internal ID = %I%)
referenced by a concentrated mass.
53000019 Unable to fetch the coordinates of a point to determine the location of a
concentrated mass.
53000020 Unable to fetch the coordinates of a 0D element.
53000021 Unable to initialize field %I% for evaluation.
53000022 A programming error has occurred while attempting to process a solid entity in
an axisymmetric model. An earlier filter should have prevented this. For a
workaround, please do not specify any such entities for mass properties
calculation.
53000026 No mass properties can be calculated for any of the entities in the specified
region. The reasons are given in the ensuing warning messages. Check the
History window for multiple warning messages.
53000027 None of the entities in the specified region is compatible with the requested
analysis type.
53000028 The list of included entities could not be generated.
53000043 Unable to calculate a normal for 2D element %I%.
53000044 Unable to process the geometric definition for %A% %I%.
53000046 The modeling plane cannot be uniquely determined from the entities specified.
53000048 A normal to the axisymmetric modeling plane cannot be determined.
53000050 Unable to evaluate a point relative to the 2D modeling plane.
53000051 Unable to evaluate a point of %A%.
53000065 Unable to evaluate the area of %A%.
53000067 The specified axis of symmetry divides the specified model. Mass properties
can only be calculated when all of the specified entities are on the same side of
the symmetry axis.
53000068 A database error occurred while attempting to fetch the element property
regions for the specified entities.
Chapter 2: Basic Functions 453
Tools Menu

53000070 Zero-dimensional entities are not included in the mass property calculations if
you do not specify that Element Properties are to be used to determine density
and concentrated mass. Consequently there are no valid entities in the specified
region.
53000029 The list of rejected entities could not be generated.

This function can display the following warning popup forms:

30001424 Routine to locate points in elements did not converge for %I% interpolants.
30001434 0D and/or 1D Elements have been detected in the group which was used to
define this FEM Field. These elements will be ignored during any evaluation of
this field as FEM Field evaluators have not yet been implemented for these
elements.
53000030 Some of the specified entities were excluded from the mass property
calculations because no element property region has been specified for them.
53000031 Some of the specified entities were excluded from the mass property
calculations because they are not consistent with the specified analysis model
type.
53000032 Some of the specified entities were excluded from the mass property
calculations because they have no material assigned to them in their element
property records.
53000033 Some of the specified entities were excluded from the mass property
calculations because some of their needed element properties are not found or
represented using data types that are supported by the Mass Properties.
53000034 Some of the specified concentrated mass elements have inertia tensors specified
in non-rectangular frames. These inertia tensors are assumed to be defined on a
rectangular frame whose axes are coincident with the axes of the specified non-
rectangular frame.
53000035 Some of the specified tapered beams were excluded from the mass property
calculations because their element property records have non-constant cross-
sectional areas.
53000036 Some of the specified entities were excluded from the mass property
calculations because their element property definitions lack a needed physical
property such as shell thickness or beam cross-sectional area.
53000037 Some of the specified entities were excluded from the mass property
calculations because their material property definitions lack a needed property
such as density.
53000038 Some of the specified point entities were excluded from the mass property
calculations because they have no mass.
454 PCL Reference Manual
Tools Menu

53000039 Some of the specified entities were excluded from the net mass property
calculations because errors occurred in the numerical integration of their mass
properties. This is often caused by a shortage of available virtual memory or a
property defined by a field that cannot be integrated over the entity.
53000040 The coordinate frame aligned with the principal axes of inertia could not be
generated. This is usually an indication of a corrupted database or a lack of
available virtual memory.
53000042 The principal axes of inertia cannot be plotted.
53000047 Some of the specified entities were excluded from the mass property
calculations because they are not planar.
53000049 Some of the specified entities were excluded from the mass property
calculations because they are not in the modeling plane.
53000059 Some of the specified entities were excluded from the net mass property
summation because their calculated mass is zero. This problem can occur when
a property is defined by a field that cannot be integrated over the entity.
53000060 Some of the specified entities were excluded from the net mass property
summation because their calculated volume is zero. The excluded entities are
not point entities, so their calculated mass must also be zero. This problem can
occur when the wrong modeling plane is specified for an axisymmetric model
or when part of an entity crosses the axis of symmetry.
53000062 Some of the concentrated masses have the moments of inertia defined. This can
cause counter-intuitive results to occur when the 2D Axisymmetric analysis
type is selected. The input moments of inertia are treated as moment of inertia
densities and are multiplied by 2*PI*radius to determine their contribution to
the net inertia tensor of the concentrated mass.
53000063 Some of the referenced element properties define an offset. All offsets are
ignored in the calculation of mass properties. This can cause the results to
change substantially.
53000064 Not all of the principal axes of inertia can be plotted. Their lengths are
determined by the three radii of gyration corresponding to the three principal
inertias, and some of these are zero.
53000066 Some of the materials referenced by the specified entities have density defined
by a field. Density fields are not supported for mass property calculations.
Entities referencing a density field will be assigned a density of zero.
Unable to display newly created principal coordinate frame %I%.
53000069

The specified zero-dimensional entities were excluded from the mass property
53000071

calculations because the Unity option for Density/Concentrated Mass was


selected. Under these circumstances, zero-dimensional entities are ignored.
Chapter 2: Basic Functions 455
Tools Menu

This function can display the following information popup forms:

11000007 The viewport name is invalid.


11000096 A current viewport has not been defined.
11000098 A fatal error has occurred in the database. Database is corrupted.
13000088 Preference not found
13000014 Viewport not found
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000056 Coordinate frame not found
13000074 Coordinate frame not posted
15000018 The specified viewport was not found in the database.
15000019 The specified group was not found in the database.
15000046 The specified segment id exceeded the maximum of 15 allowed. The segment
was not created.
15000047 The specified segment id was not found in the Gm display list.
30001425 Notice: %I% interpolants lie off the field
30001437 An attempt was made to average nodal values for an element. All of the element
nodes were not found for %I% elements.
53000056 Loading data from materials...

This function can display the following percent done popup forms:

53000054 Loading element properties into memory...


53000055 Performing mass property calculations...

Example:
Please see mass_prop_create (p. 373) in the PCL Reference Manual Examples.
456 PCL Reference Manual
Tools Menu

mass_prop_create_detailed ( an_mod_typ, select_type, include, display,


ngroups, groups, user_coord, density,
thick_area, axy_coord, sym_axis, other_axis,
plot, cord_frame, noutputs, entities,
mass_props, entity_list, len_elist, num_ents,
reject_list, len_rlist, num_rejects,
cord_segment, cord_label, user_frame_id )

Description:
For a given set of FEM and/or Geometric entities, calculate the mass properties based on selecting
Geometry, FEM, or Both and returning them as a summary, or on a per group or entity basis. If
requested, plot the principal axes of the inertia tensor at the CG, and create and post a coordinate frame
aligned with those axes. This function is typically used in conjunction with
mass_prop.cleanup_detailed and mass_prop.gen_report_detailed.
Input:
STRING an_mod_typ[] Analysis model type. It may be either “3D”, “2D
Axisymmetric”, “2D Plane Stress”, or “2D Plane
Strain”.
STRING select_type[] This first region specifier, may be either “All” ,
“Group” or "Selected".
STRING include[] This second region specifier, may be either
“Geometry”, “FEM”, or “Both”.
STRING display[] This determines how the results are displayed to
the spreadsheet. Either "Summary", "Group", or
"Entity". For display of “Summary”, duplicate
entries will be filtered out to avoid counting
entities more than once.
INTEGER ngroups Number of groups in the region for mass
properties. If "select_type" is set to "Group" then
this is the number of groups. If "select_type" is set
to "Entity" or "All", then this value is ignored.
STRING groups[32](VIRTUAL) If "display" is set to "Group" or "All", then this is
an array of group names in the region for mass
properties. If "display" is set to "Entity", this value
is ignored.
STRING entities[VIRTUAL] The list of entities specified if the select_type is set
to "Selected". This value is ignored if the
select_type is set to "All" or "Group".
STRING user_coord[] Select databox string defining the coordinate
frame relative to which the mass properties are to
be calculated.
Chapter 2: Basic Functions 457
Tools Menu

STRING density[] Option used to define mass properties for the


selected entities. It may be either “Use Element
Properties” or “Unity”.
STRING thick_area[] Option used to define the thicknesses and areas for
the selected 2D and 1D entities respectively. It
may be either “Use Element Properties” or
“Unity”.
STRING axy_coord[] Select databox string defining the axisymmetric
modeling coordinate frame. It is used only if
an_mod_type is “2D Axisymmetric”. The
coordinate frame must be rectangular or
cylindrical.
INTEGER sym_axis Axis of symmetry for axisymmetric models. It
may be either 1, 2, or 3. This is used only if
an_mod_type is “2D Axisymmetric”.
INTEGER other_axis ’other_axis’ and sym_axis define the
axisymmetric modeling plane. Acceptable values
are 1, 2, or 3. This is used only if an_mod_type is
“2D Axisymmetric”.
LOGICAL plot If TRUE, then the principal axes of the inertia
tensor will be plotted.
LOGICAL cord_frame If TRUE, then a coordinate frame aligned with the
principal axes will be generated.
Output
INTEGER noutputs If display is set to "Entity", this is the number of
unique entities that have valid mass properties. If
"display" is set to "Group", then noutputs is
returned equal to the number of groups with valid
mass properties. If the "display" is set to
"Summary", this value is equal to "1".
STRING group_names (noutputs) Returned array of noutputs group names. This is
only used for display mode of group.
INTEGER entity_ids(noutputs) If "display" is set to "Entity", this is an array of all
selected entity ids that have valid mass properities.
If "display" is set to "Group" or "All", this is
ignored.
INTEGER entity_types This will tell what type of entity is given in the
(noutputs) entity_ids array above. Duplicate IDs may exist
for an element & a surface for example. This array
would give the corresponding lpenums.i value to
determine the entity type.
458 PCL Reference Manual
Tools Menu

REAL mass_props_array(noutputs, This data is returned on a per output (group or


VIRTUAL) entity) basis. The order of this array matches the
order of "entities" for "display" set to "Entity" or
the order of "groups" when "display" is set to
"Group". Array of mass properties, including, in
this order: (1) volume, (2) mass, (3-5) CG in
specified frame, (6-11) inertia tensor in specified
frame, (12-17) inertia tensor at CG in specified
frame, (18-20) principal inertias at CG, (21-29)
principal directions in specified frame, (30-32)
radii of gyration corresponding to the principal
inertias, (33-35) CG in reference Cartesian frame,
(36-41) inertia tensor in reference Cartesian
frame, (42-47) inertia tensor at CG in reference
Cartesian frame, (48-56) principal directions in
reference Cartesian frame, (57-59) principal
direction 3-2-1 space-fixed rotation angles from
specified frame, (60-62) principal direction 3-1-3
body-fixed rotation angles from specified frame,
(63-65) principal direction 3-2-1 space-fixed
rotation angles from reference Cartesian frame,
(66-68) principal direction 3-1-3 body-fixed
rotation angles from reference Cartesian frame,
(69) if bar then this is length, if shell this is surface
area, and if solid element then this value is
ignored. Symmetric tensors are in the order: XX,
XY, XZ, YY, YZ, ZZ.
STRING entity_list(VIRTUAL) This is a List Processor-recognizable list of all
entities specified. This is only valid if noutputs is
1 (such as display set to “Summary”).
INTEGER len_elist Length of string ’entity_list’. Only used if Display
of Summary
INTEGER num_ents Number of entities in ’entity_list’.Only used if
Display of Summary
STRING reject_list(VIRTUAL) List of input entities not included in mass property
calculations.
INTEGER len_rlist Length of string ’reject_list’.Only used if Display
of Summary
INTEGER num_rejects Number of entities in ’reject_list’.Only used if
Display of Summary
INTEGER cord_segment Segment ID for graphics (-1 if none were
generated)
Chapter 2: Basic Functions 459
Tools Menu

INTEGER cord_label Label of coordinate frame created coincident with


the principal directions
INTEGER user_frame_id ID of user-specified reference coordinate frame
INTEGER <Return Value> Error code (= 0 if successful)
Side Effects:

Messages:
If an error condition exists, then the diagnostics will be output and a reject list of the elements with
invalid properties will be generated. Some of the warnings and error messages are suppressed for
display by group and display by entity to avoid displaying a large number of duplicate error messages.
These warnings and errors can be seen by selecting the rejected element list and displaying by
summary.
Error Conditions:
Same as Error Conditions in mass_prop_create function

mass_prop.gen_report (file_columns, mass_properties, coordinate_label,


entity_list, number_of_entities, entity_list_length,
reject_list, number_of_rejects, length_reject)

Description:
This function will write a set of mass properties and an entity list to a report file. The report file name
can be set through the “Report...” item of the “File” menu bar selection in the main form of Patran.
Input:
INTEGER file_columns This value specifies the number of columns in the
report. This value must be either 80 or 132.
REAL mass_properties(68) This value specifies the property information that
will be listed in the report. See the remarks below for
more information.
INTEGER coordinate_label This value specifies a label used to define a
coordinate frame against which the mass properties
were calculated.
STRING entity_list[] This value specifies a list of entities in the list
processor format of all of the entities that are
associated with the input value mass_properties
being written to the report file.
INTEGER number_of_entities This value specifies the number of entities listed in
the entity_list input value.
460 PCL Reference Manual
Tools Menu

INTEGER entity_list_length This value specifies the length of the input value
entity_list.
STRING reject_list[] This value specifies a list of entities in the list
processor format that where rejected in the
calculation of the input value mass_properties being
written to the report file.
INTEGER number_of_rejects This value specifies the number of entities in the
input value reject_list.
INTEGER length_reject This value specifies the length of the input value
reject_list.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1 This is an internal status condition. There is no corresponding status message in the
message database.
53000057 Unable to complete the Mass Properties report file. Failure occurred while
attempting to write: %A%
53000058 Unable to allocate virtual memory.

Remarks:
See the listing for the function mass_prop_create, 442 for further information on the inputs for this
function.
The output value mass_properties returns an array whose offsets contain the following information:

Array Offset Description


1 This offset returns the volume of the entities used in the mass properties
calculations.
2 This offset returns the mass of the entities used in the mass properties calculations.
3-5 These offsets are used to return the center of gravity coordinates for the entities
used in the mass properties calculations in the specified coordinate frame.
6-11 These offsets are used to return the inertia tensor in the specified coordinate frame.
12-17 These offsets are used to return the inertia tensor at the center of gravity point in
the specified coordinate frame.
18-20 These offsets are used to return the principle axes of the moments of inertia at the
center of gravity point in the specified coordinate frame.
Chapter 2: Basic Functions 461
Tools Menu

21-29 These offsets are used to return the direction for the principle axes of the moments
of inertia in the specified coordinate frame.
30-32 These offsets are used to return radii of gyration corresponding to the principal
inertial axes.
33-35 These offsets are used to return the center of gravity in the reference Cartesian
coordinate frame.
36-41 These offsets are used to return the inertia tensor in the reference Cartesian
coordinate frame.
42-47 These offsets are used to return the inertia tensor at the center of gravity in the
reference Cartesian coordinate frame.
48-56 These offsets are used to return the direction for the principle axes of the moments
of inertia in the reference Cartesian coordinate.
57-59 These offsets are used to return the principal directions for the axes of the moments
of inertia in the axes order 3-2-1 of the space fixed rotation angles from the
specified coordinate system.
60-62 These offsets are used to return the principal directions for the axes of the moments
of inertia in the axes order 3-1-3 of the body fixed rotation angles from the
specified coordinate system.
63-65 These offsets are used to return the principal directions for the axes of the moments
of inertia in the axes order 3-2-1 of the space fixed rotation angles from the
reference Cartesian coordinate frame.
66-68 These offsets are used to return the principal directions of the inertia tensors in the
axes order 3-1-3 of the body fixed rotation angles from the reference Cartesian
coordinate frame. These symmetric inertia tensors are in the axes order XX, XY,
XZ, YY, YZ, ZZ.

This function can display the following fatal popup forms:


Example:
Please see mass_prop.gen_report (p. 376) in the PCL Reference Manual Examples.
462 PCL Reference Manual
Tools Menu

mass_prop.gen_report_detailed ( file_width, noutputs, display_method,


includes, groups, entities, entity_types,
mass_props_array, thick_area,
user_frame_id, entity_list, num_ents,
len_elist, reject_list, num_rejects, len_rlist )

Description:
Write the mass properties and the entity lists generated by mass_prop_create_detailed to a report file.
Input:
INTEGER file_width Width of report file. Input 80 or 132
INTEGER noutputs If display from mass_prop_create_detailed is set
to "Entity", this is the number of unique entities
that have mass. If "display" is set to "Group", then
this is the number of groups. If the "display" is set
to "Summary", this value is equal to "1".
STRING display_method[] This determines how the results are displayed to
the spreadsheet. Either "Summary", "Group", or
"Entity"
STRING includes[] This region specifier, may be either “Geometry”,
“FEM”, or “Both”.
STRING groups[32](noutputs) If "display" is set to "Group", then this is an array
of group names in the region for mass properties.
If "display" is set to “All” or "Entity", this value is
ignored.
INTEGER entities(noutputs) The list of entity ids (not applicable if display is set
to “Summary").
INTEGER entity_types(noutputs) The entity type corresponding to the entity given in
the “entities” array (not applicable if display is set
to “Summary”). These types are given in the
lpenums.i define file.
Chapter 2: Basic Functions 463
Tools Menu

REAL mass_props_array(noutputs, Array of mass properties, including, in this order:


VIRTUAL) (1) volume, (2) mass, (3-5) CG in specified frame,
(6-11) inertia tensor in specified frame, (12-17)
inertia tensor at CG in specified frame, (18-20)
principal inertias at CG, (21-29) principal
directions in specified frame, (30-32) radii of
gyration corresponding to the principal inertias,
(33-35) CG in reference Cartesian frame, (36-41)
inertia tensor in reference Cartesian frame, (42-47)
inertia tensor at CG in reference Cartesian frame,
(48-56) principal directions in reference Cartesian
frame, (57-59) principal direction 3-2-1 space-
fixed rotation angles from specified frame, (60-62)
principal direction 3-1-3 body-fixed rotation
angles from specified frame, (63-65) principal
direction 3-2-1 space-fixed rotation angles from
reference Cartesian frame, (66-68) principal
direction 3-1-3 body-fixed rotation angles from
reference Cartesian frame, (69) if bar then this is
length, if shell this is surface area, and if solid
element then this value is ignored. Symmetric
tensors are in the order: XX, XY, XZ, YY, YZ, ZZ.
noutputs is the number of outputs returned from
mass_prop_create_detailed (ie. number of entities
or groups selected).
STRING thick_area Option used to define the thicknesses and areas for
the selected 2D and 1D entities respectively. It may
be either “Use Element Properties” or “Unity”.
INTEGER user_frame_id ID of user-specified reference coordinate frame
STRING entity_list[VIRTUAL] This is a List Processor-recognizable list of all
entities specified. This is only valid if noutputs is 1
(such as display set to “Summary”).
INTEGER num_ents Number of entities in ’entity_list’
INTEGER len_elist Length of string ’entity_list’
STRING reject_list[VIRTUAL] List of input entities not included in mass property
calculations
INTEGER num_rejects Number of entities in ’reject_list’. Only valid if
“display” in mass_prop_create_detailed call is set
to “Summary”
INTEGER len_rlist Length of string ’reject_list’. Only valid if
“display” in mass_prop_create_detailed call is set
to “Summary”
464 PCL Reference Manual
Tools Menu

Output:
None
INTEGER <Return Value> = 0 Function was successful
Side Effects:
Files: A Mass Properties report is written to the report file.
Error Conditions:
Error: Unable to allocate virtual memory.
Error Unable to write the Mass Properties report file. Failure occurred while attempting
to write.

Example:

None.

mass_prop.cleanup ( mass_props, entity_list, reject_list,


num_ents, num_rejects )

Description:
Free the mass properties arrays created by mass_prop_create.
Input:
REAL mass_props(VIRTUAL) Array of mass properties, including, in this order:
(1) volume, (2) mass, (3-5) CG in specified frame,
(6-11) inertia tensor in specified frame, (12-17)
inertia tensor at CG in specified frame, (18-20)
principal inertias at CG, (21-29) principal
directions in specified frame, (30-32) radii of
gyration corresponding to the principal inertias,
(33-35) CG in reference Cartesian frame, (36-41)
inertia tensor in reference Cartesian frame, (42-
47) inertia tensor at CG in reference Cartesian
frame, (48-56) principal directions in reference
Cartesian frame, (57-59) principal direction 3-2-1
space-fixed rotation angles from specified frame,
(60-62) principal direction 3-1-3 body-fixed
rotation angles from specified frame, (63-65)
principal direction 3-2-1 space-fixed rotation
angles from reference Cartesian frame, (66-68)
principal direction 3-1-3 body-fixed rotation
angles from reference Cartesian frame. Symmetric
tensors are in the order: XX, XY, XZ, YY, YZ, ZZ
Chapter 2: Basic Functions 465
Tools Menu

STRING entity_list(VIRTUAL) This is a List Processor-recognizable list of all


entities specified
STRING reject_list(VIRTUAL) List of input entities not included in mass property
calculations
INTEGER num_ents Number of entities in ’entity_list’
INTEGER num_rejects Number of entities in ’reject_list’
Output:
None

Example:
None.
466 PCL Reference Manual
Tools Menu

mass_prop.cleanup_detailed ( mass_props, entity_list, reject_list)

Description
Free the mass properties arrays created by mass_prop_create_detailed. This routine should be called
before an additional call to mass_prop_create_detailed to free the arrays.
Input:
REAL mass_props_array(noutput Array of mass properties, including, in this order: (1)
s,VIRTUAL) volume, (2) mass, (3-5) CG in specified frame, (6-11)
inertia tensor in specified frame, (12-17) inertia
tensor at CG in specified frame, (18-20) principal
inertias at CG, (21-29) principal directions in
specified frame, (30-32) radii of gyration
corresponding to the principal inertias, (33-35) CG in
reference Cartesian frame, (36-41) inertia tensor in
reference Cartesian frame, (42-47) inertia tensor at
CG in reference Cartesian frame, (48-56) principal
directions in reference Cartesian frame, (57-59)
principal direction 3-2-1 space-fixed rotation angles
from specified frame, (60-62) principal direction 3-1-
3 body-fixed rotation angles from specified frame,
(63-65) principal direction 3-2-1 space-fixed rotation
angles from reference Cartesian frame, (66-68)
principal direction 3-1-3 body-fixed rotation angles
from reference Cartesian frame, (69) if bar then this
is length, if shell this is surface area, and if solid
element then this value is ignored. Symmetric tensors
are in the order: XX, XY, XZ, YY, YZ, ZZ. noutputs
is the number of outputs returned from
mass_prop_create_detailed (ie. number of entities or
groups selected).
STRING entity_list[VIRTUAL] This is a List Processor-recognizable list of all
entities specified
STRING reject_list[VIRTUAL] List of input entities not included in mass property
calculations
Output:
None

Example:
None.
Chapter 3: Geometry Functions
PCL Reference Manual

3 Geometry Functions


Introduction 470

Construct Actions 471

Disassemble Actions 777

Associate Actions 780

Disassociate Actions 788

Sweep Actions 794

Transform Actions 818

Edit Actions 894

Delete Actions 986

Utlities 997
470 PCL Reference Manual
Introduction

Introduction
This chapter documents functions that are used to implement the “Geometry” form accessed through the
switch bar.
This chapter presents function descriptions in six separate sections:

Construct Actions This section is used to describe some of the functions used to implement
the “Construct” or “Create” actions.
Disassemble Actions This section is used to describe some of the functions used to implement
the “Disassemble” actions.
Associate Actions This section is used to describe some of the functions used to implement
the Associate” actions.
Disassociate Actions This section is used to describe some of the functions used to implement
the “Disassociate” actions.
Sweep Actions This section is used to describe some of the functions used to implement
the “Sweep” actions.
Transform Actions This section is used to describe some of the functions used to implement
the “Transform” actions.
Edit Actions This section is used to describe some of the functions used to implement
the “Edit” actions.
Delete Actions This section is used to describe some of the functions used to implement
the “Delete” actions.
Utlities
Chapter 3: Geometry Functions 471
Construct Actions

Construct Actions
This section is used to describe some of the functions used to implement the “Construct” or “Create”
actions.

asm_const_coord_3point (output_labels, coord_frame, coordtype, point1,


point2, point3, created_labels)

Description:
This function creates a coordinate system from three specified points.
Input:
STRING output_labels[] This value specifies the labels of the coordinate
frame to be created.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER coordtype This value specifies the type of coordinate frame: 1
= rectangular, 2 = cylindrical, and 3 = spherical.
STRING point1[] This value specifies the origin of the new coordinate
frame.
STRING point2[] This value specifies a point on the Z axis of the new
coordinate frame.
STRING point3[] This value specifies a point on the X-Z plane of the
new coordinate frame.
Output:
STRING created_labels[VIRTUAL] This value returns the labels of the created
coordinate frame.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000064 Overwrite of existing entity not permitted.
1000211 The length of the Axis equals zero.
1000216 Unable to properly process the output labels.
1000302 The three points specified are nearly collinear.

Remarks:
This function displays the number of coordinate frames created and their labels.
472 PCL Reference Manual
Construct Actions

A coordinate frame will be created for each set of points. Each coordinate frame will be displayed in the
graphics window.
Example:
Please see asm_const_coord_3point (p. 381) in the PCL Reference Manual Examples.

asm_const_coord_axis (output_labels, plane, coord_frame, coordtype,


point1, point2, point3, created_labels)

Description:
This function creates coordinate systems from points on the reference coordinate frame.
Input:
STRING output_labels[] This value specifies the labels of the coordinate
frames to be created.
STRING plane[2] This value specifies which principle plane is defined
by Axis 1 and Axis 2:

“XY”: Axis 1 = X-axis and Axis 2 = Y-axis;

“YZ”: Axis 1 = Y-axis and Axis 2 = Z-axis;

“XZ”: Axis 1 = X-axis and Axis 2 = Z-axis.


STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER coordtype This value specifies the type of coordinate frame: 1
= rectangular, 2 = cylindrical, and 3 = spherical.
STRING point1[] This value specifies a point on axis one.
STRING point2[] This value specifies a point on axis two.
STRING point3[] This value specifies a point on axis three.
Output:
STRING created_labels[VIRTUAL] This value returns the labels of the coordinate frame
created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000064 Overwrite of existing entity not permitted.
1000211 The length of the Axis equals zero.
Chapter 3: Geometry Functions 473
Construct Actions

1000216 Unable to properly process the output labels.


1000302 The three points specified are nearly collinear.

Remarks:
This function displays the number of coordinate frames created and their labels.
A coordinate frame will be created for each set of points. Each coordinate frame will be displayed in the
graphics window.
Example:
Please see asm_const_coord_axis (p. 382) in the PCL Reference Manual Examples.

asm_const_coord_euler (output_labels, axis1, axis2, axis3, angle1,


angle2, angle3, coord_frame, coordtype, point1,
created_labels)

Description:
This function creates a coordinate system from an origin and three eular angles.
Input:
STRING output_labels[] This value specifies the labels of the coordinate
frame to be created.
INTEGER axis1 This value specifies the principal axis for the first
rotation.
INTEGER axis2 This value specifies the principal axis for the second
rotation.
INTEGER axis3 This value specifies the principal axis for the third
rotation.
REAL angle1 This value specifies the angle of the first rotation.
REAL angle2 This value specifies the angle of the second rotation.
REAL angle3 This value specifies the angle of the third rotation.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER coordtype This value specifies the type of coordinate frame: 1
= rectangular, 2 = cylindrical, and 3 = spherical.
STRING point1[] This value specifies the origin of the new coordinate
frame.
Output:
STRING created_labels[VIRTUAL] This value returns the labels of the coordinate frame
created.
474 PCL Reference Manual
Construct Actions

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000001 Point %I% does not exist. Unable to continue.
1000025 Error attempting to allocate virtual memory.
1000054 An invalid geometric entity type was used as input. The valid entity type to use is
%A%. Unable to process request.
1000064 Overwrite of existing entity not permitted.
1000216 Unable to properly process the output labels.
1000232 The entity label value of %I% is invalid. Database assigning next highest available
label.

Remarks:
This function displays the number of coordinate frames created and their labels.
A coordinate frame will be created for each origin point. Each coordinate frame will be displayed in the
graphics window.
Example:
Please see asm_const_coord_euler (p. 383) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 475
Construct Actions

asm_const_coord_normal (output_labels, surface, coordtype, point,


created_labels)

Description:
This function creates a rectangular coordinate system normal to a surface at a specified point.
Input:
STRING output_labels[] This value specifies the labels of the coordinate
frame to be created.
STRING surface[] This value specifies the reference surface.
INTEGER coordtype This value specifies the type of coordinate frame: 1
= rectangular, 2 = cylindrical, and 3 = spherical.
STRING point[] This value specifies a point or set of points that lie
on, or close to, the surface.
Output:
STRING created_labels[VIRTUAL] This value returns the labels of the coordinate frame
created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000001 Point %I% does not exist. Unable to continue.
1000005 Patch %I% does not exist. Unable to continue.
1000025 Error attempting to allocate virtual memory.
1000054 An invalid geometric entity type was used as input. The valid entity type to use is
%A%. Unable to process request.
1000064 Overwrite of existing entity not permitted.
1000211 The length of the Axis equals zero.
1000216 Unable to properly process the output labels.
1000232 The entity label value of %I% is invalid. Database assigning next highest available
label.
1000302 The three points specified are nearly collinear.
1000712 Unable to compute the tangent and normal vectors due to a non-removable
degeneracy or a singularity.

Remarks:
This function displays the number of coordinate frames created and their labels.
476 PCL Reference Manual
Construct Actions

A coordinate frame will be created for each point on or close to the surface. Each coordinate frame will
be displayed in the graphics window.
Example:
Please see asm_const_coord_normal (p. 384) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 477
Construct Actions

asm_const_coord_normal_v1 (output_labels, surface, coordtype,


point, xaxis, created_labels)

Description:
This function creates a rectangular coordinate system normal to a surface at a specified point. The x-
axis may coincide with the u or v parametric direction of the surface.
Input:
STRING output_labels[] This value specifies the labels of the coordinate frame to be
created.
STRING surface[] This value specifies the reference surface.
INTEGER coordtype This value specifies the type of coordinate frame: 1 =
rectangular, 2 = cylindrical, and 3 = spherical.
STRING point[] This value specifies a point or set of points that lie on, or
close to, the surface.
LOGICAL xaxis This value specifies whether the x-axis coincides with the
u-direction of the surface.

( =True if yes, =False if coincides with v-direction).


Output:
STRING created_labels[VIRTU This value returns the labels of the coordinate frame
AL] created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000001 Point %I% does not exist. Unable to continue.
1000005 Patch %I% does not exist. Unable to continue.
1000025 Error attempting to allocate virtual memory.
1000054 An invalid geometric entity type was used as input. The valid entity type to use is
%A%. Unable to process request.
1000064 Overwrite of existing entity not permitted.
1000211 The length of the Axis equals zero.
1000216 Unable to properly process the output labels.
1000232 The entity label value of %I% is invalid. Database assigning next highest available
label.
478 PCL Reference Manual
Construct Actions

1000302 The three points specified are nearly collinear.


1000712 Unable to compute the tangent and normal vectors due to a non-removable
degeneracy or a singularity.

Remarks:
This function displays the number of coordinate frames created and their labels.
A coordinate frame will be created for each point on or close to the surface. Each coordinate frame will
be displayed in the graphics window.
Example:
None.
Chapter 3: Geometry Functions 479
Construct Actions

asm_const_curve_2d_arc2point (output_ids, num_curves,


arc_angle, plane_list,
center_point_list, start_point_list,
end_point_list, created_ids)

Description:
This function contructs circular arcs in a two-dimensional space, defined by a set of construction
planes, center point, a starting point, and an ending point.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
curve IDs.
INTEGER num_curves This value specifies the number of curves per arc to
create.
INTEGER arc_angle This value specifies the arc angle to use: 1 =
minimum arc angle, and 2 = maximum arc angle.
STRING plane_list[] This value specifies the list of planes in which to
construct the arcs.
STRING center_point_list[] This value specifies the list of points defining the
center point of the circular arc.
STRING start_point_list[] This value specifies the list of points defining the
starting point of the circular arc.
STRING end_point_list[] This value specifies the list of points defining the
ending point of the circular arc.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
The number of curves defined by the input value num_curves will be created for each point input set.
Each curve created will be displayed in the graphics window.
480 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000578 The number of Curves per Arc must be greater than or equal to one. The invalid value
input was %I%.
38000413 Zero length plane normal vector.
38000424 The center point and start point define a zero radius.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_curve_2d_arc2point (p. 385) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 481
Construct Actions

asm_const_curve_2d_arc3point (output_ids, num_curves,


create_center, plane_list, start_list,
mid_list, end_list, created_ids)

Description:
This function creates an arc-shaped or parametric cubic curve in two dimensional space, defined by a
start point, midpoint, and an end point.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
curve IDs.
INTEGER num_curves This value specifies the number of curves per arc to
create.
LOGICAL create_center This value is set to TRUE if a point is to be created
at the center of the arc.
STRING plane_list[] This value specifies the construction plane of the arc.
STRING start_list[] This value specifies the start point of the arc.
STRING mid_list[] This value specifies the midpoint of the arc.
STRING end_list[] This value specifies the end point of the arc.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
The number of curves defined by the input value num_curves will be created for each set of three points.
Each curve will be displayed in the graphics window.
482 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000578 The number of Curves per Arc must be greater than or equal to one.
The invalid value input was %I%.
38000413 Zero length plane normal vector.
38000423 The three points specified are nearly collinear.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_curve_2d_arc3point (p. 386) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 483
Construct Actions

asm_const_curve_2d_circle (output_ids, num_curves, radius_method,


radius, plane_list, radius_point_list,
center_point_list, created_ids)

Description:
This function creates a circular-shaped or parametric cubic curve in two-dimensional space, defined by
a center point and a radius.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
curve IDs.
INTEGER num_curves This value specifies the number of curves per circle
to create.
INTEGER radius_method This value specifies the method used to define a
radius: 1 = scalar radius value, and 2 = point location.
REAL radius This value specifies the radius of the circle if the
input value radius_method is set to 1.
STRING plane_list[] This value specifies the list of planes in which to
construct the arcs.
STRING radius_point_list[] This value specifies the list of points defining the
radius of the circle if the input value radius_method
is set to 2.
STRING center_point_list[] This value specifies the list of points defining the
center point of the circle.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
The number of curves defined by the input value num_curves will be created for each center point and
radius input set. Each curve created will be displayed in the graphics window.
484 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000579 The number of Curves per Circle must be greater than or equal to two.
The invalid value input was %I%.
38000413 Zero length plane normal vector.
38000425 The Circle radius must be greater than zero. Invalid value input was %G%.
38000426 The center point and start point define a zero radius.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_curve_2d_circle (p. 387) in the PCL Reference Manual Examples.

asm_const_curve_2d_circle_v2 (output_ids, num_curves,


radius_method, radius, plane_list,
radius_point_list, center_point_list,
project_points, created_ids)

Description:
This function creates n circular-shaped or parametric cubic curves in two-dimensional space, defined
by a center point and a radius.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
curve IDs.
INTEGER num_curves This value specifies the number of curves per circle
to create.
INTEGER radius_method This value specifies the method used to define a
radius: 1 = scalar radius value, and 2 = point location.
REAL radius This value specifies the radius of the circle if the
input value radius_method is set to 1.
STRING plane_list[] This value specifies the list of planes in which to
construct the arcs.
STRING radius_point_list[] This value specifies the list of points defining the
radius of the circle if the input value radius_method
is set to 2.
STRING center_point_list[] This value specifies the list of points defining the
center point of the circle.
Chapter 3: Geometry Functions 485
Construct Actions

LOGICAL project_points This value specifies, when set to TRUE, that the
center points be projected onto the plane. When this
value is set to FALSE, the construction plane will be
translated to the center point location and will still be
parallel to the original plane.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
The number of curves defined by the input value num_curves will be created for each center point and
radius input set. Each curve created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000579 The number of Curves per Circle must be greater than or equal to two. The invalid
value input was %I%.
38000413 Zero length plane normal vector.
38000425 The Circle radius must be greater than zero. Invalid value input was %G%.
38000426 The center point and start point define a zero radius.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_curve_2d_circle (p. 387) in the PCL Reference Manual Examples.
486 PCL Reference Manual
Construct Actions

asm_const_curve_arc3point (output_ids, num_curves, create_center,


start_list, mid_list, end_list, created_ids)

Description:
This function creates an arc-shaped or parametric cubic curve defined by a start point, midpoint, and
an end point.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
INTEGER num_curves This value specifies the number of curves per arc
to create.
LOGICAL create_center This value is set to TRUE if a point is to be created
at the center of the arc.
STRING start_list[] This value specifies the start point of the curve.
STRING mid_list[] This value specifies the midpoint of the curve.
STRING end_list[] This value specifies the end point of the curve.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
One curve will be created for each set of three points. Each curve will be displayed in the graphics
window.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.
Chapter 3: Geometry Functions 487
Construct Actions

This function can display a fatal popup message form with the following messages:

1000302 The three points specified are nearly collinear.


1000501 An attempt to create an Arc through %G% degrees will not be honored (Max=180).
Increase the number of lines.
1000578 The number of Curves per Arc must be greater than or equal to one. The invalid value
input was %I%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_curve_arc3point (p. 388) in the PCL Reference Manual Examples.
488 PCL Reference Manual
Construct Actions

asm_const_curve_bspline (output_ids, num_curves, point_list, order,


interpolate, param_method, closed,
created_ids)

Description:
This function creates a piecewise cubic curve from a set of points.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
INTEGER num_curves This value specifies the number of curves to create.
STRING point_list[] This value specifies the point list.
INTEGER order This value specifies the order of the B-spline.
LOGICAL interpolate This value is set to TRUE if the curve is to be
interpolated, and FALSE if the curve is to be
approximated.
INTEGER param_method This value specifies the parameterization method:
1 = chordal arc length, 2 = modified chordal arc
length, and 3 = uniform.
LOGICAL closed This value is set to TRUE if the curve is to be close.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
The number of curves defined by the input value num_curves will be created for each point list. Each
curve will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
Chapter 3: Geometry Functions 489
Construct Actions

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

38000472 The number of points selected must be greater or equal to the order of the
B-spline curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_curve_bspline (p. 389) in the PCL Reference Manual Examples.
490 PCL Reference Manual
Construct Actions

asm_const_curve_extract (output_ids, surface_list, direction, param_pos,


created_ids)

Description:
This function creates a parametric cubic curve on a surface by extracting a curve from a given surface
at a specified position and in a specified parametric direction.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
curve IDs.
STRING surface_list[] This value specifies the surface list.
INTEGER direction This value specifies the parametric direction to
create the curve in: 1 = constant U direction, and 2 =
constant V direction.
REAL param_pos This value specifies the parametric position in the
given direction from which to extract the curve.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
One curve on a surface will be created for each surface and direction/param_pos set. Each curve will be
displayed in the graphics window as it is created.
This function can display a warning popup message form with the following message:

38000433 A Zero length curve would have been created had the process continued. Modify
application input and try again.
Chapter 3: Geometry Functions 491
Construct Actions

This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
1000518 Specified Parametric Direction value of %I% is invalid. Valid values are 1 and 2.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_curve_extract (p. 390) in the PCL Reference Manual Examples.

asm_const_curve_extract_edge (output_ids, edge_list,


created_ids)

Description:
This function creates a parametric cubic curve on a surface by extracting a curve from a given edge of
a surface or solid.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
curve IDs.
STRING edge_list[] This value specifies the edge list.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and the IDs.
One curve will be created for each edge. Each curve will be displayed in the graphics window as it is
created.
492 PCL Reference Manual
Construct Actions

This function can display a warning popup message form with the following message:

1000054 An invalid geometric entity type was used as input. The valid entity type to use
is %A%. Unable to process request.

This function can display a fatal popup message form with the following messages:

1000003 Line %I% does not exist. Unable to continue.


38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_curve_extract_edge (p. 391) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 493
Construct Actions

asm_const_curve_intersect (output_ids, method, surface1_list,


surface2_list, num_curves, fit_tolerance,
int_tolerance, created_ids)

Description:
This function creates a parametric cubic curve from the intersection of two surfaces or a plane and a
surface.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value is set to an
empty string or to “#”, the function will automatically allocate
and assign a sequential list of curve IDs.
INTEGER method This value specifies the intersection method: 1 =
surface/surface intersection, and 2 = plane/surface
intersection.
STRING surface1_list[] This value specifies the first surface list if the input value
method is set to 1, and the plane list if the input value method
is set to 2.
STRING surface2_list[] This value specifies the second surface list.
INTEGER num_curves This value specifies the number of curves per intersection to
create.
REAL fit_tolerance This value specifies a tolerance parameter to be used as a
curve fit tolerance.
REAL int_tolerance This value specifies a tolerance parameter for determining the
density of intersection points generated.
Output:
STRING created_ids[VIRTU This value returns the created ID list.
AL]
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs. The number of
curves defined by the input value num_curves will be created for each intersection. Each curve will be
displayed in the graphics window.
494 PCL Reference Manual
Construct Actions

This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000535 No intersections found between surface(s) %A% and surface(s) %A%.


38000413 Zero length plane normal vector.
38000414 Invalid curve intersection method. Must be 1 or 2. Try again.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_curve_intersect (p. 392) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 495
Construct Actions

asm_const_curve_intersect_plane (output_ids, length, plane1_list,


plane2_list, created_ids)

Description:
This function constructs finite length cubic lines from the intersection of two planes.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
curve IDs.
REAL length This value specifies the length of the created lines.
STRING plane_list[] This value specifies the list of planes to be compared
for intersection with the planes given in the input
value plane2_list.
STRING plane2_list[] This value specifies the list of planes to be compared
for intersection with the planes provided by the input
value plane1_list.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
One cubic line per intersection will be created for each plane input set. Each cubic line created will be
displayed in the graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000535 No intersections found between plane(s) %A% and plane(s) %A%.


38000003 No blob provided.
496 PCL Reference Manual
Construct Actions

38000413 Zero length plane normal vector.


38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:
None.

asm_const_curve_intersect_2pln (output_ids, length, plane1_list,


plane2_list, plane3_list,
created_ids)

Description:
This function constructs finite length cubic lines from the intersection of two planes with an option to
define the starting point of the line at a specified point where the three input planes intersect.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
curve IDs.
REAL length This values specifies the length of the line.
STRING plane1_list[] This value specifies the list of planes to be compared
for intersection with the planes given in the input
value plane2_list.
STRING plane2_list[] This value specifies the list of planes to be compared
for intersection with the planes provided by the input
value plane1_list.
STRING plane3_list[] This value specifies the list of planes to be compared
for intersection with the planes provided by the input
value plane1_list and plane2_list. This creates the
intersection point for the start point of the line.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
Chapter 3: Geometry Functions 497
Construct Actions

Remarks:
This function displays a message listing the number of curves created and their IDs.
One cubic line per intersection will be created for each plane input set. Each cubic line created will be
displayed in the graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000535 No intersections found between plane(s) %A% and plane(s) %A%.


38000003 No blob provided.
38000413 Zero length plane normal vector.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:
None.
498 PCL Reference Manual
Construct Actions

asm_const_curve_involute (output_ids, axis, option, scalar1, scalar2,


num_curves, coord_frame, point, created_ids)

Description:
This function creates a parametric cubic curve defined as the unwinding of an imaginary string from a
circular bobbin.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value is set to an
empty string or to “#”, the function will automatically allocate
and assign a sequential list of curve IDs.
STRING axis[] This value specifies the axis of the involute curve.
INTEGER option This value specifies the option to use in creating the involute.
If option = 1 the radii method is used, otherwise the angle
method is used.
REAL scalar1 This value specifies a scalar value depending on the value of
option. If the angle method is used, this is the angle to unwind
the curve. If the radii method is used, this is the base radius of
the bobbin.
REAL scalar2 This value specifies a scalar value depending on the value of
option. If the angle method is used, this is the starting angle of
the curve. If the radii method is used, this is the stop radius of
the curve.
INTEGER num_curves This value specifies the number of curves to create for each
point.
STRING coord_frame[] This value specifies the reference coordinate frame.
STRING point[] This value specifies the list of points to be swept.
Output:
STRING created_ids[VIRTU This value returns the created ID list.
AL]
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000054 An invalid geometric entity type was used as input. The valid entity type to use is
%A%. Unable to process request.
1000211 The length of the Axis equals zero.
1000226 The angle which the involute traverses must be positive.
1000227 The starting angle of the involute must be positive.
Chapter 3: Geometry Functions 499
Construct Actions

1000228 The radius of the base circle must be positive.


1000229 The stop radius of the involute must be larger than the base radius.
1000230 The point is inside the base circle.
1000231 The point is outside the stop radius of the involute.

Remarks:
This function displays a message listing the number of curves created and their IDs.
The number of curves defined by the input value num_curves will be created for each point. Each curve
will be displayed in the graphics window.
Example:
Please see asm_const_curve_involute (p. 394) in the PCL Reference Manual Examples.
500 PCL Reference Manual
Construct Actions

asm_const_curve_loft (output_ids, num_curves, slope_control, point_list,


slope_list1, slope_list2, created_ids)

Description:
This function create a piecewise cubic curve from a set of points with optional endpoint slope control.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
curve IDs.
INTEGER num_curves This value specifies the number of curves to create.
LOGICAL slope_control This value is set to TRUE if the endpoint slope
control is to be enforced.
STRING point_list[] This value specifies the point list.
STRING slope_list1[] This value specifies the vectors defining the initial
slope.
STRING slope_list2[] This value specifies the vectors defining the final
slope.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
The number of curves defined by the input value num_curves will be created for each point list. Each
curve will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.
Chapter 3: Geometry Functions 501
Construct Actions

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000450 Unable to calculate a point on the curve.
38000472 The number of points selected must be greater or equal to the order of the
B-spline curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_curve_loft (p. 395) in the PCL Reference Manual Examples.
502 PCL Reference Manual
Construct Actions

asm_const_curve_manifold_2point (output_ids, surface_list,


point1_list, point2_list,
num_curves, fit_tolerance,
created_ids)

Description:
This function creates a parametric cubic curve on a surface between two points.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING surface_list[] This value specifies the list of surfaces to manifold
the curve onto.
STRING point1_list[] This value specifies the list of points defining the
start point of the curve on a surface.
STRING point2_list[] This value specifies the list of points defining the
end point of the curve on a surface.
INTEGER num_curves This value specifies the number of curves per
manifold to create. If this value is set to 0, then the
number of curves created will be based on the
projection tolerance.
REAL fit_tolerance This value specifies a tolerance parameter which
will be used here as a curve fit tolerance. The
manifold will be approximated by a tolerance-
based cubic spline.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
Chapter 3: Geometry Functions 503
Construct Actions

The number of curves defined by the input value num_curves will be created for each surface, point input
set. Each curve created will be displayed in the graphics window.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000450 Unable to calculate a point on the curve.
38000489 Unable to create a curve manifolded to the surface between the two input points.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_curve_manifold_2point (p. 396) in the PCL Reference Manual Examples.
504 PCL Reference Manual
Construct Actions

asm_const_curve_manifold_npoint (output_ids, surface, point_list,


num_curves, fit_tolerance,
created_ids)

Description:
This function creates a spline or parametric cubic curve through a specified number of points
manifolded onto a surface.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING surface[] This value specifies the surface to manifold the
curve onto.
STRING point_list[] This value specifies the list of points through
which the spline curve will be fitted.
INTEGER num_curves This value specifies the number of curves per
manifold to create. If this value is set to 0, then the
number of curves created will be based on the
projection tolerance.
REAL fit_tolerance This value specifies a tolerance parameter which
will be used here as a curve fit tolerance. The
manifold will be approximated by a tolerance-
based cubic spline.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
The number of curves defined by the input value num_curves will be created for each surface, point input
set. Each curve created will be displayed in the graphics window.
Chapter 3: Geometry Functions 505
Construct Actions

This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000301 There must be at least two points as input. The invalid value input was %A%.
38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
38000489 Unable to create a curve manifolded to the surface between the two input points.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_curve_manifold_npoint (p. 397) in the PCL Reference Manual Examples.

asm_const_curve_project (output_ids, curve_list, surface_list,


delete_original, method, vector, coord_frame,
num_curves, projection_tolerance, created_ids)

Description:
This function creates a parametric cubic curve from the projection of curves onto surfaces.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING curve_list[] This value specifies the curve list to project.
STRING surface_list[] This value specifies the surface list to project onto.
LOGICAL delete_original This value is set to TRUE if the original curves to
project are to be deleted after the projection. If this
value is set to FALSE, the original entities will not
be deleted.
506 PCL Reference Manual
Construct Actions

INTEGER method This value specifies the projection method: 1 = the


curve to be projected lies in a plane and it is desired
to project the curve normal to this plane, 2 = the
direction of projection is normal to the surface at
the point of closest approach, 3 = the direction of
projection is given by a vector, and 4 = the
direction of projection is the view vector.
STRING vector[] This value specifies the projection vector.
STRING coord_frame[] This value specifies the coordinate frame ID for
the projection vector.
INTEGER num_curves This value specifies the number of curves per
projection to create. If this value is set to 0, then the
number of curves created will be based on the
projection tolerance.
REAL projection_tolerance This value specifies a tolerance parameter
determining the density of intersection points
generated.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
The number of curves defined by the input value num_curves will be created for each projection. Each
curve will be displayed in the graphics window.
This function can display an information popup message form with the following message:

38000412 Negating the View Vector coordinates and trying again...

This function can display a warning popup message form with the following message:

38000415 Skipping zero length Curve %I%.


Chapter 3: Geometry Functions 507
Construct Actions

This function can display a fatal popup message form with the following messages:

1000540 The projection vector has zero length.


38000488 Unable to manifold the curve(s) to the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_curve_project (p. 399) in the PCL Reference Manual Examples.

asm_const_curve_revolve (output_ids, axis, angle, offset, coord_frame,


point, created_ids)

Description:
This function creates an arc shaped parametric cubic curve by revolving about a point.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
curve IDs.
STRING axis[] This value specifies the axis of rotation.
REAL angle This value specifies the total angle to revolve each
point.
REAL offset This value specifies the initial offset angle.
STRING coord_frame[] This value specifies the reference coordinate frame.
STRING point[] This value specifies the list of points to be revolved.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
1000054 An invalid geometric entity type was used as input. The valid entity type to use is
%A%. Unable to process request.
1000064 Overwrite of existing entity not permitted.
1000210 Angle of rotation for a parametric entity is greater than 180 degrees.
508 PCL Reference Manual
Construct Actions

1000211 The length of the Axis equals zero.


38000003 No blob provided.
38000450 Unable to calculate a point on the curve.

Remarks:
This function displays a message listing the number of curves created and their IDs.
More than one curve may be created for each point. Each curve will be displayed in the graphics window.
Example:
Please see asm_const_curve_revolve (p. 400) in the PCL Reference Manual Examples.

asm_const_grid_arccenter (output_ids, curve_list, created_ids)

Description:
This function creates a point at the center of curvature of a curve.
Input:
STRING output_ids[] This value specifies the point ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of point IDs.
STRING curve_list[] This value specifies the curve which the center of
curvature will be calculated from to create the
point.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of planes created and their IDs.
One point will be created for each curve. Each point will be displayed in the graphics window as it is
created.
Chapter 3: Geometry Functions 509
Construct Actions

This function can display a warning popup message form with the following messages:

1000201 %A% is not a recognized syntax for a Curve List.


1000581 The selected curve %I% has no center of curvature. A point was not created.

This function can display a fatal popup message form with the following message:

2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_grid_arccenter (p. 401) in the PCL Reference Manual Examples.

asm_const_grid_extract (output_ids, curve_list, param_pos, created_ids)

Description:
This function constructs points by extracting a point from a curve at a specified parametric position.
Input:
STRING output_ids[] This value specifies the point ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
point IDs.
STRING curve_list[] This value specifies the list of curves from which to
extract points.
REAL param_pos This value specifies the parametric position along a
curve from which to extract a point.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of points created and their IDs.
One point will be created for each parametric position specified along each curve. All points created will
be displayed in the graphics window.
510 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_grid_extract (p. 402) in the PCL Reference Manual Examples.

asm_const_grid_extract_v1 (output_ids, curve_list, parametric_pos,


param_method, created_ids)

Description:
This function constructs points by extracting a point from a curve at a specified parametric position
and specifying a parameterization method for the input curve.
Input:
STRING output_ids[] This value specifies the point ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of point IDs.
STRING curve_list[] This value specifies the list of curves from which
to extract points.
REAL parametric_pos This value specifies the parametric position along
a curve from which to extract a point.
INTEGER param_method This value specifies the parameterization method
for input curve: 1 = equal relative arc length, and 2
= equal relative parametric values.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of points created and their IDs.
Chapter 3: Geometry Functions 511
Construct Actions

One point will be created for each parametric position specified along each curve. All points created will
be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1
and 2.
1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_grid_extract_v1 (p. 403) in the PCL Reference Manual Examples.

asm_const_grid_extract_surface (output_ids, uloc, vloc, surface_list,


created_ids)

Description:
This function constructs points by extracting a point from a surface at a specified u,v parametric
location.
Input:
STRING output_ids[] This value specifies the point ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
point IDs.
REAL uloc This value specifies the u-parametric position from
which to extract a point.
REAL vloc This value specifies v-parametric position from
which to extract a point.
STRING surface_list[] This value specifies the list of surfaces from which
to extract points.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
512 PCL Reference Manual
Construct Actions

Remarks:
This function displays a message listing the number of points created and their IDs.
One point will be created for each parametric position set specified per surface. All points created will
be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
2001070 Unable to acquire %I% words of virtual memory.

Example:
None.

asm_const_grid_extract_surf_par (output_ids, npu, npv, uvmin_max,


surface_list, created_ids)

Description:
This function constructs points by extracting n points from a surface within a u,v min/max grid.
Input:
STRING output_ids[] This value specifies the point ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
point IDs.
INTEGER npu This value specifies the number of points to create in
the u-direction.
INTEGER npv This value specifies the number of points to create in
the v-direction.
REAL uvmin_max(4) This value specifies the uv min/max parametric
values which define the bounds in which to extract
the points, where:

uvmin_max(1) = minimum u-value.

uvmin_max(2) = maximum u-value.

uvmin_max(3) = minimum v-value.

uvmin_max(4) = maximum v-value.


STRING surface_list[] This value specifies the surface list to extract from.
Chapter 3: Geometry Functions 513
Construct Actions

Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of points created and their IDs.
Points will be created for each entity list. All points created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000313 The number of points to extract must be greater than one in both directions.
1000312 The MIN/MAX values are improper. They must lie in the unit interval.
2001070 Unable to acquire %I% words of virtual memory.

Example:
None.

asm_const_grid_extract_surf_pts (output_ids, npu, npv, point1_list,


point2_list, surface_list, created_ids)

Description:
This function constructs points by extracting n points from a surface within a grid defined by a
diagonal of two points.
Input:
STRING output_ids[] This value specifies the point ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of point IDs.
INTEGER npu This value specifies the number of points to create
in the u-direction.
INTEGER npv This value specifies the numbe of points to create
in the v-direction.
514 PCL Reference Manual
Construct Actions

STRING point1_list[] This value specifies the first point used to define
the diagonal for the bounds of the grid of points.
STRING point2_list[] This value specifies the second point used to define
the diagonal for the bounds of the grid of points.
STRING surface_list[] This value specifies the surface list to extract from.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of points created and their IDs.
Points will be created for each entity list. All points created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000313 The number of points to extract must be greater than one in both directions.
2001070 Unable to acquire %I% words of virtual memory.

Example:
None.
Chapter 3: Geometry Functions 515
Construct Actions

asm_const_grid_interp_curve (output_ids, curve_list, space_ratio,


num_points, created_ids)

Description:
This function constructs points by interpolating along a curve.
Input:
STRING output_ids[] This value specifies the point ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
point IDs.
STRING curve_list[] This value specifies the curve list to interpolate.
REAL space_ratio This value specifies the point spacing ratio which is
the distance defined by the input value num_points
to the end point, divided by the distance defined by
the start point to the second point.
INTEGER num_points This value specifies the number of interior points to
create.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of points created and their IDs.
Points will be created for each entity list. All points created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000300 There must be at least one point as input. The invalid value input was %I%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_grid_interp_curve (p. 404) in the PCL Reference Manual Examples.
516 PCL Reference Manual
Construct Actions

asm_const_grid_interp_curve_v1 (output_ids, curve_list,


space_ratio, num_points,
param_method, created_ids)

Description:
This function constructs points by interpolating along a curve and specifying a parameterization
method for the input curve.
Input:
STRING output_ids[] This value specifies the point ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of point IDs.
STRING curve_list[] This value specifies the curve list to interpolate.
REAL space_ratio This value specifies the point spacing ratio which
is the distance defined by the input value
num_points to the end point, divided by the
distance defined by the start point to the second
point.
INTEGER num_points This value specifies the number of interior points
to create.
INTEGER param_method This value specifies the parameterization method
for the input curve: 1 = equal relative arc length,
and 2 = equal relative parametric values.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of points created and their IDs.
Points will be created for each entity list. All points created will be displayed in the graphics window.
Chapter 3: Geometry Functions 517
Construct Actions

This function can display a fatal popup message form with the following messages:

1000300 There must be at least one point as input. The invalid value input was %I%.
1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1 and
2.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_grid_interp_curve_v1 (p. 406) in the PCL Reference Manual Examples.

asm_const_grid_interp_point (output_ids, point1_list, point2_list,


space_ratio, num_points,
created_ids)

Description:
This function constructs points by interpolating between two existing points.
Input:
STRING output_ids[] This value specifies the point ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of point IDs.
STRING point1_list[] This value specifies the first point list to
interpolate.
STRING point2_list[] This value specifies the second point list to
interpolate.
REAL space_ratio This value specifies the point spacing ratio which
is the distance defined by input value num_points
to the end point, divided by the distance defined by
the start point to the second point.
INTEGER num_points This value specifies the number of interior points
to create.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
518 PCL Reference Manual
Construct Actions

Remarks:
This function displays a message listing the number of points created and their IDs.
Points will be created for each point set list. All points created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000300 There must be at least one point as input. The invalid value input was %I%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_grid_interp_point (p. 407) in the PCL Reference Manual Examples

asm_const_grid_interp_point_man (output_ids, point1_list, point2_list,


surface_list, space_ratio,
num_points, created_ids)

Description:
This function creates points by interpolating between two existing points with the results manifolded
to a surface.
Input:
STRING output_ids[] This value specifies the point ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
point IDs.
STRING point1_list[] This value specifies the first point list.
STRING point2_list[] This value specifies the second point list.
STRING surface_list[] This value specifies the surface list to manifold the
points to.
REAL space_ratio This value specifies the point spacing ratio which is
the distance defined by input value num_points to
the end point, divided by the distance defined by the
start point to the second point.
REAL num_points This value specifies the number of interior points to
create.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Chapter 3: Geometry Functions 519
Construct Actions

Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of points created and their IDs. One point will be
created for each set of points and manifold surface. Each point will be displayed in the graphics window.
This function can display a warning popup message form with the following message:

1000300 There must be at least one point as input. The invalid value input was %I%.

This function can display a fatal popup message form with the following message:

2001070 Unable to acquire %I% words of virtual memory.

Example:
None
520 PCL Reference Manual
Construct Actions

asm_const_grid_intersect (output_ids, curve1_list,


curve2_list, created_ids)

Description:
This function creates a point from the intersection of two curves.
Input:
STRING output_ids[] This value specifies the point ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
point IDs.
STRING curve1_list[] This value specifies the first curve list.
STRING curve2_list[] This value specifies the second curve list.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of points created and their IDs.
One point will be created for each set of curves. Each point will be displayed in the graphics window.
This function can display a warning popup message form with the following message:

1000580 The two input curves do not intersect within tolerance of %G%. The minimum
distance is %G%. A point of closest approach on each input curve was provided.

This function can display a fatal popup message form with the following message:

38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_grid_intersect (p. 408) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 521
Construct Actions

asm_const_grid_intersect_plo_cv (output_ids, curve_list, plane_list,


offset, created_ids)

Description:
This function creates a point from the intersection of a curve and a plane with an optional plane offset
distance.
Input:
STRING output_ids[] This value specifies the point ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of point IDs.
STRING curve_list[] This value specifies the curve list.
STRING plane_list[] This value specifies the plane list.
REAL offset This value specifies the plane offset distance.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in
the message database.

Remarks:
This function displays a message listing the number of points created and their IDs.
One point will be created for each set of curve and plane that intersect. Each point will be displayed in
the graphics window.
This function can display a warning popup message form with the following message:

1000311 No intersections found between %A% and %A%.

This function can display a fatal popup message form with the following message:

38000845 Unable to acquire %I% words of virtual memory.

Example:
None.
522 PCL Reference Manual
Construct Actions

asm_const_grid_intersect_plo_vc (output_ids, vector_list, plane_list,


offset, created_ids)

Description:
This function creates a point from the intersection of a vector and a plane with an optional plane offset
distance.
Input:
STRING output_ids[] This value specifies the point ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of point IDs.
STRING vector_list[] This value specifies the vector list.
STRING plane_list[] This value specifies the plane list.
REAL offset This value specifies the plane offset distance.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of points created and their IDs.
One point will be created for each set of vector and plane that intersect. Each point will be displayed in
the graphics window.
This function can display a warning popup message form with the following message:

1000311 No intersections found between %A% and %A%.

This function can display a fatal popup message form with the following message:

38000845 Unable to acquire %I% words of virtual memory.

Example:
None
Chapter 3: Geometry Functions 523
Construct Actions

asm_const_grid_offset (output_ids, distance, point_list,


curvepoint_list, created_ids)

Description:
This function creates a point on an existing curve at an offset distance from an existing point on the
same curve.
Input:
STRING output_ids[] This value specifies the point ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
point IDs.
REAL distance This value specifies the offset distance along the
curve.
STRING point_list[] This value specifies the reference point on a curve
list.
STRING curvepoint_list[] This value specifies the curve to create the point on
and the point on the curve which indicates the end of
the curve closest to the new point to be created.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of plane created and their IDs.
One point will be created for each reference point. Each point will be displayed in the graphics window
as it is created.
This function can display a fatal popup message form with the following messages:

1000582 The curve %I% has zero length.


1000583 Unable to create point on curve. Check input data for validity.
524 PCL Reference Manual
Construct Actions

1000584 Invalid Distance value of %G% was input. Distance value must be between
%G% and %G%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_grid_offset (p. 409) in the PCL Reference Manual Examples.

asm_const_grid_pierce (output_ids, curve_list,


surface_list, created_ids)

Description:
This function constructs points at the intersection(s) of a curve with a surface.
Input:
STRING output_ids[] This value specifies the point ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of point IDs.
STRING curve_list[] This value specifies the curve list which intersects
with the surfaces in the surface list.
STRING surface_list[] This value specifies the surface list with which the
curves in the curve list intersect.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of points created and their IDs.
Points will be created for each curve and surface intersection. All points created will be displayed in the
graphics window.
Chapter 3: Geometry Functions 525
Construct Actions

This function can display a fatal popup message form with the following messages:

1000541 No intersections found between projected curve(s) %A% onto surface(s) %A%.
2001070 Unable to acquire %I% words of virtual memory.
38000450 Unable to calculate a point on the curve.

Example:
Please see asm_const_grid_pierce (p. 410) in the PCL Reference Manual Examples.
526 PCL Reference Manual
Construct Actions

asm_const_grid_project_v1 (output_ids, point_list, surface_list, etype,


delete_orig, project_method, vector,
coord_frame, created_ids)

Description:
This function will create points by projecting other points to a surface.
Input:
STRING output_ids[] This value specifies the point ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
point ID’s.
STRING point_list[] This value specifies the point list.
STRING surface_list[] This value specifies the surface list.
INTEGER etype This value specifies the geometry type to which the
points will be projected. Set this value to 1 to project
the points to surfaces. Set this value to 2 to project
the points to planes.
LOGICAL delete_orig This value specifies, when set to TRUE that the
original projected points are to be deleted. If this
value is set to FALSE, the original projected points
will not be deleted.
INTEGER project_method This value specifies the method of defining the
projection vector. Set this value to 1 to project points
along a normal to the surface. Set this value to 2 to
project points along a vector. Set this value to 3 to
project points along the view vector.
STRING vector[] This value specifies the rectangular coordinate
projection vector. This value is used only if the input
value project_method is set to 2.
Output:
STRING created_ids[VIRTUAL] This value returns id values for the projected points.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
Chapter 3: Geometry Functions 527
Construct Actions

Remarks:
This function displays a message listing the number of points created and their id values.
One projected point will be created for each set of points and surfaces.
Each projected point will be displayed in the graphics window.
This function can display a warning popup message form with the following messages:

1000541 The projection vector has zero length.

This function can display a fatal popup message form with the following messages:

38000450 Unable to acquire %I% words of virtual memory.

Example:
None.

asm_const_grid_xyz (output_ids, coordinates_list,


coord_frame, created_ids)

Description:
This function constructs points based on their reference coordinate frame coordinates.
Input:
STRING output_ids[] This value specifies the point ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
point IDs.
STRING coordinates_list[] This value specifies the reference coordinate frame
coordinates of a point.
STRING coord_frame[] This value specifies the reference coordinate frame
in which to create the point. The default coordinate
frame is coordinate frame 0.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
528 PCL Reference Manual
Construct Actions

Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of points created and their IDs.
One point will be created for each set of point coordinates. Each point created will be displayed in the
graphics window.
This function can display a fatal popup message form with the following message:

2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_grid_xyz (p. 411) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 529
Construct Actions

asm_const_hpat_2surface (output_ids, surface1_list, surface2_list,


manifold_type, manifold_id, auto_align,
created_ids)

Description:
This function constructs hyperpatches from one surface to another, optionally lying within a manifold
solid.
Input:
STRING output_ids[] This value specifies the hyperpatch ID list. If this
value is set to an empty string or to “#”, the function
will automatically allocate and assign a sequential
list of hyperpatch IDs.
STRING surface1_list[] This value specifies the first set of surfaces for the
start of each hyperpatch.
STRING surface2_list[] This value specifies the second set of surfaces for the
end of each hyperpatch.
INTEGER manifold_type This value specifies the type of manifold entity: 0 =
no manifold, and 3 = solid manifold entity.
STRING manifold_id[] This value specifies the manifold entity.
LOGICAL auto_align This value specifies, when set to TRUE, that the
surfaces used to construct the hyperpatch should be
automatically aligned.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of hyperpatches created and their IDs.
One hyperpatch will be created for each pair of input surfaces. Each hyperpatch will be displayed in the
graphics window as it is created.
The maximum manifold error will be displayed.
530 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000900 Specified Manifold Entity Type value of %I% is invalid. Valid values are 0 and 3.
1000901 Zero length vector in Hpat %I% construction.
1000905 An error occurred during the manifold operation for manifold solid %A%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_hpat_2surface (p. 412) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 531
Construct Actions

asm_const_hpat_3surface (output_ids, surface1_list, surface2_list,


surface3_list, param_pos, auto_align,
created_ids)

Description:
This function constructs hyperpatches which pass through three surfaces and one interior parametric
position.
Input:
STRING output_ids[] This value specifies the hyperpatch ID list. If this
value is set to an empty string or to “#”, the function
will automatically allocate and assign a sequential
list of hyperpatch IDs.
STRING surface1_list[] This value specifies the first set of surfaces for the
start of each hyperpatch.
STRING surface2_list[] This value specifies the second set of surfaces for the
middle of each hyperpatch.
STRING surface3_list[] This value specifies the third set of surfaces for the
end of each hyperpatch.
REAL param_pos This value specifies the value of the parametric
position of the middle surface. The default value is
0.5.
LOGICAL auto_align This value specifies, when set to TRUE, that the
surfaces used to construct the hyperpatch should be
automatically aligned.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of hyperpatches created and their IDs.
One hyperpatch will be created for each set of three input surfaces. Each hyperpatch will be displayed in
the graphics window as it is created.
532 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
1000902 Unable to create an hpat with the specified parametric position value of %G%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_hpat_3surface (p. 414) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 533
Construct Actions

asm_const_hpat_4surface (output_ids, surface1_list, surface2_list,


surface3_list, surface4_list, param_pos1,
param_pos2, auto_align, created_ids)

Description:
This function constructs hyperpatches which pass through four surfaces and two interior parametric
positions.
Input:
STRING output_ids[] This value specifies the hyperpatch ID list. If this
value is set to an empty string or to “#”, the function
will automatically allocate and assign a sequential
list of hyperpatch IDs.
STRING surface1_list[] This value specifies the first set of surfaces for the
start of each hyperpatch.
STRING surface2_list[] This value specifies the second set of surfaces for the
1/3 point of each hyperpatch.
STRING surface3_list[] This value specifies the third set of surfaces for the
2/3 point of each hyperpatch.
STRING surface4_list[] This value specifies the fourth set of surfaces for the
end of each hyperpatch.
REAL param_pos1 This value specifies the value of the parametric
position of the one third interior surface. The default
value is 0.333.
REAL param_pos2 This value specifies the value of the parametric
position of the two thirds interior surface. The
default value is 0.667.
LOGICAL auto_align This value specifies, when set to TRUE, that the
surfaces used to construct the hyperpatch should be
automatically aligned.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
534 PCL Reference Manual
Construct Actions

Remarks:
This function displays a message listing the number of hyperpatches created and their IDs.
One hyperpatch will be created for each set of four input surfaces. Each hyperpatch will be displayed in
the graphics window as it is created.
This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
1000903 Unable to create an hpat with the specified parametric position values of %G% and
%G%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_hpat_4surface (p. 415) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 535
Construct Actions

asm_const_hpat_face (output_ids, surface1_list, surface2_list,


surface3_list, surface4_list, surface5_list,
surface6_list, created_ids)

Description:
This function constructs hyperpatches from six surfaces forming their exterior faces. The surfaces can
be in any order and have any parametric orientation, but they must define a valid exterior face of an
hyperpatch.
Input:
STRING output_ids[] This value specifies the hyperpatch ID list. If this
value is set to an empty string or to “#”, the function
will automatically allocate and assign a sequential
list of hyperpatch IDs.
STRING surface1_list[] This value specifies the first set of surfaces defining
face 1 of each hyperpatch.
STRING surface2_list[] This value specifies the second set of surfaces
defining face 2 of each hyperpatch.
STRING surface3_list[] This value specifies the third set of surfaces defining
face 3 of each hyperpatch.
STRING surface4_list[] This value specifies the fourth set of surfaces
defining face 4 of each hyperpatch.
STRING surface5_list[] This value specifies the fifth set of surfaces defining
face 5 of each hyperpatch.
STRING surface6_list[] This value specifies the sixth set of surfaces defining
face 6 of each hyperpatch.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of hyperpatches created and their IDs.
One hyperpatch will be created for each set of input surface faces. Each hyperpatch will be displayed in
the graphics windows as it is created.
536 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000906 The surfaces are not correctly positioned to form a hpat.


2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_hpat_face (p. 417) in the PCL Reference Manual Examples.

asm_const_hpat_vertex (output_ids, point1_list, point2_list, point3_list,


point4_list, point5_list, point6_list, point7_list,
point8_list, created_ids)

Description:
This function constructs trilinear hyperpatches from eight points. The points should be previously
defined and specified in the normal hyperpatch connectivity order.
Input:
STRING output_ids[] This value specifies the hyperpatch ID list. If this
value is set to an empty string or to “#”, the function
will automatically allocate and assign a sequential
list of hyperpatch IDs.
STRING point1_list[] This value specifies the first set of points defining
vertex 1 of each hyperpatch.
STRING point2_list[] This value specifies the second set of points defining
vertex 2 of each hyperpatch.
STRING point3_list[] This value specifies the third set of points defining
vertex 3 of each hyperpatch.
STRING point4_list[] This value specifies the fourth set of points defining
vertex 4 of each hyperpatch.
STRING point5_list[] This value specifies the fifth set of points defining
vertex 5 of each hyperpatch.
STRING point6_list[] This value specifies the sixth set of points defining
vertex 6 of each hyperpatch.
STRING point7_list[] This value specifies the seventh set of points
defining vertex 7 of each hyperpatch
STRING point8_list[] This value specifies the eighth set of points defining
vertex 8 of each hyperpatch.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
Chapter 3: Geometry Functions 537
Construct Actions

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:.
This function displays a message listing the number of hyperpatches created and their IDs.
One hyperpatch will be created for each set of eight input vertices. Each hyperpatch will be displayed in
the graphics window as it is created.
This function can display a fatal popup message form with the following messages:

1000901 Zero length vector in Hpat %I% construction.


2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_hpat_vertex (p. 419) in the PCL Reference Manual Examples.
538 PCL Reference Manual
Construct Actions

asm_const_hpat_xyz (output_ids, solid_length, solid_origin, coord_frame,


created_ids)

Description:
This function constructs solids based on their X, Y, Z cartesian dimensions and origin.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING solid_length[] This value specifies the length of the hyperpatch in
X,Y,Z respectively.
STRING solid_origin[] This value specifies the X,Y,Z coordinates of the
origin of the solid respectively.
STRING coord_frame[] This value specifies the reference coordinate frame
in which to create the solid. The default coordinate
frame is coordinate frame 0.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of solids created and their IDs.
One solid will be created for each vector and solid origin set. All solids created will be displayed in the
graphics window.
This function can display a fatal popup message form with the following messages:

1000901 Zero length vector in Hpat %I% construction.


2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_hpat_xyz (p. 420) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 539
Construct Actions

asm_const_line_2point (output_ids, point1_list, point2_list, manifold_type,


manifold_id, num_interp, num_lines, created_ids)

Description:
This function constructs lines by ruling between two sets of points and within an manifold entity.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
line IDs.
STRING point1_list[] This value specifies the first set of points for the start
of each line.
STRING point2_list[] This value specifies the second set of points for the
end of each line.
INTEGER manifold_type This value specifies the type of manifold entity: 0 =
no manifold, 1 = line manifold entity, 2 = surface
manifold entity, and 3 = solid manifold entity.
STRING manifold_id[] This value specifies the manifold entity.
INTEGER num_interp This value specifies the number of points to define
the manifolding interpolation mesh through which is
fitted though the number of lines defined by the
input value num_lines.
INTEGER num_lines This value specifies the number of lines to create per
manifold.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of lines created and their IDs.
The maximum manifold error will be displayed.
540 PCL Reference Manual
Construct Actions

One line will be created for each pair of input points. Each line will be displayed in the graphics window
as it is created.
This function can display a fatal popup message form with the following messages:

1000511 Specified Manifold Entity Type value of %I% is invalid. Valid values are 0, 1, 2,
and 3.
1000554 An error occurred during the manifold operation for manifold curve %A%.
1000710 An error occurred during the manifold operation for manifold surface %A%.
1000905 An error occurred during the manifold operation for manifold solid %A%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_line_2point (p. 421) in the PCL Reference Manual Examples.

asm_const_line_3point (output_ids, point1_list, point2_list, point3_list,


param_method, param_pos, created_ids)

Description:
This function constructs lines which pass through three sets of points and an interior parametric
position.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is set to
an empty string or to “#”, the function will automatically
allocate and assign a sequential list of line IDs.
STRING point1_list[] This value specifies the first set of points for the start of
each line.
STRING point2_list[] This value specifies the second set of points for the
middle of each line.
STRING point3_list[] This value specifies the third set of points for the end of
each line.
INTEGER param_method This value specifies the parameterization method used to
parameterize the line: 1 = parametric position of
midpoint, and 2 = chord length parameterization.
REAL param_pos This value specifies the value of the parametric position
of the middle point if the input value param_method is set
to 1. The default value is 0.5.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
Chapter 3: Geometry Functions 541
Construct Actions

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of lines created and their IDs.
One line will be created for each set of three input points. Each line will be displayed in the graphics
window as it is created.
This function can display a fatal popup message form with the following messages:

1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1 and
2.
1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
1000509 Unable to create a line with the specified parametric position value of %G%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_line_3point (p. 422) in the PCL Reference Manual Examples.

asm_const_line_4point (output_ids, point1_list, point2_list, point3_list,


point4_list, param_method, param_pos1,
param_pos2, created_ids)

Description:
This function constructs lines which pass through four sets of points and two interior parametric
positions.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of line IDs.
STRING point1_list[] This value specifies the first set of points for the
start of each line.
542 PCL Reference Manual
Construct Actions

STRING point2_list[] This value specifies the second set of points for the
1/3 point of each line.
STRING point3_list[] This value specifies the third set of points for the
2/3 point of each line.
STRING point4_list[] This value specifies the fourth set of points for the
end of each line.
INTEGER param_method This value specifies the parameterization method
used to parameterize the line: 1 = parametric
position of midpoint, and 2 = chord length
parameterization.
REAL param_pos1 This value specifies the value of the parametric
position of the one third interior point if the input
value param_method is set to 1. The default value
is 0.333.
REAL param_pos2 This value specifies the value of the parametric
position of the two thirds interior point if the input
value param_method is set to 1. The default value
is 0.667.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of lines created and their IDs.
One line will be created for each set of four input points. Each line will be displayed in the graphics
window as it is created.
This function can display a fatal popup message form with the following messages:

1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1 and
2.
1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
Chapter 3: Geometry Functions 543
Construct Actions

1000510 Unable to create a line with the specified parametric position values of %G% and
%G%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_line_4point (p. 423) in the PCL Reference Manual Examples.

asm_const_line_arc3point (output_ids, num_lparc, point1_list,


point2_list, point3_list, created_ids)

Description:
This function creates arcs through three sets of points.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
line IDs.
INTEGER num_lparc This value specifies the number of lines to create per
arc.
STRING point1_list[] This value specifies the list of points defining the
start of an arc.
STRING point2_list[] This value specifies the list of points defining the
midpoint of an arc.
STRING point3_list[] This value specifies the list of points defining the
end of an arc.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of lines created and their IDs.
A line will be created for each set of points. All lines created will be displayed in the graphics window.
544 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000302 The three points specified are nearly collinear.


1000500 There must be at least one line as input. The invalid value input was %I%.
1000501 An attempt to create an Arc through %G% degrees will not be honored (Max=180).
Increase the number of lines.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_line_arc3point (p. 425) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 545
Construct Actions

asm_const_line_conic (output_ids, coord_frame, rho, point1_list, point2_list,


point3_list, created_ids)

Description:
This function constructs a conic section such as a hyperbola, parabola, ellipse, or circular arc.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
line IDs.
STRING coord_frame[] This value specifies the reference coordinate frame
in which the construction point, defined by the input
value point1_list, is to be interpreted. The default
coordinate frame is coordinate frame 0.
REAL rho This value specifies the relative altitude value for the
conic section: Ellipse when 0.0 < rho < 0.5, Parabola
when rho = 0.5, Hyperbola when 0.5 < rho < 1.0.
STRING point1_list[] This value specifies the list of construction points,
which, in conjunction with the start and end points of
the conic section, define the plane and tangency of
the conic section.
STRING point2_list[] This value specifies the list of points defining the
start of the conic section.
STRING point3_list[] This value specifies the list of points defining the
end of the conic section.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of lines created and their IDs.
Curves will be created for each set of point lists. All lines created will be displayed in the graphics
window.
546 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following message:

2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_line_conic (p. 426) in the PCL Reference Manual Examples.

asm_const_line_extract (output_ids, surface_list, line_direction,


param_pos, created_ids)

Description:
This function constructs lines by extracting lines from a set of surfaces at a specified position and in
a specified parametric direction.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of line IDs.
STRING surface_list[] This value specifies the list of surfaces from which
lines are extracted.
INTEGER line_direction This value specifies the parametric direction in
which to create the line: 1 = C1 direction, and 2 =
C2 direction.
REAL param_pos This value specifies the value of the parametric
position in the given parametric direction from
which to extract the line.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of lines created and their IDs.
One line will be created for each parametric direction specified in each surface. Each line created will be
displayed in the graphics window.
Chapter 3: Geometry Functions 547
Construct Actions

This function can display a warning popup message form with the following message:

38000433 A Zero length curve would have been created had the process continued. Modify
application input and try again.

This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
1000518 Specified Parametric Direction value of %I% is invalid. Valid values are 1 and 2.
2001070 Unable to acquire %I% words of virtual memory.
38000637 Cannot access geometry definition for %A%.

Example:
Please see asm_const_line_extract (p. 427) in the PCL Reference Manual Examples.

asm_const_line_fillet (output_ids, num_fillet, radius, fil_tolerance,


trim_original, point1_list, point2_list, created_ids)

Description:
This function constructs a fillet of a specified radius between any two lines.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is set to
an empty string or to “#”, the function will automatically
allocate and assign a sequential list of line IDs.
INTEGER num_fillet This value specifies the number of lines to create per
fillet.
REAL radius This value specifies the fillet radius.
REAL fil_tolerance This value specifies the fillet geometric tolerance.
LOGICAL trim_original This value is set to TRUE if the original line is to be
trimmed after the fillet is created.
STRING point1_list[] This value specifies the first fillet location list.
STRING point2_list[] This value specifies the second fillet location list.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
548 PCL Reference Manual
Construct Actions

Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of lines created and their IDs.
Curves will be created for each set of lines and points. All lines created will be displayed in the graphics
window.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000500 There must be at least one line as input. The invalid value input was %I%.
1000557 The fillet radius value is unacceptable. The radius value of %G% must be greater
than the fillet tolerance value of %G%.
1000558 The fillet line with radius %G% cannot be created between the two input curves.
1000571 The fillet curve has a zero angle of rotation. The fillet cannot be created.
1000572 The fillet curve has a zero radius. The fillet cannot be created.
2001070 Unable to acquire %I% words of virtual memory.
38000003 No blob provided.
38000450 Unable to calculate a point on the curve.

Example:
Please see asm_const_line_fillet (p. 429) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 549
Construct Actions

asm_const_line_fit (output_ids, point_list, num_lines, geo_tolerance,


num_iterations, created_ids)

Description:
This function creates a set of lines which together define a best fit to an arbitrary number of points.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of line IDs.
STRING point_list[] This value specifies the ordered list of points to
which the lines are to be fit.
INTEGER num_lines This value specifies the number of lines to fit
through the points in the point list.
REAL geo_tolerance This value specifies a geometric tolerance used to
test for convergence during the parametric least
squares numerical approximation. The default
value is 0.005.
INTEGER num_iterations This value defines the maximum number of times
to iterate during the parametric least squares
numerical approximation. The default value is 0.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of lines created and their IDs.
A line will be created for each point. All lines created will be displayed in the graphics window.
This function can display an information popup message form with the following messages:

1000517 The Line Construct parameter %A% was reset from the invalid input value of %I%
to the default value of %I%.
550 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000301 There must be at least two points as input. The invalid value input was %A%.
1000500 There must be at least one line as input. The invalid value input was %I%.
1000516 The points are all within tolerance of one another. A zero length line will not be
produced.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_line_fit (p. 431) in the PCL Reference Manual Examples.

asm_const_line_intersect (output_ids, surface1_list, surface2_list,


curves_per_int, geo_tolerance, flat_tolerance,
int_tolerance, created_ids)

Description:
This function creates curves which at the intersection between two sets of surfaces.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
curve IDs.
STRING surface1_list[] This value specifies the list of surfaces to be
compared for intersection with the surfaces in the
input value surface2_list.
STRING surface2_list[] This value specifies the list of surfaces to be
compared for intersection with the surfaces in the
input value surface1_list.
INTEGER curves_per_int This value specifies the number of curves to be
created per intersection.
REAL geo_tolerance This value specifies the maximum deviation
tolerance used during the creation of curves per
intersection curve.
REAL flat_tolerance This value specifies a tolerance parameter. Surfaces
in the input list are recursively subdivided until they
are planar within this tolerance. The default is
20*geo_tolerance.
Chapter 3: Geometry Functions 551
Construct Actions

REAL int_tolerance This value specifies a tolerance parameter. The


algorithm creates all points along the projected curve
so that the maximum distance lies between them is
the distance defined by this value. The default is
10*geo_tolerance.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
The number of curves per intersection defined by the input value curves_per_int will be created for each
surface input set. Each curve created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000527 The number of lines per intersection must be greater than or equal to zero. The
invalid value input was %I%.
1000532 A Virtual File Access error has occurred.
1000533 An error has occurred during the surface/surface intersection algorithm. Probable
cause is degenerate geometry.
1000534 The intersection points are all within tolerance of one another. A zero length line
will not be produced.
1000535 No intersections found between surface(s) %A% and surface(s) %A%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_line_intersect (p. 432) in the PCL Reference Manual Examples.
552 PCL Reference Manual
Construct Actions

asm_const_line_normal (output_ids, point_list, line_list, created_ids)

Description:
This function constructs lines which pass through a point perpendicular to set of lines.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of line IDs.
STRING point_list[] This value specifies the list of points from which
the perpendicular lines will be constructed.
STRING line_list[] This value specifies the list of lines to which the
perpendicular lines will be constructed.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of lines created and their IDs.
One line will be created for each point and line in the set of points and lines. All lines created will be
displayed in the graphics window.
This function can display a fatal popup message form with the following message:

2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_line_normal (p. 433) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 553
Construct Actions

asm_const_line_project (output_ids, line_list, surface_list, delete_original,


project_method, vector, coord_frame, num_lines,
geo_tolerance, flat_tolerance, int_tolerance,
created_ids)

Description:
This function constructs lines by projecting lines along a plane normal or vector onto a set of surfaces.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
line IDs.
STRING line_list[] This value specifies the list of lines to project onto
the list of surfaces.
STRING surface_list[] This value specifies the list of surfaces onto which
the lines are to be projected.
LOGICAL delete_original This value is set to TRUE if the original lines to
project are to be deleted after the projection. If this
value is set to FALSE, the original entities will not
be deleted.
INTEGER project_method This value specifies the method of defining the
projection vector: 1 = the lines to be projected lie in
a plane and it is desirable to project the lines normal
to this plane, and 2 = the direction of projection is to
be given by a vector.
STRING vector[] This value specifies the projection vector if the input
value project_method is set to 2.
STRING coord_frame[] This value specifies the coordinate frame ID number
for the projection vector.
INTEGER num_lines This value specifies the number of lines to be created
per projection.
REAL geo_tolerance This value specifies the maximum deviation
tolerance used during the creation of the lines per
projection vector.
REAL flat_tolerance This value specifies a tolerance parameter. Surfaces
in the input list are recursively subdivided until they
are planar within this tolerance. The default is
20*geo_tolerance.
554 PCL Reference Manual
Construct Actions

REAL int_tolerance This value specifies a tolerance parameter. The


algorithm creates all points along the projected line
so that the maximum distance lies between them is
the distance defined by this value. The default is
10*geo_tolerance.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of lines created and their IDs. It will also display a
message giving the maximum error found between the intersection points and the lines.
The number of lines per intersection defined by the input value num_lines will be created for each line
and surface input set. Each line created will be displayed in the graphics window.
This function can display a warning popup message form with the following message:

1000541 No intersections found between projected curve(s) %A% onto surface(s) %A%.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000532 A Virtual File Access error has occurred.
1000537 The number of lines per projection must be greater than or equal to zero. The
invalid value input was %I%.
1000538 An error has occurred during the curve/surface projection algorithm. Probable
cause is degenerate geometry.
1000539 The points created to approximate the projection line are all within tolerance
( %G%). Try making the Max. Deviation Tolerance on the Project Tolerances form
larger and try again.
1000541 No intersections found between projected curve(s) %A% onto surface(s) %A%.
2001070 Unable to acquire %I% words of virtual memory.
Chapter 3: Geometry Functions 555
Construct Actions

Example:
Please see asm_const_line_project (p. 434) in the PCL Reference Manual Examples.

asm_const_line_project_v1 (output_ids, line_list, surface_list,


delete_original, project_method, vector,
coord_frame, projection_tolerance,
created_ids)

Description:
This function constructs lines by projecting lines along a plane normal or vector onto a set of surfaces.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
line IDs.
STRING line_list[] This value specifies the list of lines to project onto
the list of surfaces.
STRING surface_list[] This value specifies the list of surfaces onto which
the lines are to be projected.
LOGICAL delete_original This value is set to TRUE if the original lines to
project are to be deleted after the projection. If this
value is set to FALSE, the original entities will not
be deleted.
INTEGER project_method This value specifies the method of defining the
projection vector: 1 = the lines to be projected lie in
a plane and it is desired to project the lines normal to
this plane, 2 = the direction of projection is normal
to the surface at the point of closest approach, and 3
= the direction of projection is to be given by a
vector.
STRING vector[] This value specifies the projection vector if the input
value project_method is set to 3.
STRING coord_frame[] This value specifies the coordinate frame ID number
for the projection vector.
REAL projection_tolerance This value specifies a tolerance parameter. The
algorithm creates all lines along the projected
surface so that the maximum distance lies between
them is the distance defined by this value.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
556 PCL Reference Manual
Construct Actions

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of lines created and their IDs. It will also display a
message giving the maximum error found between the intersection points and the lines.

The number of lines per intersection defined by the input value num_lines will be created for each line
and surface input set. Each line created will be displayed in the graphics window.

This function can display an information popup message form with the following message:

38000412 Negating the View Vector coordinates and trying again...

This function can display a warning popup message form with the following message:

38000415 Skipping zero length Curve %I%.

This function can display a fatal popup message form with the following messages:

1000540 The projection vector has zero length.


38000488 Unable to manifold the curve(s) to the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_line_project_v1 (p. 436) in the PCL Reference Manual Examples.

asm_const_line_pwl (output_ids, point_list, created_ids)

Description:
This function constructs a piecewise linear set of lines between a list of points.
Input:
Chapter 3: Geometry Functions 557
Construct Actions

STRING output_ids[] This value specifies the line ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
line IDs.
STRING point_list[] This value specifies the ordered list of points
defining the piecewise linear lines.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of lines created and their IDs.
Curves will be created for each set of point lists. All lines created will be displayed in the
graphics window.
This function can display a fatal popup message form with the following messages:

1000301 There must be at least two points as input. The invalid value input was %A%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_line_pwl (p. 438) in the PCL Reference Manual Examples.

asm_const_line_spline (output_ids, point_list, end_flag, created_ids)

Description:
This function constructs a piecewise cubic spline which passes through at least three points. Boundary
conditions at the two ends are controllable by the user.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
line IDs.
558 PCL Reference Manual
Construct Actions

STRING point_list[] This value specifies the ordered list of points


defining the breakpoints of the cubic spline
segments.
INTEGER end_flag This value defines the spline boundary conditions at
the two ends: 0 = zero second derivative, and 1 = a
0.5 scale of the internal second derivative.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of lines created and their IDs.
A spline line will be created for each set of point lists. All spline lines created will be displayed in the
graphics window.
This function can display a fatal popup message form with the following messages:

1000520 There must be at least two lines input for a Spline Line. The invalid value input
was %I%.
1000521 There must be at least three points input for a Spline Line. The invalid value input
was %A%.
1000523 The number of points (%I%) is insufficient for the Number of Spline Segments
(%I%) to create. There must be at least one more point than the number of
segments.
1000524 Duplicate points on Spline Line.
1000525 The points used to create the Spline Line are too close.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_line_spline (p. 438) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 559
Construct Actions

asm_const_line_tancurve (output_ids, line1_list, line2_list, trim_original,


created_ids)

Description:
This function constructs tangents between two sets of lines with a parametric direction common to
that of the first set of lines.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of line IDs.
STRING line1_list[] This value specifies the first set of lines from
which tangential lines are created.
STRING line2_list[] This value specifies the second set of lines from
which tangential lines are created.
LOGICAL trim_original This value is set to TRUE if the original line is to
be trimmed after the tangent is created.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of lines created and their IDs.
Curves will be created for each set of line point lists. All lines created will be displayed in the graphics
window.
This function can display a fatal popup message form with the following messages:

1000551 The curve is straight and has no tangent.


1000552 The two curves are not coplanar so a tangent cannot be calculated.
1000553 Unable to find tangent from the first curve to the second curve from the given start
points.
560 PCL Reference Manual
Construct Actions

1000563 The curve is not planar, therefore, a tangent cannot be calculated.


2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_line_tancurve (p. 439) in the PCL Reference Manual Examples.

asm_const_line_tanpoint (output_ids, curve_list, point_list, closest_only,


trim_original, created_ids)

Description:
This function constructs tangential lines between sets of points and lines with the parametric direction
of the tangents being common to the lines.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
line IDs.
STRING line_list[] This value specifies the list of lines to which the
tangential lines are created.
STRING point_list[] This value specifies the list of points from which the
tangential lines are created.
LOGICAL closest_only This value is set to TRUE if the closest tangent is the
only tangent to be created if multiple tangents exist.
LOGICAL trim_original This value is set to TRUE if the original line is to be
trimmed after the tangent is created.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of lines created and their IDs.
Chapter 3: Geometry Functions 561
Construct Actions

A line will be created for each point and line in the point and line lists. All lines created will be displayed
in the graphics window.
This function can display a fatal popup message form with the following messages:

1000548 The curve is straight, therefore, a tangent cannot be calculated.


1000549 The curve and point are not coplanar, therefore, a tangent cannot be calculated.
1000550 There is not a tangent which connects the point with the curve.
1000563 The curve is not planar, therefore, a tangent cannot be calculated.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_line_tanpoint (p. 441) in the PCL Reference Manual Examples.

asm_const_line_xyz (output_ids, line_length, line_origin, coord_frame,


created_ids)

Description:
This function constructs lines based on their X, Y, Z cartesian dimensions and origin.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
line IDs.
STRING line_length[] This value specifies the length of the line in the X, Y,
and Z axes.
STRING line_origin[] This value specifies the X, Y, and Z coordinates of
the origin of the line.
STRING coord_frame[] This value specifies the reference coordinate frame
in which to create the point. The default coordinate
system used is coordinate frame 0.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
562 PCL Reference Manual
Construct Actions

Remarks:
This function displays a message listing the number of lines created and their IDs.
One line will be created for each vector and line origin set. All lines created will be displayed in the
graphics window.
This function can display a fatal popup message form with the following message:

2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_line_xyz (p. 442) in the PCL Reference Manual Examples.

asm_const_patch_2curve (output_ids, curve1_list, curve2_list,


manifold_type, manifold_id, ruled_form,
auto_align, created_ids)

Description:
This function constructs patches from one set of curves to another, optionally lying within a manifold
surface or solid.
Input:
STRING output_ids[] This value specifies the patch ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
patch IDs.
STRING curve1_list[] This value specifies the first set of curves from which
each patch is started.
STRING curve2_list[] This value specifies the second set of curves defining
the end of each patch.
INTEGER manifold_type This value specifies the type of manifold entity: 0 = no
manifold, 2 = surface manifold entity, and 3 = solid
manifold entity.
STRING manifold_id[] This value specifies the manifold entity.
INTEGER ruled_form This value specifies the ruled patch parameterization
form: 0 = equal relative arc length, and1 = equal
relative parameter values.
LOGICAL auto_align This value specifies, when set to TRUE, will designate
that the curves used to construct the patch should be
automatically aligned.
Chapter 3: Geometry Functions 563
Construct Actions

Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of patches created and their IDs.
One patch will be created for each pair of input curves. Each patch will be displayed in the graphics
window as it is created.
The maximum manifold error will be displayed.
This function can display a fatal popup message form with the following messages:

1000573 Curve %I% does not have the required Company of Origin (PDA Engineering) to
construct a Line using the %A% Option. Unable to continue.
1000702 Specified Manifold Entity Type value of %I% is invalid. Valid values are 0, 2, and 3.
1000710 An error occurred during the manifold operation for manifold surface %A%.
1000905 An error occurred during the manifold operation for manifold solid %A%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_patch_2curve (p. 443) in the PCL Reference Manual Examples.
564 PCL Reference Manual
Construct Actions

asm_const_patch_2curve_v1 (output_ids, curve1_list, curve2_list,


manifold_type, manifold_id, auto_align,
created_ids)

Description:
This function constructs patches from one set of curves to another, optionally lying within a manifold
surface or solid.
Input:
STRING output_ids[] This value specifies the patch ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
patch IDs.
STRING curve1_list[] This value specifies the first set of curves from which
each patch is started.
STRING curve2_list[] This value specifies the second set of curves defining
the end of each patch.
INTEGER manifold_type This value specifies the type of manifold entity: 0 = no
manifold, 2 = surface manifold entity, and 3 = solid
manifold entity.
STRING manifold_id[] This value specifies the manifold entity.
LOGICAL auto_align This value specifies, when set to TRUE, that the curves
used to construct the patch should be automatically
aligned.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of patches created and their IDs.
One patch will be created for each pair of input curves. Each patch will be displayed in the graphics
window as it is created.
The maximum manifold error will be displayed.
Chapter 3: Geometry Functions 565
Construct Actions

This function can display a fatal popup message form with the following messages:

1000702 Specified Manifold Entity Type value of %I% is invalid. Valid values are 0, 2, and 3.
1000710 An error occurred during the manifold operation for manifold surface %A%.
1000905 An error occurred during the manifold operation for manifold solid %A%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_patch_2curve_v1 (p. 444) in the PCL Reference Manual Examples.

asm_const_patch_3curve (output_ids, curve1_list, curve2_list,


curve3_list, param_pos, auto_align,
created_ids)

Description:
This function constructs patches which pass through three sets of curves and an interior parametric
position.
Input:
STRING output_ids[] This value specifies the patch ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
patch IDs.
STRING curve1_list[] This value specifies the first set of curves from
which each patch is started.
STRING curve2_list[] This value specifies the second set of curves defining
a midpoint on each patch.
STRING curve3_list[] This value specifies the third set of curves defining
the end of each patch.
REAL param_pos This value specifies the value of the parametric
position of the middle curve. The default value is
0.5.
LOGICAL auto_align This value specifies, when set to TRUE, that the
curves used to construct the patch should be
automatically aligned.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
566 PCL Reference Manual
Construct Actions

Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of patches created and their IDs.
One patch will be created for each triple of input curves. Each patch will be displayed in the graphics
window as it is created.
This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
1000703 Unable to create a patch with the specified parametric position value of %G%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_patch_3curve (p. 445) in the PCL Reference Manual Examples.

asm_const_patch_4curve (output_ids, curve1_list, curve2_list, curve3_list,


curve4_list, param_pos1, param_pos2,
auto_align, created_ids)

Description:
This function constructs patches which pass through four sets of curves and two interior parametric
positions.
Input:
STRING output_ids[] This value specifies the patch ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
patch IDs.
STRING curve1_list[] This value specifies the first set of curves from
which each patch is started.
STRING curve2_list[] This value specifies the second set of curves defining
the first midpoint on each patch.
STRING curve3_list[] This value specifies the third set of curves defining
the second midpoint on each patch.
STRING curve4_list[] This value specifies the fourth set of curves defining
the end of each patch.
Chapter 3: Geometry Functions 567
Construct Actions

REAL param_pos1 This value specifies the value of the parametric


position at the one third interior curve. The default
value is 0.333.
REAL param_pos2 This value specifies the value of the parametric
position at the two thirds interior curve. The default
value is 0.667.
LOGICAL auto_align This value specifies, when set to TRUE, that the
curves used to construct the patch should be
automatically aligned.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of patches created and their IDs.
One patch will be created for each set of four input curves. Each patch will be displayed in the graphics
window as it is created.
This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
1000704 Unable to create a patch with the specified parametric position values of %G% and
%G%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_patch_4curve (p. 447) in the PCL Reference Manual Examples.
568 PCL Reference Manual
Construct Actions

asm_const_patch_edge (output_ids, curve1_list, curve2_list, curve3_list,


curve4_list, manifold_type, manifold_id,
created_ids)

Description:
This function constructs patches from four bounding curves, and optionally lying within a manifold
surface or solid.
Input:
STRING output_ids[] This value specifies the patch ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of patch IDs.
STRING curve1_list[] This value specifies a set of curves defining the
first edge of each patch.
STRING curve2_list[] This value specifies a set of curves defining the
second edge of each patch.
STRING curve3_list[] This value specifies a set of curves defining the
third edge of each patch.
STRING curve4_list[] This value specifies a set of curves defining the
fourth edge of each patch.
INTEGER manifold_type This value specifies the type of manifold entity: 0
= no manifold, 2 = surface manifold entity, and 3 =
solid manifold entity.
STRING manifold_id[] This value specifies the manifold entity.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of patches created and their IDs.
One patch will be created for each set of four input edge curves. Each patch will be displayed in the
graphics window as it is created.
Chapter 3: Geometry Functions 569
Construct Actions

This function can display a fatal popup message form with the following messages:

1000702 Specified Manifold Entity Type value of %I% is invalid. Valid values are 0, 2, and 3.
1000709 Unable to intersect the curves being used to construct a patch. The curves must form
a closed region and must be in a circular order.
1000710 An error occurred during the manifold operation for manifold surface %A%.
1000905 An error occurred during the manifold operation for manifold solid %A%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_patch_edge (p. 449) in the PCL Reference Manual Examples.

asm_const_patch_extract (output_ids, hpat_list, param_plane,


param_pos, created_ids)

Description:
This function constructs patches by extracting patches from hyperpatches at a specified parametric
position and in a specified parametric direction.
Input:
STRING output_ids[] This value specifies the patch ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of patch IDs.
STRING hpat_list[] This value specifies the list of hyperpatches to
extract patches from.
INTEGER param_plane This value specifies the constant parametric plane
in which to create the patch: 1 = constant C1 plane,
2 = constant C2 plane, and 3 = constant C3 plane.
REAL param_pos This value specifies the parametric position in the
given parametric plane from which to extract the
patch.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
570 PCL Reference Manual
Construct Actions

Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of patches created and their IDs.
One patch will be created for each parametric plane specified in each hyperpatch. Each patch created will
be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
1000705 Specified Parametric Plane value of %I% is invalid. Valid values are 1, 2, and 3.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_patch_extract (p. 450) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 571
Construct Actions

asm_const_patch_fillet (output_ids, radius1, radius2, fil_tolerance,


trim_original, point1_list, point2_list, created_ids)

Description:
This function constructs a fillet patch with a specified radii between any two patches.
Input:
STRING output_ids[] This value specifies the patch ID list. If this value is set to
an empty string or to “#”, the function will automatically
allocate and assign a sequential list of patch IDs.
REAL radius1 This value specifies the fillet radius.
REAL radius2 This value specifies the second radius for a varying radius
fillet that is created with the first edge beginning at a
radius defined by the input value radius1 and gradually
varying to match the input value radius2 at the opposite
edge.
REAL fil_tolerance This value specifies the fillet geometric tolerance.
LOGICAL trim_original This value is set to TRUE if the original patch is to be
trimmed after the fillet is created.
STRING point1_list[] This value specifies the first set of locations for the fillets
on a set of patches.
STRING point2_list[] This value specifies the second set of locations for the
fillets on a set of patches.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of patches created and their IDs.
This function will create fillet patches for each set of positions on patches listed. All patches created will
be displayed in the graphics window.
572 PCL Reference Manual
Construct Actions

This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000557 The fillet radius value is unacceptable. The radius value of %G% must be greater
than the fillet tolerance value of %G%.
38000003 No blob provided.
38000118 An attempt to approximate a general surface with a single Parametric BiCubic
failed.
38000121 Invalid format conversion flag specified for surface conversion.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_patch_fillet (p. 451) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 573
Construct Actions

asm_const_patch_match (output_ids, patch_list1, patch_list2,


delete_original, created_ids)

Description:
This function constructs patches with common boundaries or matching edges from patches with two
consecutive common vertices but unmatched edges. The input patches need not have matching
parametric orientations.
Input:
STRING output_ids[] This value specifies the patch ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
patch IDs.
STRING patch_list1[] This value specifies the list of patches to which the
new patches will be matched.
STRING patch_list2[] This value specifies the list of patches to match with
the patches in the first patch list.
LOGICAL delete_original This value is set to TRUE if the original patches are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of patches created and their IDs.
One patch will be created for each pair of input patches. Each patch will be displayed in the graphics
window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.
574 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000711 The surface corners cannot match with the patch corners.
38000003 No blob provided.
38000118 An attempt to approximate a general surface with a single Parametric BiCubic
failed.
38000121 Invalid format conversion flag specified for surface conversion.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_patch_match (p. 453) in the PCL Reference Manual Examples.

asm_const_patch_vertex (output_ids, point1_list, point2_list, point3_list,


point4_list, manifold_type, manifold_id,
created_ids)

Description:
This function constructs quadrilateral patches formed by four vertex points and are optionally lying
within a manifold surface or solid.
Input:
STRING output_ids[] This value specifies the patch ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of patch IDs.
STRING point1_list[] This value specifies the set of points defining the
first vertex of each patch.
STRING point2_list[] This value specifies the set of points defining the
second vertex of each patch.
STRING point3_list[] This value specifies the set of points defining the
third vertex of each patch.
STRING point4_list[] This value specifies the set of points defining the
fourth vertex of each patch.
INTEGER manifold_type This value specifies the type of manifold entity: 0
= no manifold, 2 = surface manifold entity, and 3 =
solid manifold entity.
Chapter 3: Geometry Functions 575
Construct Actions

STRING manifold_id[] This value specifies the manifold entity.


Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of patches created and their IDs.
One patch will be created for each set of four input vertex points. Each patch will be displayed in the
graphics window as it is created.
This function can display a fatal popup message form with the following messages:

1000702 Specified Manifold Entity Type value of %I% is invalid. Valid values are 0, 2, and 3.
1000710 An error occurred during the manifold operation for manifold surface %A%.
1000905 An error occurred during the manifold operation for manifold solid %A%.
2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_patch_vertex (p. 454) in the PCL Reference Manual Examples.
576 PCL Reference Manual
Construct Actions

asm_const_patch_xyz (output_ids, patch_length, patch_origin,


coord_frame, created_ids)

Description:
This function constructs patches based on dimensions and an origin point in a cartesian coordinate
system.
Input:
STRING output_ids[] This value specifies the patch ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of patch IDs.
STRING patch_length[] This value specifies the length of the patch in yjr X,
Y, snf Z axes, respectively.
STRING patch_origin[] This value specifies the X, Y, and Z coordinates of
the origin of the patch, respectively.
STRING coord_frame[] This value specifies the reference coordinate frame
in which to create the patch. The default coordinate
frame is coordinate frame 0.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of patches created and their IDs.
One patch will be created for each set of origin and dimensional inputs. All patches created will be
displayed in the graphics window.
This function can display a fatal popup message form with the following message:

2001070 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_patch_xyz (p. 455) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 577
Construct Actions

asm_const_solid_5face (output_ids, surface1_list, surface2_list,


surface3_list, surface4_list, surface5_list,
created_ids)

Description:
This function creates parametric tricubic or wedge shaped solids from sets of five surfaces defining
their exterior faces. The surfaces can be in any order and have any parametric orientation but they must
define a valid exterior face of a solid.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
solid IDs.
STRING surface1_list[] This value specifies the set of surfaces defining the
first face of each solid.
STRING surface2_list[] This value specifies the set of surfaces defining the
second face of each solid.
STRING surface3_list[] This value specifies the set of surfaces defining the
third face of each solid.
STRING surface4_list[] This value specifies the set of surfaces defining the
forth face of each solid.
STRING surface5_list[] This value specifies the set of surfaces defining the
fifth face of each solid.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of solids created and their IDs.
One solid will be created for each set of input surfaces. Each solid will be displayed in the graphics
window as it is created.
578 PCL Reference Manual
Construct Actions

This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000906 The surfaces are not correctly positioned to form a hpat.


38000118 An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_solid_5face (p. 456) in the PCL Reference Manual Examples.

asm_const_solid_6face (output_ids, surface1_list, surface2_list,


surface3_list, surface4_list, surface5_list,
surface6_list, created_ids)

Description:
This function creates parametric tricubic or wedge shaped solids from sets of six surfaces defining
their exterior faces. The surfaces can be in any order and have any parametric orientation but they
must define a valid exterior face of a solid.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
solid IDs.
STRING surface1_list[] This value specifies the set of surfaces defining the
first face of each solid.
STRING surface2_list[] This value specifies the set of surfaces defining the
second face of each solid.
STRING surface3_list[] This value specifies the set of surfaces defining the
third face of each solid.
STRING surface4_list[] This value specifies the set of surfaces defining the
forth face of each solid.
STRING surface5_list[] This value specifies the set of surfaces defining the
fifth face of each solid.
STRING surface6_list[] This value specifies the set of surfaces defining the
sixth face of each solid.
Chapter 3: Geometry Functions 579
Construct Actions

Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in
the message database.

Remarks:
This function displays a message listing the number of solids created and their IDs.
One solid will be created for each set of input surfaces. Each solid will be displayed in the graphics
window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000906 The surfaces are not correctly positioned to form a hpat.


38000118 An attempt to approximate a general surface with a single Parametric BiCubic
failed.
38000121 Invalid format conversion flag specified for surface conversion.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_solid_6face (p. 458) in the PCL Reference Manual Examples.
580 PCL Reference Manual
Construct Actions

asm_const_solid_extrude (output_ids, delta, scale, angle, origin,


coord_frame, num_solids, surface_list,
created_ids)

Description:
This function creates parametric tricubic or wedge shaped solids by moving surfaces through space
along a defined axis with the option of scaling and rotating simultaneously.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING delta[] This value specifies a translation vector defining
the direction and magnitude of the extrusion
operation.
REAL scale This value specifies the scaling factor.
REAL angle This value specifies the angle to rotate the surface
around the translation vector during the extrusion
operation.
STRING origin[] This value specifies the point of origin from which
the extrusion operation will take place.
STRING coord_frame[] This value specifies the reference coordinate
frame.
INTEGER num_solids This value specifies the number of solids to create
for each surface.
STRING surface_list[] This value specifies the list of surfaces to be
extruded.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000211 The length of the Axis equals zero.
1000241 Unable to extrude hyperpatch because the surface is too degenerate.
38000118 An attempt to approximate a general surface with a single Parametric BiCubic
failed.
Chapter 3: Geometry Functions 581
Construct Actions

38000121 Invalid format conversion flag specified for surface conversion.


38000427 The surface type used for this Action, Object, Method function is invalid. It must
be of a type that when created, has the default color of Green.

Remarks:
This function displays a message listing the number of solids created and their IDs.
The number of solids defined by the input value num_solids will be created for each input surface. Each
solid will be displayed in the graphics window.
Example:
Please see asm_const_solid_extrude (p. 459) in the PCL Reference Manual Examples.
582 PCL Reference Manual
Construct Actions

asm_const_solid_glide (output_ids, scale, glide_option, director_surface,


base_surface, created_ids)

Description:
This function creates parametric tricubic or wedge shaped solids by revolving surfaces about an axis
of rotation.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
REAL scale This value specifies the scaling factor.
INTEGER glide_option This value specifies the glide option to use: 0 =
normal project glide option, and 1 = fixed logic
option.
STRING director_surface[] This value specifies the list of surfaces along
which the base surface will be swept.
STRING base_surface[] This value specifies the list of surfaces that will be
swept along the director surfaces to form the
solids.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000225 Unable to do glide option.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000015 LpSublistNext: End of current list has been reached.
38000117 An attempt to approximate a general curve with a single Parametric Cubic failed.
38000118 An attempt to approximate a general surface with a single Parametric BiCubic
failed.
38000121 Invalid format conversion flag specified for surface conversion.

Remarks:
This function displays a message listing the number of solids created and their IDs.
Chapter 3: Geometry Functions 583
Construct Actions

One solid will be created for each set of base_surfaces and director_surfaces. If there are m base_surfaces
and n director_surfaces, m*n solids will be created. Each solid will be displayed in the graphics window.
Example:
Please see asm_const_solid_glide (p. 461) in the PCL Reference Manual Examples.
584 PCL Reference Manual
Construct Actions

asm_const_solid_normal (output_ids, thickness1, thickness2, thickness3,


thickness4, num_solids, normal_rev_direction,
surface_list, created_ids)

Description:
This function creates parametric tricubic or wedge shaped solids which are defined by a set of base
surfaces and an offset from those surfaces in the direction of the curvature. The offset may be constant
or a linear taper.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
solid IDs.
STRING thickness1[] This value specifies the constant thickness or the
first thickness at u=0; v=0.
STRING thickness2[] This value is set to NULL if the input value
thickness1 is set to constant thickness, otherwise it
is the second thickness at u=0; v=1.
STRING thickness3[] This value is set to NULL if he input value
thickness1 is
set to constant thickness, otherwise it is the third
thickness at u=1; v=1.
STRING thickness4[] This value is set to NULL if he input value
thickness1 is
set to constant thickness, otherwise it is the fourth
thickness at u=1; v=0.
INTEGER num_solids This value specifies the number of solids to be
created from each surface.
LOGICAL normal_rev_direction This value is set to TRUE if the normal is to be
flipped or reversed.
STRING surface_list[] This value specifies the list of surfaces to be swept
using the normal option.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
Chapter 3: Geometry Functions 585
Construct Actions

1000712 Unable to compute the tangent and normal vectors due to a non-removable
degeneracy or a singularity.
1000901 Zero length vector in Hpat %I% construction.
16000301 Blank string encountered.
16000302 %A% does not contain enough arguments, looking for %I% arguments.
16000303 %A% has too many arguments, looking for %I% arguments.
16000305 %A% is not a real.
38000118 An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121 Invalid format conversion flag specified for surface conversion.
38000427 The surface type used for this Action, Object, Method function is invalid. It must be
of a type that when created, has the default color of Green.

Remarks:
The number of solids defined by the input value num_solids will be created for each surface. Each solid
will be displayed in the graphics window.
Example:
Please see asm_const_solid_normal (p. 462) in the PCL Reference Manual Examples.
586 PCL Reference Manual
Construct Actions

asm_const_solid_revolve (output_ids, axis, angle, offset, coord_frame,


num_solids, surface_list, created_ids)

Description:
This function creates parametric tricubic or wedge shaped solids by revolving surfaces about an axis
of rotation.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
solid IDs.
STRING axis[] This value specifies the axis of rotation.
REAL angle This value specifies the total angle to revolve each
surface in degrees.
REAL offset This value specifies the initial offset angle in
degrees.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_solids This value specifies the number of solids to create
for each surface.
STRING surface_list[] This value specifies the list of surfaces to be
revolved.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000210 Angle of rotation for a parametric entity is greater than 180 degrees.
1000211 The length of the Axis equals zero.
1000242 Rotation is approximately parallel to the surface.
1000901 Zero length vector in Hpat %I% construction.
38000118 An attempt to approximate a general surface with a single Parametric BiCubic
failed.
38000121 Invalid format conversion flag specified for surface conversion.
38000427 The surface type used for this Action, Object, Method function is invalid. It must
be of a type that when created, has the default color of Green.
Chapter 3: Geometry Functions 587
Construct Actions

Remarks:
This function displays a message listing the number of solids created and their IDs.
The number of solids defined by the input value num_solids will be created for each surface. Each solid
will be displayed in the graphics window.
Example:
Please see asm_const_solid_revolve (p. 463) in the PCL Reference Manual Examples.

asm_const_solid_2surface (output_ids, auto_align, surface1_list,


surface2_list, created_ids)

Description:
This function creates parametric tricubic or wedge shaped solids from one set of surfaces to another.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
solid IDs.
LOGICAL auto_align This value specifies, when set to TRUE, that the
surfaces used to construct the solid should be
automatically aligned.
STRING surface1_list[] This value specifies the first set of surfaces for the
start of each solid.
STRING surface2_list[] This value specifies the second set of surfaces for the
end of each solid.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of solids created and their IDs.
One solid will be created for each pair of input surfaces. Each solid will be displayed in the graphics
window as it is created.
588 PCL Reference Manual
Construct Actions

This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000901 Zero length vector in Hpat %I% construction.


38000118 An attempt to approximate a general surface with a single Parametric BiCubic
failed.
38000121 Invalid format conversion flag specified for surface conversion.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_solid_2surface (p. 465) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 589
Construct Actions

asm_const_solid_3surface (output_ids, auto_align, param_method,


surface1_list, surface2_list, surface3_list,
created_ids)

Description:
This function creates parametric tricubic or wedge shaped solids from three sets of surfaces.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
solid IDs.
LOGICAL auto_align This value specifies, when set to TRUE, that the
surfaces used to construct the solid should be
automatically aligned.
INTEGER param_method This value specifies the parameterization method to
use: 1 = chord length parameterization, and 2 =
uniform parameterization.
STRING surface1_list[] This value specifies the first list of surfaces.
STRING surface2_list[] This value specifies the second list of surfaces.
STRING surface3_list[] This value specifies the third list of surfaces.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of solids created and their IDs.
One solid will be created for each pair of input surfaces. Each solid will be displayed in the graphics
window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.
590 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1 and
2.
1000902 Unable to create an hpat with the specified parametric position value of %G%.
38000118 An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121 Invalid format conversion flag specified for surface conversion.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_solid_3surface (p. 466) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 591
Construct Actions

asm_const_solid_4surface (output_ids, auto_align, param_method,


surface1_list, surface2_list, surface3_list,
surface4_list, created_ids)

Description:
This function creates parametric tricubic or wedge shaped solids from four sets of surfaces.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
solid IDs.
LOGICAL auto_align This value specifies, when set to TRUE, that the
surfaces used to construct the solid should be
automatically aligned.
INTEGER param_method This value specifies the parameterization method to
use: 1 = chord length parameterization, and 2 = uniform
parameterization.
STRING surface1_list[] This value specifies the first list of surfaces.
STRING surface2_list[] This value specifies the second list of surfaces.
STRING surface3_list[] This value specifies the third list of surfaces.
STRING surface4_list[] This value specifies the fourth list of surfaces.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of solids created and their IDs.
One solid will be created for each set of input surfaces. Each solid will be displayed in the graphics
window as it is created.
592 PCL Reference Manual
Construct Actions

This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1 and
2.
1000903 Unable to create an hpat with the specified parametric position values of %G% and
%G%.
38000118 An attempt to approximate a general surface with a single Parametric BiCubic
failed.
38000121 Invalid format conversion flag specified for surface conversion.
38000452 Unable to calculate a point on the solid.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_solid_4surface (p. 467) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 593
Construct Actions

asm_const_solid_nsurface (output_ids, auto_align, param_method,


surface_list, created_ids)

Description:
This function creates parametric tricubic or wedge shaped solids which pass through a specified set of
surfaces.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
solid IDs.
LOGICAL auto_align This value specifies, when set to TRUE, that the
surfaces used to construct the solid should be
automatically aligned.
INTEGER param_method This value specifies the parameterization method to
use: 1 = chord Length parameterization, and 2 =
uniform parameterization.
STRING surface_list[] This value specifies the list of surfaces.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of solids created and their IDs.
One solid will be created for each set of four input surfaces. Each solid will be displayed in the graphics
window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.
594 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1 and
2.
38000119 An attempt to approximate a general solid with a single Parametric TriCubic
failed.
38000122 Invalid format conversion flag specified for solid conversion.
38000452 Unable to calculate a point on the solid.
38000493 The Surface interpolating Solid builder failed to create the evaluator table. Solid
was not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_solid_nsurface (p. 469) in the PCL Reference Manual Examples.

asm_const_surface_2curve (output_ids, curve1_list,


curve2_list, created_ids)

Description:
This function creates parametric bicubic surfaces from two sets of curves.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
surface IDs.
STRING curve1_list[] This value specifies the first set of ruling curves.
STRING curve2_list[] This value specifies the second set of ruling curves.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
Chapter 3: Geometry Functions 595
Construct Actions

One surface will be created for each pair of input curves. Each surface will be displayed in the graphics
window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000117 An attempt to approximate a general curve with a single Parametric Cubic failed.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000494 The Curve interpolating Surface builder failed to create the evaluator table.
Surface was not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_surface_2curve (p. 470) in the PCL Reference Manual Examples.
596 PCL Reference Manual
Construct Actions

asm_const_surface_3curve (output_ids, param_method, curve1_list,


curve2_list, curve3_list, created_ids)

Description:
This function creates parametric bicubic surfaces from three sets of curves.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
INTEGER param_method This value specifies the surface parameterization
method: 1 = chord length parameterization, and 2
= uniform parameterization.
STRING curve1_list[] This value specifies the first set of curves.
STRING curve2_list[] This value specifies the second set of curves.
STRING curve3_list[] This value specifies the third set of curves.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each triplet of input curves. Each surface will be displayed in the graphics
window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.
Chapter 3: Geometry Functions 597
Construct Actions

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1 and
2.
38000003 No blob provided.
38000117 An attempt to approximate a general curve with a single Parametric Cubic failed.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000494 The Curve interpolating Surface builder failed to create the evaluator table. Surface
was not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_surface_3curve (p. 471) in the PCL Reference Manual Examples.

asm_const_surface_4curve (output_ids, param_method, curve1_list,


curve2_list, curve3_list, curve4_list,
created_ids)

Description:
This function creates parametric bicubic surfaces from four sets of curves.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value is set
to an empty string or to “#”, the function will automatically
allocate and assign a sequential list of surface IDs.
INTEGER param_method This value specifies the surface parameterization method:
1 = chord length parameterization, and 2 = uniform
parameterization.
STRING curve1_list[] This value specifies the first set of curves.
STRING curve2_list[] This value specifies the second set of curves.
STRING curve3_list[] This value specifies the third set of curves.
STRING curve4_list[] This value specifies the fourth set of curves.
Output:
STRING created_ids[VIRTUAL This value returns the created ID list.
]
598 PCL Reference Manual
Construct Actions

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each set of four input curves. Each surface will be displayed in the
graphics window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1 and
2.
38000003 No blob provided.
38000117 An attempt to approximate a general curve with a single Parametric Cubic failed.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_surface_4curve (p. 473) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 599
Construct Actions

asm_const_surface_ncurve (output_ids, param_method, curve_list,


created_ids)

Description:
This function creates parametric bicubic surfaces from a specified set of curves.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
surface IDs.
INTEGER param_method This value specifies the surface parameterization
method: 1 = chord length parameterization, and 2 =
uniform parameterization.
STRING curve_list[] This value specifies the list of curves.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
One surface will be created from the input curves. The surface will be displayed in the graphics window
as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1 and
2.
600 PCL Reference Manual
Construct Actions

38000003 No blob provided.


38000118 An attempt to approximate a general surface with a single Parametric BiCubic
failed.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000494 The Curve interpolating Surface builder failed to create the evaluator table.
Surface was not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_surface_ncurve (p. 474) in the PCL Reference Manual Examples.

asm_const_surface_3edge (output_ids, curve1_list, curve2_list,


curve3_list, created_ids)

Description:
This function creates parametric bicubic surfaces from three sets of curves defining the boundaries
of the surfaces.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING curve1_list[] This value specifies the first set of curves.
STRING curve2_list[] This value specifies the second set of curves.
STRING curve3_list[] This value specifies the third set of curves.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
Chapter 3: Geometry Functions 601
Construct Actions

One surface will be created for each set of three input curves. Each surface will be displayed in the
graphics window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000709 Unable to intersect the curves being used to construct a patch. The curves must
form a closed region and must be in a circular order.
38000003 No blob provided.
38000117 An attempt to approximate a general curve with a single Parametric Cubic failed.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_surface_3edge (p. 476) in the PCL Reference Manual Examples.
602 PCL Reference Manual
Construct Actions

asm_const_surface_4edge (output_ids, curve1_list, curve2_list,


curve3_list, curve4_list, created_ids)

Description:
This function creates parametric bicubic surfaces from four sets of curves defining the boundaries of
the surfaces.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING curve1_list[] This value specifies the first set of curves.
STRING curve2_list[] This value specifies the second set of curves.
STRING curve3_list[] This value specifies the third set of curves.
STRING curve4_list[] This value specifies the fourth set of curves.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each set of four input curves. Each surface will be displayed in the
graphics window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.
Chapter 3: Geometry Functions 603
Construct Actions

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000709 Unable to intersect the curves being used to construct a patch. The curves must
form a closed region and must be in a circular order.
38000003 No blob provided.
38000117 An attempt to approximate a general curve with a single Parametric Cubic failed.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_surface_4edge (p. 477) in the PCL Reference Manual Examples.
604 PCL Reference Manual
Construct Actions

asm_const_surface_extract (output_ids, solid_list, param_plane,


param_pos, created_ids)

Description:
This function creates parametric bicubic surfaces by extracting surfaces from solids at specified
parametric positions and in specified parametric directions.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
surface IDs.
STRING solid_list[] This value specifies the list of solids from which to
extract surfaces.
INTEGER param_plane This value specifies the constant parametric plane in
which to create the surface: 1 = constant U plane, 2
= constant V plane, and 3 = constant W plane.
REAL param_pos This value specifies the parametric position in the
given parametric plane from which to extract the
surfaces.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for the parametric plane specified in each solid. Each surface created will be
displayed in the graphics window.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.
Chapter 3: Geometry Functions 605
Construct Actions

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
1000705 Specified Parametric Plane value of %I% is invalid. Valid values are 1, 2, and 3.
38000003 No blob provided.
38000434 The solid type used for this Action, Object, Method function is invalid. It must be
of a type that when created, has the default color of Blue.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_surface_extract (p. 478) in the PCL Reference Manual Examples.

asm_const_surface_extract_face (output_ids, face_list, created_ids)

Description:
This function creates parametric bicubic surfaces by extracting surfaces from the faces of solids.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
surface IDs.
STRING face_list[] This value specifies the list of solid faces from which to
extract surfaces.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
606 PCL Reference Manual
Construct Actions

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each specified face. Each surface created will be displayed in the graphics
window.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_surface_extract_face (p. 480) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 607
Construct Actions

asm_const_surface_extrude (output_ids, delta, scale, angle, origin,


coord_frame, num_surfaces, curve_list,
created_ids)

Description:
This function creates parametric bicubic surfaces by moving curves through space along a defined axis
with the option of simultaneously scaling and rotating the extruded surfaces.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
surface IDs.
STRING delta[] This value specifies a translation vector defining the
direction and magnitude of the extrusion operation.
REAL scale This value specifies the scaling factor.
REAL angle This value specifies the angle to rotate the curve
around the translation vector during extrusion.
STRING origin[] This value specifies the point of origin of the
extrusion.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_surfaces This value specifies the number of surfaces to create
for each curve.
STRING curve_list[] This value specifies the list of curves to be extruded.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
1000064 Overwrite of existing entity not permitted.
1000211 The length of the Axis equals zero.
38000003 No blob provided.
38000117 An attempt to approximate a general curve with a single Parametric Cubic failed.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
608 PCL Reference Manual
Construct Actions

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
The number of surfaces defined by the input value num_surfaces will be created for each input curve.
Each surface will be displayed in the graphics window.
Example:
Please see asm_const_surface_extrude (p. 481) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 609
Construct Actions

asm_const_surface_glide (output_ids, scale, glide_option, director_curve,


base_curve, created_ids)

Description:
This function creates parametric bicubic surfaces by moving base curves along a path defined by a set
of director curves translated to the origin of the base curves.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
surface IDs.
REAL scale This value specifies the scaling factor.
INTEGER glide_option This value specifies the glide option to use: 0 =
normal project glide option, and 1 = fixed logic
option.
STRING director_curve[] This value specifies the list of curves along which
the base curve will be swept.
STRING base_curve[] This value specifies the list of curves that will be
swept along the director curves to form the surfaces.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000225 Unable to do glide option.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000015 LpSublistNext: End of current list has been reached.
38000117 An attempt to approximate a general curve with a single Parametric Cubic failed.

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each set of base_curves and director_curves. If there are m base_curves
and n director_curves, m*n surfaces will be created. Each surface will be displayed in the graphics
window.
610 PCL Reference Manual
Construct Actions

Example:
Please see asm_const_surface_glide (p. 482) in the PCL Reference Manual Examples.

asm_const_surface_normal (output_ids, thickness1, thickness2, origin,


num_surfaces, normal_rev_direction,
curve_list, created_ids)

Description:
This function creates parametric bicubic surfaces defined by a set of base curves and an offset from
those curves in the direction of the curvature. The offset may be constant or a linear taper.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
surface IDs.
STRING thickness1[] This value specifies the constant thickness or the first
thickness at u=0; v=0.
STRING thickness2[] This value is set to NULL if the input value thickness1
is set to constant thickness, otherwise it is the second
thickness at u=0; v=1.
STRING origin[] This value specifies the point to be used as origin of the
normal vector.
INTEGER num_surfaces This value specifies the number of surfaces to be
created from each curve.
LOGICAL normal_rev_direction This value is set to TRUE if the normal is to be flipped
or reversed.
STRING curve_list[] This value specifies the list of curves to be swept using
the normal option.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000211 The length of the Axis equals zero.
16000301 Blank string encountered.
16000302 %A% does not contain enough arguments, looking for %I% arguments.
Chapter 3: Geometry Functions 611
Construct Actions

16000303 %A% has too many arguments, looking for %I% arguments.
16000305 %A% is not a real.
38000117 An attempt to approximate a general curve with a single Parametric Cubic failed.

Remarks:
The number of surfaces defined by the input value num_surfaces will be created for each curve. Each
surface will be displayed in the graphics window.
Example:
Please see asm_const_surface_normal (p. 484) in the PCL Reference Manual Examples.

asm_const_surface_revolve (output_ids, axis, angle, offset,


coord_frame, curve_list, created_ids)

Description:
This function creates parametric bicubic surfaces by revolving curves about an axis of rotation.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
surface IDs.
STRING axis[] This value specifies the axis of rotation.
REAL angle This value specifies the total angle to revolve each
curve.
REAL offset This value specifies the initial offset angle in degrees.
STRING coord_frame[] This value specifies the reference coordinate frame.
STRING curve_list[] This value specifies the list of curves to be revolved.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
1000064 Overwrite of existing entity not permitted.
1000210 Angle of rotation for a parametric entity is greater than 180 degrees.
612 PCL Reference Manual
Construct Actions

1000211 The length of the Axis equals zero.


38000003 No blob provided.
38000117 An attempt to approximate a general curve with a single Parametric Cubic failed.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each curve. Each surface will be displayed in the graphics window.
Example:
Please see asm_const_surface_revolve (p. 485) in the PCL Reference Manual Examples.

asm_const_surface_vertex (output_ids, point1_list, point2_list,


point3_list, point4_list, created_ids)

Description:
This function creates parametric bicubic surfaces which are the quadrilaterals formed by four sets of
vertex points.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING point1_list[] This value specifies the first set of points defining
vertex 1 of each surface.
STRING point2_list[] This value specifies the second set of points
defining vertex 2 of each surface.
STRING point3_list[] This value specifies the third set of points defining
vertex 3 of each surface.
STRING point4_list[] This value specifies the fourth set of points
defining vertex 4 of each surface.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Chapter 3: Geometry Functions 613
Construct Actions

Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each set of four input vertex points. Each surface will be displayed in the
graphics window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see asm_const_surface_vertex (p. 487) in the PCL Reference Manual Examples
614 PCL Reference Manual
Construct Actions

ge_boolean_operation (output_ids, boolean_type, target_solid,


tool_solids, created_labels)

Description:
This function will perform boolean operations on the target solid with the list of tool solids. The tool
solids will be deleted after the operation.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
INTEGER boolean_type This value specifies the boolean operation type (1
- add, 2 - subtract, 3 - intersect).
STRING target_solids[] This value specifies a single solid to participate the
boolean operation as the target body.
STRING tool_solids[VIRTUAL] This value specifies a list of tool solids for the
boolean operation. They will be deleted
automatically after the operation.
Output:
STRING created_labels[VIRTUAL] This value returns a description of the created solid
identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:
Space is internally allocated for the string returned by the output value created_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the solid identifiers that are stored in the database and displayed in a viewport.
Example:
Chapter 3: Geometry Functions 615
Construct Actions

ge_const_solid_block (output_ids, x_length, y_length, z_length,


boolean_type, target_solid, ref_coord,
base_origin, created_labels)

Description:
This function will create a solid block by providing a base origin,x length, y length, z, length, and a
reference coordinate frame. It also provides an option to perform boolean operation with the input
target solid using the created block as the tool solid.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING x_length[] This value specifies the length of the block along
the x-axis of the reference coordinate frame.
STRING y_length[] This value specifies the length of the block along
the y-axis of the reference coordinate frame
STRING z_length[] This value specifies the length of the block along
the z-axis of the reference coordinate frame
INTEGER boolean_type This value specifies the boolean operation type (0
- no boolean operation, 1 - add, 2 - subtract, 3 -
intersect).
STRING target_solid[] This value specifies a single solid to participate the
boolean operation as the target body if
boolean_type is not 0.
STRING ref_coord[] The value specifies a reference coordinate frame to
orient the block. The default is Coord. 0.
STRING base_origin[] The value specifies the base origin of the block.
Output:
STRING created_labels[VIRTUAL] This value returns a description of the created solid
identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
616 PCL Reference Manual
Construct Actions

Remarks:
Space is internally allocated for the string returned by the output value created_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the solid identifiers that are stored in the database and displayed in a viewport.
Example:
None.

ge_const_solid_cone (output_ids, height, base_radius, top_radius,


thickness, boolean_type, target_solid, ref_coord,
base_center, axis, created_labels)

Description:
This function will create a solid cone by providing a height, base radius, top radius, base center, axis,
an optional thickness, and an optional reference coordinate frame. It also provides an option to
perform boolean operation with the input target solid using the created cone as the tool solid.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING height[] This value specifies the height of the cone along its
axis.
STRING base_radius[] This value specifies the base radius of the cone.
STRING top_radius[] This value specifies the top radius of the cone.
STRING thickness[] This value specifies the thickness to created a
hollow cone. The default value is 0.0 (meaning no
hollowing).
INTEGER boolean_type This value specifies the boolean operation type (0
- no boolean operation, 1 - add, 2 - subtract, 3 -
intersect).
STRING target_solid[] This value specifies a single solid to participate the
boolean operation as the target body if
boolean_type is not 0.
STRING ref_coord[] This value specifies an optional reference
coordinate frame to orient the cone. The default is
Coord. 0.
STRING base_center[] This value specifies the base center of the cone.
STRING axis[] This value specifies the axis of the cone.
Output:
Chapter 3: Geometry Functions 617
Construct Actions

STRING created_labels[VIRTUAL] This value returns a description of the created solid


identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:
Space is internally allocated for the string returned by the output value created_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the solid identifiers that are stored in the database and displayed in a viewport.

ge_const_solid_cylinder (output_ids, height, radius, thickness,


boolean_type, target_solid, ref_coord,
base_center, axis, created_labels)

Description:
This function will create a solid cylinder by providing a height, radius, base center, axis, an optional
thickness, and an optional reference coordinate frame. It also provides an option to perform boolean
operation with the input target solid using the created cylinder as the tool solid.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING height[] This value specifies the height of the cylinder
along its axis.
STRING radius[] This value specifies the radius of the cylinder.
STRING thickness[] This value specifies the thickness to created a
hollow cylinder. The default value is 0.0 (meaning
no hollowing).
INTEGER boolean_type This value specifies the boolean operation type (0
- no boolean operation, 1 - add, 2 - subtract, 3 -
intersect).
STRING target_solid[] This value specifies a single solid to participate the
boolean operation as the target body if
boolean_type is not 0.
618 PCL Reference Manual
Construct Actions

STRING ref_coord[] This value specifies an optional reference


coordinate frame to orient the cylinder. The default
is Coord. 0.
STRING base_center[] This value specifies the base center of the cylinder.
STRING axis[] This value specifies the axis of the cylinder.
Output:
STRING created_labels[VIRTUAL] This value returns a description of the created solid
identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:
Space is internally allocated for the string returned by the output value created_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the solid identifiers that are stored in the database and displayed in a viewport.
Example:
None.

ge_const_solid_sphere (output_ids, radius, boolean_type, target_solid,


ref_coord, center, axis, created_labels)

Description:
This function will create a solid sphere by providing a radius, center point, axis, and an optional
reference coordinate frame. It also provides an option to perform boolean operation with the input
target solid using the created sphere as the tool solid.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING radius[] This value specifies the radius of the sphere.
INTEGER boolean_type This value specifies the boolean operation type (0
- no boolean operation, 1 - add, 2 - subtract, 3 -
intersect).
Chapter 3: Geometry Functions 619
Construct Actions

STRING target_solid[] This value specifies a single solid to participate the


boolean operation as the target body if
boolean_type is not 0.
STRING ref_coord[] This value specifies an optional reference
coordinate frame to orient the sphere. The default
is Coord. 0.
STRING center[] This value specifies the center of the sphere.
STRING axis[] This value specifies the axis of the sphere.
Output:
STRING created_labels[VIRTUAL] This value returns a description of the created solid
identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:
Space is internally allocated for the string returned by the output value created_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the solid identifiers that are stored in the database and displayed in a viewport.
Example:
None.
620 PCL Reference Manual
Construct Actions

ge_const_solid_extrude (output_ids, delta, scale, angle, origin,


coord_frame, surface_list, created_ids)

Description:
This function creates solids by moving a surface through space along a defined axis while
simultaneously scaling and rotating the created solids. Use this function to create Parasolid solids.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING delta[] This value specifies a translation vector defining
the direction and magnitude of the extrusion
operation.
REAL scale This value specifies the scaling factor.
REAL angle This value specifies the angle to rotate the surface
around the translation vector during extrusion.
STRING origin[] This value specifies the point of origin of the
extrusion.
STRING coord_frame[] This value specifies the reference coordinate
frame.
STRING surface_list[] This value specifies the list of surfaces to be
extruded.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
Chapter 3: Geometry Functions 621
Construct Actions

14000211 LpSublistAttributeGet: Surface evaluator error.


14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
38000003 No blob provided.
38000409 The Sweep Extrude Solid builder failed to create the evaluator table. Solid was not
created.
38000452 Unable to calculate a point on the solid.
38000845 Unable to acquire %I% words of virtual memory.

Remarks:
This function displays a message listing the number of solids created and their IDs.
One solid will be created for each input surface. Each solid will be displayed in the graphics window.
Example:
None.
622 PCL Reference Manual
Construct Actions

ge_const_solid_revolve (output_ids, axis, angle, offset,


coord_frame, surface_list,
created_ids)

Description:
This function creates a solid of revolution by revolving a set of surfaces about an axis of rotation. Use
this function to create Parasolid solids.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING axis[] This value specifies the axis of rotation.
REAL angle This value specifies the total angle to revolve each
surface in degrees.
REAL offset This value specifies the initial offset angle in
degrees.
STRING coord_frame[] This value specifies the reference coordinate
frame.
STRING surface_list[] This value specifies the list of surfaces to be
revolved.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
Chapter 3: Geometry Functions 623
Construct Actions

14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.


14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
38000003 No blob provided.
38000407 The Sweep Arc Solid builder failed to create the evaluator table. Solid was not
created.
38000452 Unable to calculate a point on the solid.
38000492 Zero length vector in Solid %I% construction.
38000845 Unable to acquire %I% words of virtual memory.

Remarks:
This function displays a message listing the number of solids created and their IDs.
Each solid will be displayed in the graphics window.
Example:

ge_const_solid_torus (output_ids, major_radius, minor_radius,


boolean_type, target_solid, ref_coord, center, axis,
created_labels)

Description:
This function will create a solid torus by providing a major radius, minor radius, center, axis, and an
optional reference coordinate frame. It also provides an option to perform boolean operation with the
input target solid using the created torus as the tool solid.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING major_radius[] This value specifies the major radius of the torus.
STRING minor-radius[] This value specifies the minor radius of the torus.
STRING thickness[] This value specifies the thickness to created a
hollow torus. The default value is 0.0 (meaning no
hollowing).
624 PCL Reference Manual
Construct Actions

INTEGER boolean_type This value specifies the boolean operation type (0


- no boolean operation, 1 - add, 2 - subtract, 3 -
intersect).
STRING target_solid[] This value specifies a single solid to participate the
boolean operation as the target body if
boolean_type is not 0.
STRING ref_coord[] This value specifies a reference coordinate frame
to orient the torus. The default is Coord. 0.
STRING center[] This value specifies the center of the torus.
STRING axis[] This values specifies the axis of the torus.
Output:
STRING created_labels[VIRTUAL] This value returns a description of the created solid
identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:
Space is internally allocated for the string returned by the output value created_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the solid identifiers that are stored in the database and displayed in a viewport.
Example:
None.
Chapter 3: Geometry Functions 625
Construct Actions

ge_const_surface_midsurface (output_ids, midsurf_option,


max_thickness, solid_list, surface1_list,
surface2_list, created_labels)

Description:
This function will create a midsurface from a solid or a pair of surfaces.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
INTEGER midsurf_option This value specifies the edit option used to edit the
midsurface. Valid values are 1 thru 3, where:

1 = midsurface will be created automatically from


a solid

2= midsurface will be created from a pair of


surfaces and trimmed to the bounds of the parent
surfaces or solid faces.

3= midsurface will be created from a pair of


surfaces and not trimmed to the bounds of the
parent surfaces or solid faces.
REAL max_thickness This value specifies the maximum thickness the
solid face pairs can be apart in order to calculate a
midsurface between (wall thickness)
STRING solid_list[] This value specifies the list of solids to create the
midsurface from.
STRING surface1_list[] This value specifies the first surface/face of a pair
to create the midsurface from.
STRING surface2_list[] This value specifies the second surface/face of a
pair to create the midsurface from.
Output:
STRING created_labels[VIRTUAL] This value returns a description of the created
midsurface identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
626 PCL Reference Manual
Construct Actions

Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:
Space is internally allocated for the string returned by the output value created_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the surface identifiers that are stored in the database and displayed in a
viewport.

sgm_const_curve_2d_arc3point_v1 (output_ids, create_center,


plane_list, start_list, mid_list,
end_list, created_ids)

Description:
This function creates circular arcs in two dimensional space, defined by starting points, midpoints,
and end points.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
LOGICAL create_center This value is set to TRUE if a point is to be created
at the center of the arc.
STRING plane_list[] This value specifies the construction plane of the
arc.
STRING start_list[] This value specifies the start point of the arc.
STRING mid_list[] This value specifies the midpoint of the arc.
STRING end_list[] This value specifies the end point of the arc.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
Chapter 3: Geometry Functions 627
Construct Actions

Remarks:
This function displays a message listing the number of curves created and their IDs.
One curve will be created for each set of three points. Each curve will be displayed in the graphics
window.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000413 Zero length plane normal vector.
38000423 The three points specified are nearly collinear.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see sgm_const_curve_2d_arc3point_v1 (p. 488) in the PCL Reference Manual Examples.
628 PCL Reference Manual
Construct Actions

sgm_const_curve_2d_arc3point_v2 (output_ids, create_center,


plane_list, start_list, mid_list,
end_list, project_points, created_ids)

Description:
This function creates circular arcs in two dimensional space, defined by starting points, midpoints,
and end points.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
LOGICAL create_center This value is set to TRUE if a point is to be created
at the center of the arc.
STRING plane_list[] This value specifies the construction plane of the
arc.
STRING start_list[] This value specifies the start point of the arc.
STRING mid_list[] This value specifies the midpoint of the arc.
STRING end_list[] This value specifies the end point of the arc.
LOGICAL project_points This value specifies, when set to TRUE, that the
starting points are to be projected onto the plane.
When this value is set to FALSE the construction
plane will be translated to the starting point
location but will still be parallel to the original
plane.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
One curve will be created for each set of three points. Each curve will be displayed in the graphics
window.
Chapter 3: Geometry Functions 629
Construct Actions

This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000413 Zero length plane normal vector.
38000423 The three points specified are nearly collinear.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see sgm_const_curve_2d_arc3point_v2 (p. 489) in the PCL Reference Manual Examples.

sgm_const_curve_arc3point (output_ids, create_center, start_list,


mid_list, end_list, created_ids)

Description:
This function creates circular arcs defined by start points, midpoints, and end points.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
LOGICAL create_center This value is set to TRUE if a point is to be created
at the center of the arc.
STRING start_list[] This value specifies the start point of an arc.
STRING mid_list[] This value specifies the midpoint of an arc.
STRING end_list[] This value specifies the end point of an arc.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
630 PCL Reference Manual
Construct Actions

Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
One curve will be created for each set of three points. Each curve will be displayed in the graphics
window.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000423 The three points specified are nearly collinear.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see sgm_const_curve_arc3point (p. 490) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 631
Construct Actions

sgm_const_curve_bspline (output_ids, point_list, order, interpolate,


param_method, closed, created_ids)

Description:
This function creates B-spline curves from sets of points.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING point_list[] This value specifies the point list.
INTEGER order This value specifies the order of the B-spline
curves.
LOGICAL interpolate This value is set to TRUE if the curve is to be
interpolated, or to FALSE if the curve is to be
approximated.
INTEGER param_method This value specifies the parameterization method:
1 = chordal arc length, 2 = modified chordal arc
length, and 3 = uniform.
LOGICAL closed This value is set to TRUE if the curve is to be a
closed curve.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
One curve will be created for each point list. Each curve will be displayed in the graphics window as it
is created.
632 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

38000472 The number of points selected must be greater or equal to the order of the B-spline
curve.
38000475 The maximum number of points used to construct a nurbs curve is currently
limited to 1000.

Example:
Please see sgm_const_curve_bspline (p. 491) in the PCL Reference Manual Examples.

sgm_const_curve_extract (output_ids, surface_list, direction,


param_pos, created_ids)

Description:
This function constructs curves on surfaces by extraction from a set of surfaces at a set of positions
in a specified parametric direction.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING surface_list[] This value specifies the surface list from which the
curves will be extracted.
INTEGER direction This value specifies the parametric direction to
create the curve in: 1 = C1 direction, and 2 = C2
direction.
REAL param_pos This value specifies the parametric position in the
given direction from which to extract the curve.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
Chapter 3: Geometry Functions 633
Construct Actions

One curve on surface will be created for each surface in the direction and position specified. Each curve
will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a warning popup message form with the following message:

38000433 A Zero length curve would have been created had the process continued. Modify
application input and try again.

This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
1000518 Specified Parametric Direction value of %I% is invalid. Valid values are 1 and 2.
38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see sgm_const_curve_extract (p. 492) in the PCL Reference Manual Examples.
634 PCL Reference Manual
Construct Actions

sgm_const_curve_extract_edge (output_ids, edge_list, created_ids)

Description:
This function creates curves by extraction from edges of surfaces or solids.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING edge_list[] This value specifies the list of edges from which
the curves are extracted.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
One curve will be created for each edge input. Each curve will be displayed in the graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a warning popup message form with the following message:

1000054 An invalid geometric entity type was used as input. The valid entity type to use
is %A%. Unable to process request.

This function can display a fatal popup message form with the following messages:

1000003 Line %I% does not exist. Unable to continue.


38000003 No blob provided.
Chapter 3: Geometry Functions 635
Construct Actions

38000450 Unable to calculate a point on the curve.


38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see sgm_const_curve_extract_edge (p. 493) in the PCL Reference Manual Examples.

sgm_const_curve_fillet (output_ids, radius, trim_original,


point1_list, point2_list, created_ids)

Description:
This function constructs a fillet of a specified radius between any two co-planar curves.
Input:
STRING output_ids[] This value specifies the line ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of line IDs.
REAL radius This value specifies the fillet radius.
LOGICAL trim_original This value is set to TRUE if the original line is to
be trimmed after the fillet is created.
STRING point1_list[] This value specifies the first fillet location list.
STRING point2_list[] This value specifies the second fillet location list.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
Curves will be created for each set of lines and points. All curves created will be displayed in the graphics
window. The created curves will be circular arcs. The input curves must be co-planar.
636 PCL Reference Manual
Construct Actions

This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000500 There must be at least one line as input. The invalid value input was %I%.
1000557 The fillet radius value is unacceptable. The radius value of %G% must be greater
than the fillet tolerance value of %G%.
1000558 The fillet line with radius %G% cannot be created between the two input curves.
1000571 The fillet curve has a zero angle of rotation. The fillet cannot be created.
1000572 The fillet curve has a zero radius. The fillet cannot be created.
2001070 Unable to acquire %I% words of virtual memory.
38000003 No blob provided.
38000450 Unable to calculate a point on the curve.

Example:
None.

sgm_const_curve_involute (output_ids, axis, option, scalar1,


scalar2, coord_frame, point,
created_ids)

Description:
This function creates a true involute curve defined as the unwinding of an imaginary string from a
circular bobbin.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING axis[] This value specifies the axis of the involute curve.
INTEGER option This value specifies the option to use in creating
the involute. If option = 1 the radii method is used,
otherwise the angle method is used.
Chapter 3: Geometry Functions 637
Construct Actions

REAL scalar1 This value specifies a scalar value depending on


the value of option. If the angle method is used,
this is the angle to unwind the curve. If the radii
method is used, this is the base radius of the
bobbin.
REAL scalar2 This value specifies a scalar value depending on
the value of option. If the angle method is used,
this is the starting angle of the curve. If the radii
method is used, this is the stop radius of the curve.
STRING coord_frame[] This value specifies the reference coordinate
frame.
STRING point[] This value specifies the list of points to be swept.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000054 An invalid geometric entity type was used as input. The valid entity type to use is
%A%. Unable to process request.
1000211 The length of the Axis equals zero.
1000226 The angle which the involute traverses must be positive.
1000227 The starting angle of the involute must be positive.
1000228 The radius of the base circle must be positive.
1000229 The stop radius of the involute must be larger than the base radius.
1000230 The point is inside the base circle.
1000231 The point is outside the stop radius of the involute.

Remarks:
This function displays a message listing the number of curves created and their IDs.
The number of curves defined by the input value num_curves will be created for each point. Each curve
will be displayed in the graphics window.
Example:
None.
638 PCL Reference Manual
Construct Actions

sgm_const_curve_loft (output_ids, slope_control, point_list, slope_list1,


slope_list2, created_ids)

Description:
This function creates true involute curves from sets of points with end point slope control.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
LOGICAL slope_control This value is set to TRUE if the end point slope
control is to be enforced.
STRING point_list[] This value specifies the point list.
STRING slope_list1[] This value specifies the vectors defining the initial
slope.
STRING slope_list2[] This value specifies the vectors defining the final
slope.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
None.
Example:
Please see sgm_const_curve_loft (p. 494) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 639
Construct Actions

sgm_const_curve_offset (output_ids, od_flag, op_method, dist1,


param1, dist2, param2, ncopies, vector_list,
curve_list, created_labels)

Description:
This function will create constant or variable offset curves from other curves. It should be noted that
while nonplanar curves could be specified, the offset will occur in the least-squares plane of the input
curve. If the input curve is a straight line, then a direction vector is required.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
INTEGER od_flag This value specifies the offset distance flag;

1 = Single value offset, constant distance

2 = Offset distance varying linearly


LOGICAL op_method This value specifies the offset parametrization
method;

=True; function of parameter value

=False; function of arc length


REAL dist1 This value specifies the start offset distance.
REAL param1 This value specifies the arc length or parameter
value, depending on op_method, of first offset
distance. (only used if od_flag = 2)
REAL dist2 This value specifies the end offset distance.
REAL param2 This value specifies the arc length or parameter
value, depending on op_method, of second offset
distance. (only used if od_flag = 2)
INTEGER ncopies This value specified the number of copies to make
of the offset curve.
STRING vector_list[] This value specifies the direction vector if the input
curve is a straight line.
STRING curve_list[] This value specifies the input curve list to create
the offset curve(s) from.
Output:
640 PCL Reference Manual
Construct Actions

STRING created_labels[VIRTUAL] This value returns a description of the created


curve identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:
Space is internally allocated for the string returned by the output value created_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the solid identifiers that are stored in the database and displayed in a viewport.
Example:

None

sgm_const_curve_project_v1 (output_ids, curve_list, surface_list, etype,


delete_original, project_method, vector,
coord_frame, projection_tolerance,
created_ids)

Description:
This function constructs curves on a set of surfaces by projecting an existing set of curves along a
projection vector onto a set of surfaces.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING curve_list[] This value specifies the list of curves to project
onto the list of surfaces.
STRING surface_list[] This value specifies the list of surfaces onto which
the curves are to be projected.
INTEGER etype This value specifies the entity type to project the
curve to:

=1; project to surface

=2; project to plane


Chapter 3: Geometry Functions 641
Construct Actions

LOGICAL delete_original This value is set to TRUE if the original curves are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
INTEGER project_method This value specifies the method of defining the
projection vector: 1 = the curves to be projected lie
in a plane and it is desired to project the curves
normal to this plane, 2 = the direction of projection
is normal to the surface at the point of closest
approach to the curve, 3 = the direction of
projection is to be given by a vector, and 4 = the
direction of projection is the view vector.
STRING vector[] This value specifies the projection vector.
STRING coord_frame[] This value specifies the coordinate frame for the
projection vector.
REAL projection_tolerance This value specifies a tolerance parameter. The
algorithm creates all curves along the projected
surface so that the maximum distance lies between
them is the distance defined by this value
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This function can display an information popup message form with the following messages:
1000040 Duplicate %A% was not created at users request
38000412 Negating the View Vector coordinates and trying again...
This function can display a warning popup message form with the following message:
38000415 Skipping zero length Curve %I%.
This function can display a fatal popup message form with the following messages:
1000540 The projection vector has zero length.
38000003 No blob provided.
38000450 Unable to calculate a point on the curve
38000488 Unable to manifold the curve(s) to the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:
None.
642 PCL Reference Manual
Construct Actions

sgm_const_curve_revolve (output_ids, axis, angle, offset,


coord_frame, point, created_ids)

Description:
This function creates arcs by revolving points about an axis of rotation.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING axis[] This value specifies the axis of rotation.
REAL angle This value specifies the total angle to revolve each
point.
REAL offset This value specifies the initial offset angle.
STRING coord_frame[] This value specifies the reference coordinate
frame.
STRING point[] This value specifies the list of points to be
revolved.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
38000003 No blob provided.
38000450 Unable to calculate a point on the curve.

Remarks:
This function displays a message listing the number of curves created and their IDs.
One curve will be created for each point. Each curve will be displayed in the graphics window.
Example:
Please see sgm_const_curve_revolve (p. 495) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 643
Construct Actions

sgm_const_surface_3edge (output_ids, curve1_list, curve2_list,


curve3_list, created_ids)

Description:
This function creates bi-parametric surfaces from three sets of curves defining the boundary of the
surfaces.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING curve1_list[] This value specifies the first set of curves.
STRING curve2_list[] This value specifies the second set of curves.
STRING curve3_list[] This value specifies the third set of curves.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each set of three input curves. Each surface will be displayed in the
graphics window as it is created.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000402 The Surface Edge Surface builder failed to create the evaluator table. Surface was
not created.
644 PCL Reference Manual
Construct Actions

38000403 Bounding Curves must form a closed loop. Surface was not created.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see sgm_const_surface_3edge (p. 496) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 645
Construct Actions

sgm_const_surface_3edge_man (output_ids, curve1_list, curve2_list,


curve3_list, surface_list, cubic,
created_ids)

Description:
This function creates manifold surfaces from three sets of curves defining the boundary of the
parametric or generalized coons surfaces.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING curve1_list[] This value specifies the first set of curves.
STRING curve2_list[] This value specifies the second set of curves.
STRING curve3_list[] This value specifies the third set of curves.
STRING surface_list[] This value specifies the surfaces on which the
manifold surfaces are created.
LOGICAL cubic This value specifies, when set to TRUE, that
parametric bicubic surfaces be created. When this
value is set to FALSE, generalized coons surfaces
will be created.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each set of three input curves. Each surface will be displayed in the
graphics window as it is created.
646 PCL Reference Manual
Construct Actions

This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000118 An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121 Invalid format conversion flag specified for surface conversion.
38000402 The Surface Edge Surface builder failed to create the evaluator table. Surface was
not created.
38000403 Bounding Curves must form a closed loop. Surface was not created.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000488 Unable to manifold the curve(s) to the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see sgm_const_surface_3edge_man (p. 498) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 647
Construct Actions

sgm_const_surface_4edge (output_ids, curve1_list, curve2_list,


curve3_list, curve4_list, created_ids)

Description:
This function creates bi-parametric surfaces from four sets of curves defining the boundary of the
surfaces.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING curve1_list[] This value specifies the first set of curves.
STRING curve2_list[] This value specifies the second set of curves.
STRING curve3_list[] This value specifies the third set of curves.
STRING curve4_list[] This value specifies the fourth set of curves.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each set of four input curves. Each surface will be displayed in the
graphics window as it is created.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
648 PCL Reference Manual
Construct Actions

38000402 The Surface Edge Surface builder failed to create the evaluator table. Surface was
not created.
38000403 Bounding Curves must form a closed loop. Surface was not created.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_surface_4edge (p. 499) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 649
Construct Actions

sgm_const_surface_4edge_man (output_ids, curve1_list, curve2_list,


curve3_list, curve4_list, surface_list,
cubic, created_ids)

Description:
This function creates manifold surfaces from four sets of curves defining the boundary of the
parametric or generalized coons surfaces.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING curve1_list[] This value specifies the first set of curves.
STRING curve2_list[] This value specifies the second set of curves.
STRING curve3_list[] This value specifies the third set of curves.
STRING curve4_list[] This value specifies the fourth set of curves.
STRING surface_list[] This value specifies the surfaces on which the
manifold surfaces are created.
LOGICAL cubic This value specifies, when set to TRUE, that
parametric bicubic surfaces be created. When this
value is set to FALSE, generalized coons surfaces
will be created.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each set of four input curves. Each surface will be displayed in the
graphics window as it is created.
650 PCL Reference Manual
Construct Actions

This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000118 An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121 Invalid format conversion flag specified for surface conversion.
38000325 The current implementation of this application does not permit the use of closed
curves to represent an edge. It is suggested that the same result may be obtained by
using these edges to create a trimmed surface directly.
38000402 The Surface Edge Surface builder failed to create the evaluator table. Surface was not
created.
38000403 Bounding Curves must form a closed loop. Surface was not created.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000488 Unable to manifold the curve(s) to the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see sgm_const_surface_4edge_man (p. 501) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 651
Construct Actions

sgm_const_surface_extract_face (output_ids, face_list, created_ids)

Description:
This function creates surfaces by extraction from the faces of solids.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING face_list[] This value specifies the list of solid faces from
which the surfaces are extracted.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each parametric plane specified in each solid. Each surface created will
be displayed in the graphics window.
This function can display a fatal popup message form with the following message:

38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see sgm_const_surface_extract_face (p. 502) in the PCL Reference Manual Examples.
652 PCL Reference Manual
Construct Actions

sgm_const_surface_extrude (output_ids, delta, scale, angle, origin,


coord_frame, curve_list, created_ids)

Description:
This function creates bi-parametric surfaces by moving curves through space along a defined axis
while simultaneously scaling and rotating the created surfaces.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING delta[] This value specifies a translation vector defining
the direction and magnitude of the extrusion
operation.
REAL scale This value specifies the scaling factor.
REAL angle This value specifies the angle to rotate the curve
around the translation vector during extrusion.
STRING origin[] This value specifies the point of origin of the
extrusion.
STRING coord_frame[] This value specifies the reference coordinate
frame.
STRING curve_list[] This value specifies the list of curves to be
extruded.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
38000003 No blob provided.
38000430 The Sweep Extrude Surface builder failed to create the evaluator table. Surface was
not created.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000845 Unable to acquire %I% words of virtual memory.
Chapter 3: Geometry Functions 653
Construct Actions

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each input curve. Each surface will be displayed in the graphics window.
Example:
Please see sgm_const_surface_extrude (p. 504) in the PCL Reference Manual Examples.

sgm_const_surface_glide (output_ids, scale, glide_option,


director_curve_list, base_curve_list,
created_ids)

Description:
This function constructs a surface by "gliding" a base curve along a director curve.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
REAL scale This value specifies the scale factor to apply to the
glide.
INTEGER glide_option This value specifies the glide option:

=0; Avoid twisting; eliminates one degree of


freedom.

=1; Invokes “fixed logic” that drags the base curve


along the path without rotating. Eliminates three
degrees of freedom.
STRING director_curve_list[] This value specifies the list of curves along which
the base curve is to glide.
STRING base_curve_list[] This value specifies the list of base curves.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This function can display an information popup message form with the following messages:
1000040 Duplicate %A% was not created at users request
654 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:
38000431 The Sweep Glide Surface builder failed to create the evaluator table. Surface was
not created.
38000845 Unable to acquire %I% words of virtual memory.
Chapter 3: Geometry Functions 655
Construct Actions

sgm_const_surface_glide_2curve (output_ids, scale,


director1_curve_list,
director2_curve_list, created_ids)

Description:
This function constructs a surface by "gliding" a base curve along a director curve.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
LOGICAL scale If .TRUE., the local scaling is determined by the
chordal distance between the two director curves.
If .FALSE., the base curve remains unscaled.
STRING director1_curve_list[] This value specifies the list of primary curves
along which the base curve is to glide.
STRING director2_curve_list[] This value specifies the list of secondary curves
which, along with the primary curves control the
orientation and possibly the scaling of the base
curve.
STRING base_curve_list[] This value specifies the list of base curves.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This function can display an information popup message form with the following messages:
1000040 Duplicate %A% was not created at users request
This function can display a fatal popup message form with the following messages:
38000431 The Sweep Glide Surface builder failed to create the evaluator table. Surface was
not created.
38000845 Unable to acquire %I% words of virtual memory.

sgm_const_surface_offset (output_ids, dist, ncopies,


guide_surface, surface_list,
created_labels)
656 PCL Reference Manual
Construct Actions

Description:
This function will create constant offset surfaces from other surfaces .
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
REAL dist This value specifies the distance by which the
surface is normally offset.
INTEGER ncopies This value specifies the number of copies of the
offset surface to make.
LOGICAL guide_surface This value specifies whether the first surface in the
surface list is to be used as a guide surface to define
the offset direction for all surfaces in the list.
STRING surface_list[] This value specifies the input surface list to create
the offset surface(s) from.
Output:
STRING created_labels[VIRTUAL] This value returns a description of the created
surface identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:
Space is internally allocated for the string returned by the output value created_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the solid identifiers that are stored in the database and displayed in a viewport.
Example:
None.
Chapter 3: Geometry Functions 657
Construct Actions

sgm_const_surface_revolve (output_ids, axis, angle, offset,


coord_frame, curve_list, created_ids)

Description:
This function creates surfaces by revolving curves about an axis of rotation.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING axis[] This value specifies the axis of rotation.
REAL angle This value specifies the total angle to revolve each
curve in degrees.
REAL offset This value specifies the initial offset angle in
degrees.
STRING coord_frame[] This value specifies the reference coordinate
frame.
STRING curve_list[] This value specifies the list of curves to be
revolved.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
1000211 The length of the Axis equals zero.
38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.

Remarks:
This function displays a message listing the number of surfaces created and their IDs.
Surfaces will be created for each curve. All surfaces created will be displayed in the graphics window.
658 PCL Reference Manual
Construct Actions

Example:
Please see sgm_const_surface_revolve (p. 505) in the PCL Reference Manual Examples.

sgm_const_vector_2point (output_ids, base_point_list,


tip_point_list, created_ids)

Description:
This function creates vectors between two sets of points.
Input:
STRING output_ids[] This value specifies the vector ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of vector IDs.
STRING base_point_list[] This value specifies the vector base point list.
STRING tip_point_list[] This value specifies the vector tip point list.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of vectors created and their IDs.
One vector will be created for each point set. Each vector will be displayed in the graphics window as it
is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.
Chapter 3: Geometry Functions 659
Construct Actions

This function can display a fatal popup message form with the following messages:

38000441 A Zero length vector would have been created had the process continued. Modify
application input and try again.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see sgm_const_vector_2point (p. 506) in the PCL Reference Manual Examples.

sgm_const_vector_2point_v1 (output_ids, point1_list, point2_list,


unit_vector, created_ids)

Description:
This function creates a vector between two points with an option to create a unit vector.
Input:
STRING output_ids[] This value specifies the vector ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of vector IDs.
STRING point1_list[] This value specifies the first point list.
STRING point2_list[] This value specifies the second point list.
LOGICAL unit_vector This value specifies whether the vector to be
created is a unit vector.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of vectors created and their IDs.
One vector will be created for each set of points. Each vector will be displayed in the graphics window.
660 PCL Reference Manual
Construct Actions

This function can display a warning popup message form with the following message:

38000441 A zero length vector would have been created had the process continued Modify
application input and try again.

This function can display a fatal popup message form with the following message:

38000845 Unable to acquire %I% words of virtual memory.

Example:

None.

sgm_const_vector_interpolate (output_ids, curve_list, ratio,


vector_count, param_method,
created_ids)

Description:
This function constructs vectors by interpolating along a curve.
Input:
STRING output_ids[] This value specifies the vector ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of vector IDs.
STRING curve_list[] This value specifies the list of curves to interpolate
along.
REAL ratio This value specifies the vector spacing ratio (the
distance defined by (nvectors to endpoint) divided
by the distance defined by (startpoint to second
point).
INTEGER vector_count This value specifies the number of interior vectors
to create.
INTEGER param_method This value specifies the parameterization method
of interpolation:

=1; equal relative Arc Length.

=2; equal relative parametric values.


Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
Chapter 3: Geometry Functions 661
Construct Actions

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This function can display an information popup message form with the following messages:
1000040 Duplicate %A% was not created at users request
This function can display a fatal popup message form with the following messages:
1000222 There must be at least one vector as input.
1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1 and
2
38000845 Unable to acquire %I% words of virtual memory.

sgm_const_vector_intersect (output_ids, first_plane_list,


second_plane_list, vector_rev_direction,
created_ids)

Description:
This function creates vectors at the intersections of two sets of planes.
Input:
STRING output_ids[] This value specifies the vector ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of vector IDs.
STRING first_plane_list[] This value specifies the first list of planes to
intersect with the second.
STRING second_plane_list[] This value specifies the second list of planes to
intersect with the first.
LOGICAL vector_rev_direction This value specifies, when set to TRUE, that the
vector direction be reversed.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
662 PCL Reference Manual
Construct Actions

Remarks:
This function displays a message listing the number of vectors created and their IDs.
One vector will be created for each pair of planes. Each vector will be displayed as it is created.
A base and tip of a vector is determined by projecting two plane origins onto an intersection curve, the
first origin being the base and the second being the tip. If a base and tip are not unique, then the tip is
assumed and the input value vector_rev_direction will be used to control the vector direction, which will
be arbitrary.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

38000447 The two intersection planes are parallel.


38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see sgm_const_vector_intersect (p. 507) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 663
Construct Actions

sgm_const_vector_magnitude (output_ids, magnitude_list,


direction_list, base_point_list,
coord_frame, created_ids)

Description:
This function creates vectors from base points, directions, and magnitudes.
Input:
STRING output_ids[] This value specifies the vector ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of vector IDs.
STRING magnitude_list[] This value specifies the vector magnitude list.
STRING direction_list[] This value specifies the vector direction list.
STRING base_point_list[] This value specifies the vector base point list.
STRING coord_frame[] This value specifies the coordinate frame in which
the vector will be created.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of vectors created and their IDs.
One vector will be created for each point. Each vector will be displayed in the graphics window as it is
created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.
664 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

38000441 A Zero length vector would have been created had the process continued. Modify
application input and try again.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_vector_magnitude (p. 509) in the PCL Reference Manual Examples.

sgm_const_vector_normal (output_ids, normal_option, entity_list,


magnitude_list, base_point_list,
created_ids)

Description:
This function creates vectors that are normal to planes, surfaces, or element faces.
Input:
STRING output_ids[] This value specifies the vector ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of vector IDs.
INTEGER normal_option This value specifies the normal option: 1 = normal
to a plane, 2 = normal to a surface, and 3 = normal
to an element face.
STRING entity_list[] This value specifies the planes, surfaces, and/or
element faces used to calculate the normal vectors.
STRING magnitude_list[] This value specifies the vector magnitude list.
STRING base_point_list[] This value specifies the vector base point list.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of vectors created and their IDs.
Chapter 3: Geometry Functions 665
Construct Actions

One vector will be created for each entity in the entity list. Each vector will be displayed in the graphics
window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

38000441 A Zero length vector would have been created had the process continued. Modify
application input and try again.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_vector_normal (p. 510) in the PCL Reference Manual Examples.

sgm_const_vector_product (output_ids, vector_list1, vector_list2,


created_ids)

Description:
This function creates product vectors from two sets of vectors. The generated vectors are based on
the origin points of the first set of vectors.
Input:
STRING output_ids[] This value specifies the vector ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of vector IDs.
STRING vector_list1[] This value specifies the first vector list.
STRING vector_list2[] This value specifies the second vector list.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
666 PCL Reference Manual
Construct Actions

Remarks:

This function displays a message listing the number of vector created and their IDs.
One vector will be created for each entity in the entity list. Each vector will be displayed in the graphics
window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

38000441 A Zero length vector would have been created had the process continued. Modify
application input and try again.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_vector_product (p. 511) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 667
Construct Actions

sgm_const_surface_vertex (output_ids, point1_list, point2_list,


point3_list, point4_list, created_ids)

Description:
This function creates bi-parametric surfaces bounded by the quadrilaterals formed by four sets of
vertex points.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING point1_list[] This value specifies the first set of points defining
vertex 1 of each surface.
STRING point2_list[] This value specifies the second set of points
defining vertex 2 of each surface
STRING point3_list[] This value specifies the third set of points defining
vertex 3 of each surface.
STRING point4_list[] This value specifies the fourth set of points
defining vertex 4 of each surface.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each set of four input vertex points. Each surface will be displayed in the
graphics window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


668 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000123 The input points for the creation of a surface are invalid.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_surface_vertex (p. 513) in the PCL Reference Manual Examples.

sgm_create_curve_boundary (output_ids, construct_method, exist,


created_ids)

Description:
This function constructs curves from a set of picklist construct methods.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING construct_method[] This value specifies the set of construct methods
made up of the resulting strings produced by the
last 3 picklist items of the Geometry
“Create/Surface/Curve” form.
Output:
INTEGER exist This value is set to 1 if the curve already exists.
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
Chapter 3: Geometry Functions 669
Construct Actions

14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.


14000049 LpParseExpression: Excess left parenthesis detected.
14000050 LpParseExpression: Excess right parenthesis detected.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000281 LpExpandPclVariables: Virtual memory is full.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
14000308 LpEval: Memory exhausted preparing to evaluate pick.

Remarks:

This function displays a message listing the number of curves created and their IDs.
One curve will be created for each construct list. Each curve will be displayed in the graphics window as
it is created.
Example:

Please see sgm_create_curve_boundary (p. 514) in the PCL Reference Manual Examples.
670 PCL Reference Manual
Construct Actions

sgm_create_curve_bspline (output_ids, point_list, order,


interpolate, param_method, closed,
created_ids)

Description:
This function constructs B-spline curves from sets of points.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING point_list[] This value specifies the point list.
INTEGER order This value specifies the order of the B-spline
curves.
LOGICAL interpolate This value is set to TRUE if the curve is to be
interpolated, or to FALSE if the curve is to be
approximated.
INTEGER param_method This value specifies the parameterization method,
1 = chordal arc length, 2 = modified chordal arc
length, and 3 = uniform.
LOGICAL closed This value is set to TRUE if the curve is to be
closed.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
One curve will be created for each point list. Each curve will be displayed in the graphics window as it
is created.
Chapter 3: Geometry Functions 671
Construct Actions

This function can display a fatal popup message form with the following message:

38000472 The number of points selected must be greater or equal to the order of the
B-spline curve.

Example:

Please see sgm_create_curve_bspline (p. 515) in the PCL Reference Manual Examples.

sgm_create_curve_chain (output_ids, curve_list, delete_original,


created_ids)

Description:
This function constructs chains or composite curves from a list of curves.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING curve_list[] This value specifies the curve list.
LOGICAL delete_original This value is set to TRUE if the original curves are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
One chain will be created for each curve list. Each chain will be displayed in the graphics window as it
is created.
672 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000201 %A% is not a recognized syntax for a Curve List.


38000445 There must be at least two curves as input to Chain. The invalid value input was
%A%.
38000462 Size and complexity of the problem exceeds the available memory.
38000467 Curves to be chained are not contiguous due to a gap of %G%. The point of
discontinuity has been marked.

Example:

Please see sgm_create_curve_chain (p. 517) in the PCL Reference Manual Examples.

sgm_create_curve_chain_v1 (output_ids, curve_list, delete_original,


segment_id, created_ids)

Description:
This function creates chains or composite curves from a list of curves.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs sequentially. This value is used only
if the original curve to extend is a topological edge.
STRING curve_list[] This value specifies the original curves to chain.
LOGICAL delete_original This value is set to TRUE if the original curves are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
INTEGER segment_id This value specifies the id for the graphics segment
used for the creation of graphics markers.
Output:
INTEGER segment_id This value returns the id of the graphics segment id
used for the creation of graphics markers.
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Chapter 3: Geometry Functions 673
Construct Actions

Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
One chain curve will be created for each curve list. The chain curve created will be displayed in the
graphics window.
This function can display a fatal popup message form with the following messages:

1000201 %A% is not a recognized syntax for a Curve List.


38000445 There must be at least two curves as input to Chain. The invalid value input was
%A%.
38000462 Size and complexity of the problem exceeds the available memory.
38000467 Curves to be chained are not contiguous due to a gap of %G%. The point of
discontinuity has been marked.

Example:

Please see sgm_create_curve_chain_v1 (p. 518) in the PCL Reference Manual Examples.
674 PCL Reference Manual
Construct Actions

sgm_create_curve_loft (output_ids, slope_control, point_list,


slope_list1, slope_list2, created_ids)

Description:
This function constructs loft-spline curves from sets of points with end point slope control.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
LOGICAL slope_control This value is set to TRUE if the end point slope
control is to be enforced.
STRING point_list[] This value specifies the point list.
STRING slope_list1[] This value specifies the vectors defining the initial
slope.
STRING slope_list2[] This value specifies the vectors defining the final
slope.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
One curve will be created for each point list. Each curve will be displayed in the graphics window as it
is created.
Example:

Please see sgm_create_curve_loft (p. 520) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 675
Construct Actions

sgm_create_surface_composite (output_labels, surface_list,


build_options, clean_tolerance,
gap_tolerance, curve_start_label,
loop_id, add_list, remove_list,
inner_loop_list, vertex_list,
delete_cons, implicit_topology,
created_labels)

Description:
This function creates composite trimmed surfaces.
Input:
STRING output_labels[] This value specifies the label of the surface to be
created.
STRING surface_list[] This value specifies the surfaces from which the
composite will be created.
INTEGER build_options This value specifies the options for the builder.
REAL clean_tolerance This value specifies the cleanup tolerance for the
creation of surface boundaries.
REAL gap_tolerance This value specifies the gap distance for the
surface builder.
INTEGER curve_start_label This value specifies the starting label for the
boundary curves that will be created.
INTEGER loop_id This value specifies the loop ID identifying the
outer boundary.
STRING add_list[] This value specifies the edge list to be added to the
free boundary edges defined by the input surface
list.
STRING remove_list[] This value specifies the edge list to be removed
from the free boundary edges defined by the input
surface list.
STRING inner_loop_list[] This value specifies the inner loop edge list.
STRING vertex_list[] This value specifies the vertex list.
LOGICAL delete_cons This value specifies, when set to TRUE, that the
surfaces in the input value surface_list be deleted
after the composite trimmed surfaces are created.
676 PCL Reference Manual
Construct Actions

LOGICAL implicit_topology This value specifies, when set to TRUE, that the
edges of the created surfaces are defined by the
chain links. When this value is set to FALSE the
chain link edges will be combined if there is slope
continuity in the 2D segments.
Output:
STRING created_labels[VIRTUAL] This value returns the label of the composite
surface created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000056 Curve list is blank. Input required data.
1000057 Surface list is blank. Input required data.
1000707 No surfaces were found to exist in the database as defined in the surface list. The
surface list input was %A%.
38000462 Size and complexity of the problem exceeds the available memory.
38001001 No outer boundary has been selected!
38001002 Problem 2: At the red square there is no boundary curve to continue and the loop
is not closed. The white square is showing the start location. White edges are
already checked. Red square is showing the current position.

Possible Action: Add a curve connecting the red square to a red boundary curve
using the < Modify Boundary > tool.
38001003 Problem 1: At the red square there are more than one boundary curves to continue.
The white square is showing the start location. White edges are already checked.
Red square is showing the current position.

Possible Action: Remove the appropriate edge using the < Modify Boundary >
tool.
38001004 Problem 3: The red and green vertices are not part of the selected surfaces;
however, the green vertices are within global tolerance and will be projected onto
the surfaces. Incorrect vertex placement may result in geometric incongruency.
Okay to continue?
38001005 No outer Loop has been defined!

Remarks:

None.
Chapter 3: Geometry Functions 677
Construct Actions

Example:

Please see sgm_create_surface_composite (p. 521) in the PCL Reference Manual Examples.

sgm_create_surface_decompose (output_ids, object_surface,


manifold_entity, point1_list,
point2_list, point3_list, point4_list,
created_ids)

Description:
This function constructs surfaces from four sets of vertices defined from existing surfaces.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
LOGICAL object_surface This value is set to TRUE if the object to be created
is a surface, and to FALSE if it is to be a simple
trimmed surface.
STRING manifold_entity[] This value specifies the manifold surface.
STRING point1_list[] This value specifies the first vertex point list.
STRING point2_list[] This value specifies the second vertex point list.
STRING point3_list[] This value specifies the third vertex point list.
STRING point4_list[] This value specifies the fourth vertex point list.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.

One surface will be created for each set of four input points. Each surface will be displayed in the
graphics window as it is created.
678 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

38000446 Unable to decompose Surface %I%. The Surface to decompose must be of a type
different from Composite Trimmed Surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_create_surface_decompose (p. 524) in the PCL Reference Manual Examples.

sgm_create_surface_from_elems (output_id, shell_element_list,


vertex_node_list, preview_mode,
corner_node_ids, delete_original,
deleted_ids)

Description:
This function constructs a tessellated surface given a collection of shell elements.
Input:
INTEGER output_id This value specifies the surface ID to create.
STRING shell_element_list[] This value specifies the list of shell elements to
create the surface from.
STRING vertex_node_list[] This value specifies the list of nodes that represent
vertices.
INTEGER preview_mode If =1 returns the 4 corner nodes.
INTEGER corner_node_ids[4] If preview_mode =1, this array will have the corner
node Ids.
LOGICAL delete_original This value specifies whether or not to delete the
original shell elements after the surface is created.
Output:
STRING deleted_ids[VIRTUAL] This value returns the deleted element ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This function can display a warning popup message form with the following messages:
61002002 There are %I% inner loops in the selected surface mesh.
61002003 Duplicate vertices with node id %I% are found on the vertex list. Only one vertex
with node id %I% will be used.
Chapter 3: Geometry Functions 679
Construct Actions

61002004 The element edge defined by the nodes with ids %I% and %I% is short (length =
%F%). The resulting tessellated surface may have bad parameterization.If the
program fails to create a surface, edit the mesh and try again.
61002005 The triangle defined by the nodes with ids %I%, %I% and %I% is small (area =
%F%). The resulting tessellated surface may have bad parameterization. If the
program fails to create a surface, edit the mesh and try again
This function can display a fatal popup message form with the following messages:
61003002 No shell elements were selected. Select shell elements to create the surface.
61003003 Insufficient memory available. Close other applications and try again.
61003004 The selected mesh is invalid. Three or more elements in the mesh share the edge
with nodes %I% and %I%.
61003005 There are no free element edges in the selected mesh. The mesh should be an open
shell to create a surface.
61003006 The selected elements form 2 or more disconnected shell meshes. Merge the shell
meshes using finite Elements Modify-Mesh-Sew to one and try again or create a
surface for each shell mesh.
61003007 Failed on abort signal from client.
61003008 The selected mesh is invalid. Three or more elements in the mesh share edges.
This is occurring between elements using the following nodes: %A%
61003009 Error found in disassociating edges with trias.
61003010 The hole with node %I% could not be filled.
61003011 Error on editing the mesh on a hole.
61003012 The selected vertex (Node %I%) is not on the boundary. Select boundary nodes for
vertices and try again.
61003013 Duplicate edge with node ids %I% and %I% found on a boundary. Please edit the
mesh and try again.
61003014 The boundary of the mesh intersects at the node %I%. Please edit the mesh and try
again.
61003015 The input mesh is connected in such a way that it corresponds to the topology of a
torus or other surface of higher genus. We are unable to create a surface mapping
for this situation. You should partition the input into simpler sets and create two
or more surfaces in place of the one just attempted.
61003016 The inner loop with node %I% could not be filled. Please check that inner loop and
see if there are some overlapped elements around that loop.
61003017 Error in selecting four default vertices. Please select 4 vertices on the outer loop of
the mesh and try again.
680 PCL Reference Manual
Construct Actions

sgm_create_surface_from_elems1 (output_id, shell_element_list,


preview_mode, vertex_node_list,
inner_loops_option,
nodes_on_loop_list,
delete_original, smoother_option,
corner_node_ids, deleted_ids)

Description:
This function constructs a tessellated surface given a collection of shell elements.
Input:
INTEGER output_id This value specifies the surface ID to create.
STRING shell_element_list[] This value specifies the list of shell elements to
create the surface from.
INTEGER preview_mode If =1 returns the 4 corner nodes.
STRING vertex_node_list[] This value specifies the list of nodes that represent
vertices.
INTEGER inner_loops_option This value specifies which loops are to be
preserved:

=0; All

=1; None

=2; Selected loops


STRING nodes_on_loop_list[] This value specifies the list of nodes on the loop
that need to be preserved.
LOGICAL delete_original This value specifies whether or not to delete the
original shell elements after the surface is created.
LOGICAL smoother_option This value specifies a which smoother algorithm to
use:

=0; Fast

=1; Better Parametrization


INTEGER corner_node_ids[4] If preview_mode =1, this array will have the corner
node Ids.
Output:
STRING deleted_ids[VIRTUAL] This value returns the deleted element ID list.
Chapter 3: Geometry Functions 681
Construct Actions

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This function can display a warning popup message form with the following messages:
61002002 There are %I% inner loops in the selected surface mesh.
61002003 Duplicate vertices with node id %I% are found on the vertex list. Only one vertex
with node id %I% will be used.
61002004 The element edge defined by the nodes with ids %I% and %I% is short (length =
%F%). The resulting tessellated surface may have bad parameterization.If the
program fails to create a surface, edit the mesh and try again.
61002005 The triangle defined by the nodes with ids %I%, %I% and %I% is small (area =
%F%). The resulting tessellated surface may have bad parameterization. If the
program fails to create a surface, edit the mesh and try again
This function can display a fatal popup message form with the following messages:
61003002 No shell elements were selected. Select shell elements to create the surface.
61003003 Insufficient memory available. Close other applications and try again.
61003004 The selected mesh is invalid. Three or more elements in the mesh share the edge
with nodes %I% and %I%.
61003005 There are no free element edges in the selected mesh. The mesh should be an open
shell to create a surface.
61003006 The selected elements form 2 or more disconnected shell meshes. Merge the shell
meshes using finite Elements Modify-Mesh-Sew to one and try again or create a
surface for each shell mesh.
61003007 Failed on abort signal from client.
61003008 The selected mesh is invalid. Three or more elements in the mesh share edges.
This is occurring between elements using the following nodes: %A%
61003009 Error found in disassociating edges with trias.
61003010 The hole with node %I% could not be filled.
61003011 Error on editing the mesh on a hole.
61003012 The selected vertex (Node %I%) is not on the boundary. Select boundary nodes for
vertices and try again.
61003013 Duplicate edge with node ids %I% and %I% found on a boundary. Please edit the
mesh and try again.
61003014 The boundary of the mesh intersects at the node %I%. Please edit the mesh and try
again.
682 PCL Reference Manual
Construct Actions

61003015 The input mesh is connected in such a way that it corresponds to the topology of a
torus or other surface of higher genus. We are unable to create a surface mapping
for this situation. You should partition the input into simpler sets and create two
or more surfaces in place of the one just attempted.
61003016 The inner loop with node %I% could not be filled. Please check that inner loop and
see if there are some overlapped elements around that loop.
61003017 Error in selecting four default vertices. Please select 4 vertices on the outer loop of
the mesh and try again.

sgm_create_surface_ruled (output_ids, curve1_list, curve2_list,


ruled_form, auto_align, created_ids)

Description:
This function constructs ruled surfaces between two sets of curves.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING curve1_list[] This value specifies the first set of ruling curves for
the start of each surface.
STRING curve2_list[] This value specifies the second set of ruling curves
for the end of each surface.
INTEGER ruled_form This value specifies the ruled surface
parameterization form: 0 = equal relative arc
length, and 1 = equal relative parametric values.
LOGICAL auto_align This value specifies, when set to TRUE, that the
curves used to construct the surface should be
automatically aligned.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
Chapter 3: Geometry Functions 683
Construct Actions

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each pair of input curves. Each surface will be displayed in the graphics
window as it is created.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_create_surface_ruled (p. 525) in the PCL Reference Manual Examples.
684 PCL Reference Manual
Construct Actions

sgm_create_surface_trimmed (output_ids, outer_curve_list,


inner_curve_list, surface,
outer_curve_delete, inner_curve_delete,
delete_surface, created_ids)

Description:
This function constructs a trimmed surfaces from a parent surface and outer and/or inner boundary
trim curves.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING outer_curve_list[] This value specifies the outer boundary trim
curves.
STRING inner_curve_list[] This value specifies the inner boundary trim
curves.
STRING surface[] This value specifies the parent surface to trim.
LOGICAL outer_curve_delete This value is set to TRUE if the outer boundary
trim curves are to be deleted after trimmed surface
is created.
LOGICAL inner_curve_delete This value is set to TRUE if the inner boundary
trim curves are to be deleted after trimmed surface
is created.
LOGICAL delete_surface This value is set to TRUE if the parent surface is to
be deleted after trimmed surface is created.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of trimmed surfaces created and their IDs.
Chapter 3: Geometry Functions 685
Construct Actions

One trimmed surface will be created from the surface and outer/inner boundary curves. Each trimmed
surface will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following messages:

1000017 Curve %I% does not exist. Unable to continue.


1000019 Surface %I% does not exist. Unable to continue.
1000201 %A% is not a recognized syntax for a Curve List.
1000202 %A% is not a recognized syntax for a Surface List.
38000458 Loop closure required for trimming. A gap of %G% exists.
38000459 Unable to calculate least-squares plane.
38000461 Surface %I% has %I% degenerate edges. The surface may have severe geometric
errors and may not be suitable for meshing operations.
38000462 Size and complexity of the problem exceeds the available memory.
38000463 Unable to manifold the trim loops to the surface.
38000464 One or more of the trim loops is degenerate.
38000466 Unable to load the surface into the database.
38000805 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_create_surface_trimmed (p. 527) in the PCL Reference Manual Examples.
686 PCL Reference Manual
Construct Actions

sgm_create_surface_trimmed_v1 (output_ids, outer_curve_list,


inner_curve_list, surface,
outer_curve_delete,
inner_curve_delete, delete_surface,
implicit_topology, created_ids)

Description:
This function constructs a trimmed surface from a parent surface and/or outer and inner boundary
curves with an option of how to define the edges of the trimmed surfaces.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING outer_curve_list[] This value specifies the outer boundary trim
curves.
STRING inner_curve_list[] This value specifies the inner boundary trim
curves.
STRING surface[] This value specifies the parent surface to trim.
LOGICAL outer_curve_delete This value is set to TRUE if the outer boundary
trim curves are to be deleted after trimmed surface
is created.
LOGICAL inner_curve_delete This value is set to TRUE if the inner boundary
trim curves are to be deleted after trimmed surface
is created.
LOGICAL delete_surface This value is set to TRUE if the parent surface is to
be deleted after trimmed surface is created.
LOGICAL implicit_topology This value is set to TRUE if the edges are defined
from the chain links, or to FALSE if the edges are
to be derived from the slope continuity in the 2D
segments.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
Chapter 3: Geometry Functions 687
Construct Actions

Remarks:

This function displays a message listing the number of trimmed surfaces created and their IDs.
One trimmed surface will be created from the surface and outer/inner boundary curves. Each trimmed
surface will be displayed in the graphics window as it is created.
This function can display a warning popup message form with the following message:

38000482 This application only works with one surface at a time. Subsequent selected
surfaces will be ignored.

This function can display a fatal popup message form with the following messages:

1000017 Curve %I% does not exist. Unable to continue.


1000019 Surface %I% does not exist. Unable to continue.
1000201 %A% is not a recognized syntax for a Curve List.
1000202 %A% is not a recognized syntax for a Surface List.
38000458 Loop closure required for trimming. A gap of %G% exists.
38000459 Unable to calculate least-squares plane.
38000461 Surface %I% has %I% degenerate edges. The surface may have severe geometric
errors and may not be suitable for meshing operations.
38000462 Size and complexity of the problem exceeds the available memory.
38000463 Unable to manifold the trim loops to the surface.
38000464 One or more of the trim loops is degenerate.
38000466 Unable to load the surface into the database.
38000474 Only ONE outer loop (Composite Curve/Chain) may be selected at a time. Try
again.
38000636 ONE outer loop (Composite Curve/Chain) must be selected. Try again.
38000805 Unable to acquire %I% words of virtual memory.
38001109 Unable to trim surface - the inner loop must lie within the outer loop. Note that an
inner loop surrounding a pole resolves the ambiguity based upon its orientation.

Example:

Please see sgm_create_surface_trimmed_v1 (p. 529) in the PCL Reference Manual Examples.
688 PCL Reference Manual
Construct Actions

sgm_const_curve_2d_arc2point (output_ids, arc_angle, plane_list,


center_point_list, start_point_list,
end_point_list, created_ids)

Description:
This function constructs circular arcs in a two-dimensional space, defined by a set of construction
planes, center points, starting points, and ending points.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
INTEGER arc_angle This value specifies the arc angle to use: 1 =
minimum arc angle, and 2 = maximum arc angle.
STRING plane_list[] This value specifies the list of planes in which to
construct the arcs.
STRING center_point_list[] This value specifies the list of points defining the
center points of the circular arcs.
STRING start_point_list[] This value specifies the list of points defining the
starting points of the circular arcs.
STRING end_point_list[] This value specifies the list of points defining the
ending points of the circular arcs.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of circular arcs created and their IDs.
One circular arc will be created for each point input set. Each circular arc created will be displayed in the
graphics window.
Chapter 3: Geometry Functions 689
Construct Actions

This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000413 Zero length plane normal vector.
38000424 The center point and start point define a zero radius.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_curve_2d_arc2point (p. 532) in the PCL Reference Manual Examples.

sgm_const_curve_2d_arc2point_v1 (output_ids, arc_method, radius,


create_center, center_rev_direction,
arc_angle, plane_list,
center_point_list, start_point_list,
end_point_list, created_ids)

Description:
This function creates circular arcs in a two-dimensional space, defined by a set of construction planes,
center points or a radius, starting points, and ending points.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
INTEGER arc_method This value specifies the arc method: 1 = define arc
by center, start and end points, and 2 = define arc
by start point, end point and radius.
REAL radius This value specifies the arc radius if the input value
arc_method is set to 2.
LOGICAL create_center This value is set to TRUE if the arc center point is
to be created along with the arc if the input value
arc_method is set to 2.
690 PCL Reference Manual
Construct Actions

LOGICAL center_rev_direction This value is set to TRUE if the arc center is to be


flipped/rotated in the counter-clockwise direction
before the arc is created, if the input value
arc_method is set to 2.
INTEGER arc_angle This value specifies the arc angle to use: 1 =
minimum arc angle, and 2 = maximum arc angle.
STRING plane_list[] This value specifies the list of planes in which to
construct the arcs.
STRING center_point_list[] This value specifies the list of points defining the
center points of the circular arcs.
STRING start_point_list[] This value specifies the list of points defining the
starting points of the circular arcs.
STRING end_point_list[] This value specifies the list of points defining the
ending points of the circular arcs.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of circular arcs created and their IDs.
One circular arc will be created for each point input set. Each circular arc and point created will be
displayed in the graphics window.
One point will be created if the input value create_center is set to TRUE.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000413 Zero length plane normal vector.
Chapter 3: Geometry Functions 691
Construct Actions

38000418 The Arc radius must be greater than zero. Invalid value input was %G%.
38000424 The center point and start point define a zero radius.
38000440 Invalid 2D Arc2Point method. Must be 1 or 2. Try again.
38000442 The Radius value of %G% is too small for the input start and end points. Radius
magnitude must be at least %G%.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_curve_2d_arc2point_v1 (p. 533) in the PCL Reference Manual Examples.
692 PCL Reference Manual
Construct Actions

sgm_const_curve_2d_arc2point_v2 (output_ids, arc_method, radius,


create_center,
center_rev_direction, arc_angle,
plane_list, center_point_list,
start_point_list, end_point_list,
project_points, created_ids)

Description:
This function creates circular arcs in a two-dimensional space, defined by a set of construction planes,
center points or a radius, starting points, and ending points.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
INTEGER arc_method This value specifies the arc method: 1 = define arc
by center, start and end points, and 2 = define arc
by start point, end point and radius.
REAL radius This value specifies the arc radius if the input value
arc_method is set to 2.
LOGICAL create_center This value is set to TRUE if the arc center point is
to be created along with the arc and if the input
value arc_method is equal to 2.
LOGICAL center_rev_direction This value is set to TRUE if the arc center is to be
flipped/rotated in the counter-clockwise direction
before the arc is created and of the input value
arc_method is equal to 2.
INTEGER arc_angle This value specifies the arc angle to use: 1 =
minimum arc angle, and 2 = maximum arc angle.
STRING plane_list[] This value specifies the list of planes in which to
construct the arcs.
STRING center_point_list[] This value specifies the list of points defining the
center points of the circular arcs.
STRING start_point_list[] This value specifies the list of points defining the
starting points of the circular arcs.
STRING end_point_list[] This value specifies the list of points defining the
ending points of the circular arcs.
Chapter 3: Geometry Functions 693
Construct Actions

LOGICAL project_points This value specifies, when set to TRUE, that the
center points be projected onto the plane. When
this value is set to FALSE and the input value
arc_method is not set to 2, the construction plane
will be translated to the center point location and
will still be parallel to the original plane. If this
value is set to FALSE and the input value
arc_method is set to 2, the construction plane is
translated to the starting point location and will
still be parallel to the original plane.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of circular arcs created and their IDs.
One circular arc will be created for each point input set. Each circular arc and point created will be
displayed in the graphics window.
One point will be created if input value create_center is set to TRUE.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000413 Zero length plane normal vector.
38000418 The Arc radius must be greater than zero. Invalid value input was %G%.
38000424 The center point and start point define a zero radius.
38000440 Invalid 2D Arc2Point method. Must be 1 or 2. Try again.
38000442 The Radius value of %G% is too small for the input start and end points. Radius
magnitude must be at least %G%.
694 PCL Reference Manual
Construct Actions

38000450 Unable to calculate a point on the curve.


38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_curve_2d_arc2point_v2 (p. 534) in the PCL Reference Manual Examples.

sgm_const_curve_2d_arcangles (output_ids, radius, start_angle,


end_angle, plane_list,
center_point_list, created_ids)

Description:
This function creates circular arcs in a two-dimensional space, defined by a set of construction planes,
center points, a radius, a starting angle and an end angle.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
REAL radius This value specifies the arc radius.
REAL start_angle This value specifies the arc start angle in degrees.
REAL end_angle This value specifies the arc end angle in degrees.
STRING plane_list[] This value specifies the list of planes in which to
construct the arcs.
STRING center_point_list[] This value specifies the list of points defining the
center points of the circular arcs.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of circular arcs created and their IDs.
Chapter 3: Geometry Functions 695
Construct Actions

One circular arc will be created for each point input. Each circular arc created will be displayed in the
graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000413 Zero length plane normal vector.
38000424 The center point and start point define a zero radius.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_curve_2d_arcangles (p. 535) in the PCL Reference Manual Examples.

sgm_const_curve_2d_arcangles_v1 (output_ids, radius, start_angle,


end_angle, plane_list,
center_point_list,
project_points, created_ids)

Description:
This function creates circular arcs in a two-dimensional space, defined by a set of construction planes,
center points, a radius, a starting angle and an end angle.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
REAL radius This value specifies the arc radius.
REAL start_angle This value specifies the arc start angle in degrees.
REAL end_angle This value specifies the arc end angle in degrees.
STRING plane_list[] This value specifies the list of planes in which to
construct the arcs.
STRING center_point_list[] This value specifies the list of points defining the
center point of the circular arc.
696 PCL Reference Manual
Construct Actions

LOGICAL project_points This value specifies, when set to TRUE, that the
center points be projected onto the plane. When
this value is set to FALSE, the construction plane
will be translated to the center point location and
will still be parallel to the original plane.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of circular arcs created and their IDs.
One circular arc will be created for each point input. Each circular arc created will be displayed in the
graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000413 Zero length plane normal vector.
38000424 The center point and start point define a zero radius.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_curve_2d_arcangles_v1 (p. 537) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 697
Construct Actions

sgm_const_curve_2d_arc3point (output_ids, plane_list, start_point_list,


middle_point_list, end_point_list,
created_ids)

Description:
This function constructs circular arcs in a two-dimensional space, defined by a set of construction
planes, starting points, midpoints, and ending points.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING plane_list[] This value specifies the list of planes in which to
construct the arcs.
STRING start_point_list[] This value specifies the list of points defining the
starting points of the circular arcs.
STRING middle_point_list[] This value specifies the list of points defining the
midpoints of the circular arcs.
STRING end_point_list[] This value specifies the list of points defining the
ending points of the circular arcs.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of circular arcs created and their IDs.
One circular arc will be created for each point input set. Each circular arc created will be displayed in the
graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.


698 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000413 Zero length plane normal vector.
38000423 The three points specified are nearly collinear.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_curve_2d_arc3point (p. 538) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 699
Construct Actions

sgm_const_curve_2d_circle (output_ids, radius_method, radius,


plane_list, radius_point_list,
center_point_list, created_ids)

Description:
This function constructs circles in a two-dimensional space, defined by a set of center points and a
radius or a set of radii.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
INTEGER radius_method This value specifies the method used to define a
radius: 1 = scalar radius value, and 2 = point
location.
REAL radius This value specifies the radius if the input value
radius_method is equal to 1 and is ignored if the
input value radius_method is set to 2.
STRING plane_list[] This value specifies the list of planes in which to
construct the arcs.
STRING radius_point_list[] This value specifies the list of points defining the
radius of the circle if the input value
radius_method is set to 2 and is ignored if the input
value radius_method is set to 1.
STRING center_point_list[] This value specifies the list of points defining the
center point of the circle.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of circle created and their IDs.
700 PCL Reference Manual
Construct Actions

One circle will be created for each center point and radius input set. Each circle created will be displayed
in the graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000413 Zero length plane normal vector.
38000425 The Circle radius must be greater than zero. Invalid value input was %G%.
38000426 The center point and start point define a zero radius.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_curve_2d_circle (p. 539) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 701
Construct Actions

sgm_const_curve_2d_circle_v1 (output_ids, radius_method, radius,


plane_list, radius_point_list,
center_point_list, project_points,
created_ids)

Description:
This function constructs circles in a two-dimensional space, defined by a set of center points and a
radius or a set of radii.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
INTEGER radius_method This value specifies the method used to define a
radius: 1 = scalar radius value, and 2 = point
location.
REAL radius This value specifies the radius if the input value
radius_method is equal to 1 and is ignored if the
input value radius_method is set to 2.
STRING plane_list[] This value specifies the list of planes in which to
construct the arcs.
STRING radius_point_list[] This value specifies the list of points defining the
radius of the circle if the input value
radius_method is set to 2 and is ignored if the input
value radius_method is set to 1.
STRING center_point_list[] This value specifies the list of points defining the
center point of the circle.
LOGICAL project_points This value specifies, when set to TRUE, that the
center points be projected onto the plane. When
this value is set to FALSE, the construction plane
will be translated to the center point location and
will still be parallel to the original plane.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
702 PCL Reference Manual
Construct Actions

Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of circle created and their IDs.
One circle will be created for each center point and radius input set. Each circle created will be displayed
in the graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000413 Zero length plane normal vector.
38000425 The Circle radius must be greater than zero. Invalid value input was %G%.
38000426 The center point and start point define a zero radius.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_curve_2d_circle_v1 (p. 540) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 703
Construct Actions

sgm_const_curve_2d_circle_v2 (output_ids, radius_method, radius,


plane_list, radius_point_list,
center_point_list, project_points,
created_ids)

Description:
This function constructs circles in a two-dimensional space, defined by a set of center points and a
radius or a set of radii.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
INTEGER radius_method This value specifies the method used to define a
radius: 1 = scalar radius value, and 2 = point
location.
REAL radius This value specifies the radius if the input value
radius_method is equal to 1 and is ignored if the
input value radius_method is set to 2.
STRING plane_list[] This value specifies the list of planes in which to
construct the arcs.
STRING radius_point_list[] This value specifies the list of points defining the
radius of the circle if the input value
radius_method is set to 2 and is ignored if the input
value radius_method is set to 1.
STRING center_point_list[] This value specifies the list of points defining the
center point of the circle.
LOGICAL project_points This value specifies, when set to TRUE, that the
center points be projected onto the plane. When
this value is set to FALSE, the construction plane
will be translated to the center point location and
will still be parallel to the original plane.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
704 PCL Reference Manual
Construct Actions

Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of circle created and their IDs.
One circle will be created for each center point and radius input set. Each circle created will be displayed
in the graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000413 Zero length plane normal vector.
38000425 The Circle radius must be greater than zero. Invalid value input was %G%.
38000426 The center point and start point define a zero radius.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_curve_2d_circle_v1 (p. 540) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 705
Construct Actions

sgm_const_curve_2d_normal (output_ids, length,


curve_rev_direction, plane_list,
point_list, curve_list, created_ids)

Description:
This function constructs curves perpendicular to an existing set of curves and passing through a set
of points on the existing curves in a set of construction planes.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
REAL length This value specifies the length of the created
curves.
LOGICAL curve_rev_direction This value is set to TRUE if the curve direction is
to be flipped relative to the length.
STRING plane_list[] This value specifies the list of planes in which the
curves will be created.
STRING point_list[] This value specifies the list of points defining the
starting points of the perpendicular curves.
STRING curve_list[] This value specifies the list of curves from which
the new curves are perpendicular.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
One curve will be created for each plane, point, curve input set. Each curve created will be displayed in
the graphics window.
706 PCL Reference Manual
Construct Actions

This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000413 Zero length plane normal vector.
38000416 The input curve length of %G% is invalid. Input length value greater than zero.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see sgm_const_curve_2d_normal (p. 541) in the PCL Reference Manual Examples.

sgm_const_curve_2d_normal_v1 (output_ids, length,


curve_rev_direction, plane_list,
point_list, curve_list, project_points,
created_ids)

Description:
This function constructs curves perpendicular to an existing set of curves and passing through a set
of points on the existing curves in a set of construction planes.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
REAL length This value specifies the length of the created
curves.
LOGICAL curve_rev_direction This value is set to TRUE if the curve direction is
to be flipped relative to the length.
STRING plane_list[] This value specifies the list of planes in which the
curves will be created.
STRING point_list[] This value specifies the list of points defining the
starting points of the perpendicular curves.
STRING curve_list[] This value specifies the list of curves from which
the new curves are perpendicular.
Chapter 3: Geometry Functions 707
Construct Actions

LOGICAL project_points This value specifies, when set to TRUE, that the
curves be projected onto the plane. When this
value is set to FALSE, the construction plane will
be translated to the point location and will still be
parallel to the original plane.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
One curve will be created for each plane, point, curve input set. Each curve created will be displayed in
the graphics window.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000413 Zero length plane normal vector.
38000416 The input curve length of %G% is invalid. Input length value greater than zero.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_curve_2d_normal_v1 (p. 542) in the PCL Reference Manual Examples.
708 PCL Reference Manual
Construct Actions

sgm_const_curve_intersect (output_ids, intersect_option,


surface1_list, surface2_list,
geo_tolerance, int_tolerance,
created_ids)

Description:
This function constructs loft spline curves at the intersection between two sets of surfaces.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
INTEGER intersect_option This value specifies the intersection option: 1 =
intersect between two surfaces, and 2 = intersect
between a plane and a surface.
STRING surface1_list[] This value specifies the list of surfaces to be
compared for intersection with the surfaces given
in the input value surface2_list. If the input value
intersect_option is set to 2, this input value will
provide the definitions for the intersecting planes.
STRING surface2_list[] This value specifies the list of surfaces to be
compared for intersection with the surfaces or
planes provided by the input value surface1_list.
REAL geo_tolerance This value specifies the maximum deviation
tolerance used during the creation of the
intersection curve.
REAL int_tolerance This value specifies a tolerance parameter. The
algorithm creates all points along the projected
curve so that the maximum distance lies between
them is the distance defined by this value.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
Chapter 3: Geometry Functions 709
Construct Actions

Remarks:

This function displays a message listing the number of curves created and their IDs.
One curve per intersection will be created for each surface input set. Each curve created will be displayed
in the graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000535 No intersections found between surface(s) %A% and surface(s) %A%.


38000003 No blob provided.
38000413 Zero length plane normal vector.
38000414 Invalid curve intersection method. Must be 1 or 2. Try again.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:
Please see sgm_const_curve_intersect (p. 543) in the PCL Reference Manual Examples.

sgm_const_curve_intersect_plane (output_ids, length, plane1_list,


plane2_list, created_ids)

Description:
This function constructs finite length curves at the intersection of two planes.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
REAL length This value specifies the length of the curve.
STRING plane1_list[] This value specifies the list of planes to be
compared for intersection with the planes given in
the input value plane2_list.
STRING plane2_list[] This value specifies the list of planes to be
compared for intersection with the planes provided
by the input value plane1_list.
710 PCL Reference Manual
Construct Actions

Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
This function displays a message listing the number of curves created and their IDs.
One curve per intersection will be created for each plane input set. Each curve created will be displayed
in the graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000535 No intersections found between plane(s) %A% and plane(s) %A%.


38000003 No blob provided.
38000413 Zero length plane normal vector.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:
None.
Chapter 3: Geometry Functions 711
Construct Actions

sgm_const_curve_intersect_2pln (output_ids, length, plane1_list,


plane2_list, plane3_list, created_ids)

Description:
This function constructs finite length curves from the intersection of two planes with an option to
define the starting point of the curve at a specified point where the three input planes intersect.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
REAL length This values specifies the length of the curve.
STRING plane1_list[] This value specifies the list of planes to be
compared for intersection with the planes given in
the input value plane2_list.
STRING plane2_list[] This valu/nee specifies the list of planes to be
compared for intersection with the planes provided
by the input value plane1_list.
STRING plane3_list[] This value specifies the list of planes to be
compared for intersection with the planes provided
by the input value plane1_list and plane2_list. This
creates the intersection point for the start point of
the curve.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
One curve per intersection will be created for each plane input set. Each curve created will be displayed
in the graphics window.
712 PCL Reference Manual
Construct Actions

This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000535 No intersections found between plane(s) %A% and plane(s) %A%.


38000003 No blob provided.
38000413 Zero length plane normal vector.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:

None.

sgm_const_curve_manifold_2point (output_ids, surface_list,


point1_list, point2_list,
created_ids)

Description:
This function constructs curves on a set of surfaces between two sets of points.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING surface_list[] This value specifies the list of surfaces to manifold
the curves onto.
STRING point1_list[] This value specifies the list of points defining the
starting points of the curves on the surfaces.
STRING point2_list[] This value specifies the list of points defining the
end points of the curves on the surfaces.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Chapter 3: Geometry Functions 713
Construct Actions

Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
One curve will be created for each surface, point input set. Each curve created will be displayed in the
graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000450 Unable to calculate a point on the curve.
38000489 Unable to create a curve manifolded to the surface between the two
input points.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_curve_manifold_2point (p. 545) in the PCL Reference Manual Examples.
714 PCL Reference Manual
Construct Actions

sgm_const_curve_manifold_npoint (output_ids, surface, point_list,


created_ids)

Description:
This function constructs spline curves through a number of points manifolded onto a set of surfaces.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING surface[] This value specifies the surfaces to manifold the
curves onto.
STRING point_list[] This value specifies the list of points through
which the spline curves will be fitted.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
One curve will be created for each surface, point input set. Each curve created will be displayed in the
graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000301 There must be at least two points as input. The invalid value input was %A%.
38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
Chapter 3: Geometry Functions 715
Construct Actions

38000489 Unable to create a curve manifolded to the surface between the two input points.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_curve_manifold_npoint (p. 546) in the PCL Reference Manual Examples.
716 PCL Reference Manual
Construct Actions

sgm_const_curve_offset (output_ids, od_flag, op_method, dist1,


param1, dist2, param2, ncopies,
vector_list, curve_list, created_labels)

Description:
This function will create constant or variable offset curves from other curves. It should be noted that
while nonplanar curves could be specified, the offset will occur in the least-squares plane of the input
curve. If the input curve is a straight line, then a direction vector is required.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
INTEGER od_flag This value specifies the offset distance flag;

1 = Single value offset, constant distance

2 = Offset distance varying linearly


LOGICAL op_method This value specifies the offset parametrization
method;

=True; function of parameter value

=False; function of arc length


REAL dist1 This value specifies the start offset distance.
REAL param1 This value specifies the arc length or parameter
value, depending on op_method, of first offset
distance. (only used if od_flag = 2)
REAL dist2 This value specifies the end offset distance.
REAL param2 This value specifies the arc length or parameter
value, depending on op_method, of second offset
distance. (only used if od_flag = 2)
INTEGER ncopies This value specified the number of copies to make
of the offset curve.
STRING vector_list[] This value specifies the direction vector if the input
curve is a straight line.
STRING curve_list[] This value specifies the input curve list to create
the offset curve(s) from.
Output:
Chapter 3: Geometry Functions 717
Construct Actions

STRING created_labels[VIRTUAL] This value returns a description of the created


curve identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output value created_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the solid identifiers that are stored in the database and displayed in a viewport.
Example:

None.

sgm_const_curve_project (output_ids, curve_list, surface_list,


delete_original, project_method,
vector, coord_frame,
projection_tolerance, created_ids)

Description:
This function constructs curves on a set of surfaces by projecting an existing set of curves along a
projection vector onto a set of surfaces.
Input:
STRING output_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING curve_list[] This value specifies the list of curves to project
onto the list of surfaces.
STRING surface_list[] This value specifies the list of surfaces onto which
the curves are to be projected.
LOGICAL delete_original This value is set to TRUE if the original curves are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
718 PCL Reference Manual
Construct Actions

INTEGER project_method This value specifies the method of defining the


projection vector: 1 = the curves to be projected lie
in a plane and it is desired to project the curves
normal to this plane, 2 = the direction of projection
is normal to the surface at the point of closest
approach to the curve, 3 = the direction of
projection is to be given by a vector, and 4 = the
direction of projection is the view vector.
STRING vector[] This value specifies the projection vector.
STRING coord_frame[] This value specifies the coordinate frame for the
projection vector.
REAL projection_tolerance This value specifies a tolerance parameter. The
algorithm creates all curves along the projected
surface so that the maximum distance lies between
them is the distance defined by this value.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
Each curve created will be displayed in the graphics window.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


38000412 Negating the View Vector coordinates and trying again...

This function can display a warning popup message form with the following message:

38000415 Skipping zero length Curve %I%.


Chapter 3: Geometry Functions 719
Construct Actions

This function can display a fatal popup message form with the following messages:

1000540 The projection vector has zero length.


38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
38000488 Unable to manifold the curve(s) to the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_curve_project (p. 547) in the PCL Reference Manual Examples.
720 PCL Reference Manual
Construct Actions

sgm_const_plane_2vec (output_ids, vector1_list, vector2_list,


created_ids)

Description:
This function constructs a plane by the cross product of two vectors.
Input:
STRING output_ids[] This value specifies the plane ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of plane IDs.
STRING vector1_list[] This value specifies the first list of vectors.
STRING vector2_list[] This value specifies the second list of vectors.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This function can display an information popup message form with the following messages:
1000040 Duplicate %A% was not created at users request
This function can display a fatal popup message form with the following messages:
10000311 No intersections found between %A% and %A%.
38000845 Unable to acquire %I% words of virtual memory.

sgm_const_plane_3point (output_ids, point1_list, point2_list,


point3_list, created_ids)

Description:
This function creates planes through three sets of points.
Input:
STRING output_ids[] This value specifies the plane ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of plane IDs.
STRING point1_list[] This value specifies the first set of points through
which the planes will pass.
Chapter 3: Geometry Functions 721
Construct Actions

STRING point2_list[] This value specifies the second set of points


through which the planes will pass.
STRING point3_list[] This value specifies the third set of points through
which the planes will pass.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of planes created and their IDs.
One plane will be created for each point set. Each plane will be displayed in the graphics window as it is
created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

38000423 The three points specified are nearly collinear.


38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_plane_3point (p. 549) in the PCL Reference Manual Examples.
722 PCL Reference Manual
Construct Actions

sgm_const_plane_curve (output_ids, point_option, curve_list,


point_list, u_position, created_ids)

Description:
This function creates planes normal to a set of curves at a set of points on the curves.
Input:
STRING output_ids[] This value specifies the plane ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of plane IDs.
INTEGER point_option This value specifies the point type: 1 = parametric
position, and 2 = point.
STRING curve_list[] This value specifies the curves which the planes
will be normal to.
STRING point_list[] This value specifies the points on the curves
defining the plane centroids, if the input value
point_option is set to 2. If the input value
point_option is set to 1, this value is ignored.
REAL u_position This value specifies the parametric position of the
point, if the input value point_option is set to 1. If
the input value point_option is set to 2, this value
is ignored.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of planes created and their IDs.
One plane will be created for each point. Each plane will be displayed in the graphics window as it
is created.
Chapter 3: Geometry Functions 723
Construct Actions

This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

38000413 Zero length plane normal vector.


38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_plane_curve (p. 550) in the PCL Reference Manual Examples.

sgm_const_plane_leastsq (output_ids, leastsq_option, entity_list,


created_ids)

Description:
This function creates least squares planes from a set of points, curves, or surfaces.
Input:
STRING output_ids[] This value specifies the plane ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of plane IDs.
INTEGER leastsq_option This value specifies the least squares option: 1 =
from a set of points, 2 = from a curve, and 3 = from
a surface.
STRING entity_list[] This value specifies the set of points, curves, or
surfaces from which the planes will be created.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
724 PCL Reference Manual
Construct Actions

Remarks:

This function displays a message listing the number of planes created and their IDs.
One plane will be created for each set of points, curve or surface. Each plane will be displayed in the
graphics window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000744 Specified Least Squares Method value of %I% is invalid. Valid values are 1, 2, or 3.
38000438 No curves in the curve list define a unique least squares plane. Select a curve that is not
straight.
38000448 The points in the point list do not define a unique least squares plane. Select points that
are not colinear.
38000449 No surfaces in the surface list define a unique least squares plane. Select a surface with
a positive area.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_plane_leastsq (p. 551) in the PCL Reference Manual Examples.

sgm_const_plane_offset (output_ids, offset_list, nrepeat,


plane_list, created_ids)

Description:
This function constructs “nrepeat” planes from offsetting a plane.
Input:
STRING output_ids[] This value specifies the plane ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of plane IDs.
STRING offset_list[] This value specifies the list of offset values along
the vector normal defining the location of the
plane.
INTEGER nrepeat This value specifies the number of planes to offset.
Chapter 3: Geometry Functions 725
Construct Actions

STRING plane_list[] This value specifies the list of planes which will be
used to offset from.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This function can display an information popup message form with the following messages:
1000040 Duplicate %A% was not created at users request
This function can display a fatal popup message form with the following messages:
38000413 Zero length plane normal vector.
38000845 Unable to acquire %I% words of virtual memory.
726 PCL Reference Manual
Construct Actions

sgm_const_plane_plane (output_ids, plane_list, vector_list, created_ids)

Description:
This function constructs a plane which is normal to an existing plane and also contains a specified
vector.
Input:
STRING output_ids[] This value specifies the plane ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of plane IDs.
STRING plane_list[] This value specifies the list of planes which will be
normal to the new plane.
STRING vector_list[] This value specifies the list of vectors which will
lie in the new plane.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
This function can display an information popup message form with the following messages:
1000040 Duplicate %A% was not created at users request
This function can display a fatal popup message form with the following messages:
38000157 Selected vector is normal to selected plane --Cannot construct unique normal
plane.
38000845 Unable to acquire %I% words of virtual memory.

sgm_const_plane_point_vector (output_ids, point_list, vector_list,


created_ids)

Description:
This function creates planes from a set of points and vectors.
Input:
STRING output_ids[] This value specifies the plane ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of plane IDs.
Chapter 3: Geometry Functions 727
Construct Actions

STRING point_list[] This value specifies the point defining the location
at which to create the planes.
STRING vector_list[] This value specifies the vector normals from which
the planes will be created.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of planes created and their IDs.
One plane will be created for each point,vector set. Each plane will be displayed in the graphics window
as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
38000413 Zero length plane normal vector.
38000845 Unable to acquire %I% words of virtual memory.

Example:

None.
728 PCL Reference Manual
Construct Actions

sgm_const_plane_tangent (output_ids, point_option, surface_list,


point_list, uv_position, created_ids)

Description:
This function creates planes that are tangent to a set of surfaces at a set of points on the surfaces.
Input:
STRING output_ids[] This value specifies the plane ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of plane IDs.
INTEGER point_option This value specifies the point type: 1 = parametric
position, and 2 = point.
STRING surface_list[] This value specifies the set of surfaces from which
the tangential planes will created.
STRING point_list[] This value specifies the point on the surface
defining the plane centroid if the input value
point_option is set to 2. If the input value
point_option is set to 1, this value is ignored.
REAL uv_position(2) This value specifies the u and v parametric
positions of the plane centroids if the input value
point_option is set to 1. If the input value
point_option is set to 2, this value is ignored.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of planes created and their IDs.
One plane will be created for each point. Each plane will be displayed in the graphics window as it is
created.
Chapter 3: Geometry Functions 729
Construct Actions

This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

38000413 Zero length plane normal vector.


38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_plane_tangent (p. 553) in the PCL Reference Manual Examples.
730 PCL Reference Manual
Construct Actions

sgm_const_plane_interpolate (output_ids, curve_list, space_ratio,


num_planes, method, created_ids)

Description:
This function creates planes by interpolation along a set of curves. The normals of the generated
planes are along the curve tangents at the points of intersection between the planes and the curves.
Input:
STRING output_ids[] This value specifies the plane ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of plane IDs.
STRING curve_list[] This value specifies the set of curves from which
the planes are created.
REAL space_ratio This value specifies the space ratio of the
interpolation operation, if the interpolating is non-
uniform.
INTEGER num_planes This value specifies the number of planes per curve
to be created.
INTEGER method This value specifies the spacing for interpolating
planes based on: 1 = curve arc length or 2 = curve
parametric value.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of planes created and their IDs.
The number of planes defined by the input value num_planes will be created for each curve. Each plane
will be displayed in the graphics window as it is created.
Chapter 3: Geometry Functions 731
Construct Actions

This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1 and
2.
1000951 There must be at least two planes as input. The invalid value input was %A%.
2001070 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_plane_interpolate (p. 554) in the PCL Reference Manual Examples.
732 PCL Reference Manual
Construct Actions

sgm_const_plane_vector_normal (output_ids, offset_list,


vector_list, created_ids)

Description:
This function creates planes from a set of vector normals.
Input:
STRING output_ids[] This value specifies the plane ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of plane IDs.
STRING offset_list[] This value specifies the offset value from the
vector normal defining the location at which to
create the planes.
STRING vector_list[] This value specifies the vector normals from which
the planes will be created.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of planes created and their IDs.
One plane will be created for each vector. Each plane will be displayed in the graphics window as it is
created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:
Chapter 3: Geometry Functions 733
Construct Actions

1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
38000413 Zero length plane normal vector.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_plane_vector_normal (p. 555) in the PCL Reference Manual Examples.

sgm_const_solid_2surface (output_ids, surface1_list,


surface2_list, created_ids)

Description:
This function constructs solids from one surface to another.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING surface1_list[] This value specifies the first set of surfaces for the
start of each solid.
STRING surface2_list[] This value specifies the second set of surfaces for
the end of each solid.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of solids created and their IDs.
One solid will be created for each pair of input surfaces. Each solid will be displayed in the graphics
window as it is created.
This function can display an information popup message form with the following message:
734 PCL Reference Manual
Construct Actions

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000452 Unable to calculate a point on the solid.
38000493 The Surface interpolating Solid builder failed to create the evaluator table. Solid
was not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_solid_2surface (p. 557) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 735
Construct Actions

sgm_const_solid_2surface_v1 (output_ids, auto_align, surface1_list,


surface2_list, created_ids)

Description:
This function creates tri-parametric solids from one set of surfaces to another.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
LOGICAL auto_align This value specifies, when set to TRUE, that the
surfaces used to construct the solids should be
automatically aligned.
STRING surface1_list[] This value specifies the first set of surfaces for the
start of each solid.
STRING surface2_list[] This value specifies the second set of surfaces for
the end of each solid.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of solids created and their IDs.
One solid will be created for each pair of input surfaces. Each solid will be displayed in the graphics
window as it is created.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:
736 PCL Reference Manual
Construct Actions

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000147 Consecutive degenerate faces must have their degenerate edges topologically
aligned in order to create a valid solid.
38000452 Unable to calculate a point on the solid.
38000493 The Surface interpolating Solid builder failed to create the evaluator table. Solid was
not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_solid_2surface_v1 (p. 558) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 737
Construct Actions

sgm_const_solid_3surface_v1 (output_ids, param_method,


surface1_list, surface2_list,
surface3_list, created_ids)

Description:
This function constructs solids which from three sets of surfaces.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
INTEGER param_method This value specifies the parameterization method
to use: 1 = chord length parameterization, and 2 =
uniform parameterization.
STRING surface1_list[] This value specifies the first set of surfaces for the
start of each solid.
STRING surface2_list[] This value specifies the second set of surfaces for
the middle of each solid.
STRING surface3_list[] This value specifies the third set of surfaces for the
end of each solid.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of solids created and their IDs.
One solid will be created for each set of three input surfaces. Each solid will be displayed in the graphics
window as it is created.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.


738 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000452 Unable to calculate a point on the solid.
38000493 The Surface interpolating Solid builder failed to create the evaluator table. Solid was
not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_solid_3surface_v1 (p. 559) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 739
Construct Actions

sgm_const_solid_3surface_v2 (output_ids, auto_align,


param_method, surface1_list,
surface2_list, surface3_list,
created_ids)

Description:
This function constructs solids which from three sets of surfaces.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
LOGICAL auto_align This value specifies, when set to TRUE, that the
surfaces used to construct the solids should be
automatically aligned.
INTEGER param_method This value specifies the parameterization method
to use: 1 = chord length parameterization, and 2 =
uniform parameterization.
STRING surface1_list[] This value specifies the first set of surfaces.
STRING surface2_list[] This value specifies the second set of surfaces.
STRING surface3_list[] This value specifies the third set of surfaces.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of solids created and their IDs.
One solid will be created for each pair of input surfaces. Each solid will be displayed in the graphics
window as it is created.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.


740 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000147 Consecutive degenerate faces must have their degenerate edges topologically aligned
in order to create a valid solid.
38000452 Unable to calculate a point on the solid.
38000493 The Surface interpolating Solid builder failed to create the evaluator table. Solid was
not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_solid_3surface_v2 (p. 560) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 741
Construct Actions

sgm_const_solid_4surface_v1 (output_ids, param_method,


surface1_list, surface2_list, surface3_list,
surface4_list, created_ids)

Description:
This function constructs solids which pass through a set of four surfaces.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
INTEGER param_method This value specifies the parameterization method
to use: 1 = chord length parameterization, and 2 =
uniform parameterization.
STRING surface1_list[] This value specifies the first set of surfaces for the
start of each solid.
STRING surface2_list[] This value specifies the second set of surfaces for
the 1/3 point of each solid.
STRING surface3_list[] This value specifies the third set of surfaces for the
2/3 point of each solid.
STRING surface4_list[] This value specifies the fourth set of surfaces for
the end of each solid.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of solids created and their IDs.
One solid will be created for each set of four input surfaces. Each solid will be displayed in the graphics
window as it is created.
742 PCL Reference Manual
Construct Actions

This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000452 Unable to calculate a point on the solid.
38000493 The Surface interpolating Solid builder failed to create the evaluator table. Solid was
not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_solid_4surface_v1 (p. 562) in the PCL Reference Manual Examples.

sgm_const_solid_4surface_v2 (output_ids, auto_align,


param_method, surface1_list,
surface2_list, surface3_list,
surface4_list, created_ids)

Description:
This function creates tri-parametric solids from four surfaces.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
LOGICAL auto_align This value specifies, when set to TRUE, that the
surfaces used to construct the solids should be
automatically aligned.
INTEGER param_method This value specifies the parameterization method
to use: 1 = chord length parameterization, and 2 =
uniform parameterization.
STRING surface1_list[] This value specifies the first set of surfaces.
STRING surface2_list[] This value specifies the second set of surfaces.
STRING surface3_list[] This value specifies the third set of surfaces.
STRING surface4_list[] This value specifies the fourth set of surfaces.
Chapter 3: Geometry Functions 743
Construct Actions

Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of solids created and their IDs.
One solid will be created for each pair of input surfaces. Each solid will be displayed in the graphics
window as it is created.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000147 Consecutive degenerate faces must have their degenerate edges topologically
aligned in order to create a valid solid.
38000452 Unable to calculate a point on the solid.
38000493 The Surface interpolating Solid builder failed to create the evaluator table. Solid was
not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_solid_4surface_v2 (p. 563) in the PCL Reference Manual Examples.
744 PCL Reference Manual
Construct Actions

sgm_const_solid_5face (output_ids, surface1_list,


surface2_list, surface3_list,
surface4_list, surface5_list,
created_ids)

Description:
This function constructs wedge shaped solids from five sets of surfaces forming their exterior faces.
The surfaces can be in any order and have any parametric orientation but they must define a valid
exterior face of a solid.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING surface1_list[] This value specifies the first set of surfaces
defining face one of each solid.
STRING surface2_list[] This value specifies the second set of surfaces
defining face two of each solid.
STRING surface3_list[] This value specifies the third set of surfaces
defining face three of each solid.
STRING surface4_list[] This value specifies the fourth set of surfaces
defining face four of each solid.
STRING surface5_list[] This value specifies the fifth set of surfaces
defining face five of each solid.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of solids created and their IDs.
One solid will be created for each set of input surfaces. Each solid will be displayed in the graphics
window as it is created.
Chapter 3: Geometry Functions 745
Construct Actions

This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000146 The 5 face option requires that the opposing degenerate surfaces have their
degenerate edges aligned so that the degenerate solid face may be formed.
38000406 The topology of input surfaces is inappropriate for the sweep/solid/face option.
38000411 The Construct Face Solid builder failed to create the evaluator table. Solid was not
created.
38000452 Unable to calculate a point on the solid.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_solid_5face (p. 565) in the PCL Reference Manual Examples.
746 PCL Reference Manual
Construct Actions

sgm_const_solid_6face (output_ids, surface1_list,


surface2_list, surface3_list,
surface4_list, surface5_list,
surface6_list, created_ids)

Description:
This function constructs solids from six sets of surfaces forming their exterior faces. The surfaces
can be in any order and have any parametric orientation but they must define a valid exterior face
of a solid.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING surface1_list[] This value specifies the first set of surfaces
defining face one of each solid.
STRING surface2_list[] This value specifies the second set of surfaces
defining face two of each solid.
STRING surface3_list[] This value specifies the third set of surfaces
defining face three of each solid.
STRING surface4_list[] This value specifies the fourth set of surfaces
defining face four of each solid.
STRING surface5_list[] This value specifies the fifth set of surfaces
defining face five of each solid.
STRING surface6_list[] This value specifies the sixth set of surfaces
defining face six of each solid.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message
in the message database.

Remarks:

This function displays a message listing the number of solids created and their IDs.
Chapter 3: Geometry Functions 747
Construct Actions

One solid will be created for each set of input surfaces. Each solid will be displayed in the graphics
window as it is created.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000406 The topology of input surfaces is inappropriate for the sweep/solid/face option.
38000411 The Construct Face Solid builder failed to create the evaluator table. Solid was not
created.
38000452 Unable to calculate a point on the solid.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_solid_6face (p. 566) in the PCL Reference Manual Examples.
748 PCL Reference Manual
Construct Actions

sgm_sweep_solid_arc (output_labels, axis, angle, offset,


coord_frame, surface, created_labels)

Description:
This function creates solids be sweeping surfaces about a specified axis.
Input:
STRING output_labels[] This value specifies the labels of the solids to be
created.
STRING axis[] This value specifies the axis of rotation.
REAL angle This value specifies the total angle to sweep each
surface.
REAL offset This value specifies the initial offset angle.
STRING coord_frame[] This value specifies the reference coordinate
frame.
STRING surface[] This value specifies the list of surfaces to be swept.
Output:
STRING created_labels[VIRTUAL] This value returns the labels of the created solids.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
Chapter 3: Geometry Functions 749
Construct Actions

38000003 No blob provided.


38000407 The Sweep Arc Solid builder failed to create the evaluator table. Solid was not
created.
38000427 The surface type used for this Action, Object, Method function is invalid. It must
be of a type that when created, has the default color of Green.
38000452 Unable to calculate a point on the solid.
38000492 Zero length vector in Solid %I% construction.
38000845 Unable to acquire %I% words of virtual memory.

Remarks:

This function displays the number of solids created and their labels.
One solid will be created for each surface. Each solid will be displayed in the graphics window.
Example:

Please see sgm_sweep_solid_arc (p. 568) in the PCL Reference Manual Examples.

sgm_const_solid_decompose (output_ids, cubic, solid_face1_list,


solid_face2_list, vertex1_list,
vertex2_list, vertex3_list, vertex4_list,
vertex5_list, vertex6_list, vertex7_list,
vertex8_list, created_ids)

Description:
This function creates hpats or solids between two sets of surfaces by decomposing two opposing solid
faces.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
LOGICAL cubic This value is set to TRUE if the solid is to be a tri-
parametric cubic hyperpatch and to FALSE if it is
to be a simple solid.
STRING solid_face1_list[] This value specifies the first set of solid faces to
decompose.
STRING solid_face2_list[] This value specifies the second set of solid faces to
decompose.
750 PCL Reference Manual
Construct Actions

STRING vertex1_list[] This value specifies the first set of vertices for the
first face of the solids.
STRING vertex2_list[] This value specifies the second set of vertices for
the first face of the solids.
STRING vertex3_list[] This value specifies the third set of vertices for the
first face of the solids.
STRING vertex4_list[] This value specifies the forth set of vertices for the
first face of the solids.
STRING vertex5_list[] This value specifies the first set of vertices for the
second face of the solids.
STRING vertex6_list[] This value specifies the second set of vertices for
the second face of the solids.
STRING vertex7_list[] This value specifies the third set of vertices for the
second face of the solids.
STRING vertex8_list[] This value specifies the forth set of vertices for the
second face of the solids.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of solids created and their IDs.
One solid will be created for each face pair. Each solid will be displayed in the graphics window as it is
created.
This function can display a fatal popup message form with the following message:

38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_solid_decompose (p. 569) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 751
Construct Actions

sgm_const_solid_extrude (output_ids, delta, scale, angle, origin,


coord_frame, surface_list, created_ids)

Description:
This function creates tri-parametric solids by moving a surface through space along a defined axis
while simultaneously scaling and rotating the created solids.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING delta[] This value specifies a translation vector defining
the direction and magnitude of the extrusion
operation.
REAL scale This value specifies the scaling factor.
REAL angle This value specifies the angle to rotate the surface
around the translation vector during extrusion.
STRING origin[] This value specifies the point of origin of the
extrusion.
STRING coord_frame[] This value specifies the reference coordinate
frame.
STRING surface_list[] This value specifies the list of surfaces to be
extruded.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
752 PCL Reference Manual
Construct Actions

14000211 LpSublistAttributeGet: Surface evaluator error.


14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
38000003 No blob provided.
38000409 The Sweep Extrude Solid builder failed to create the evaluator table. Solid was not
created.
38000427 The surface type used for this Action, Object, Method function is invalid. It must
be of a type that when created, has the default color of Green.
38000452 Unable to calculate a point on the solid.
38000845 Unable to acquire %I% words of virtual memory.

Remarks:

This function displays a message listing the number of solids created and their IDs.
One solid will be created for each input surface. Each solid will be displayed in the graphics window.
Example:

Please see sgm_const_solid_extrude (p. 571) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 753
Construct Actions

sgm_const_solid_glide (output_ids, scale, glide_option,


director_surface, base_surface,
created_ids)

Description:
This function creates tri-parametric solids by moving director surfaces along paths defined by a set
of base surfaces translated to the origin of the director surface.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
REAL scale This value specifies the scaling factor.
INTEGER glide_option This value specifies the glide option to use: 0 =
normal project glide option, and 1 = fixed logic
option.
STRING director_surface[] This value specifies the list of surfaces along
which the base surfaces will be swept.
STRING base_surface[] This value specifies the list of surfaces that will be
swept along the director surfaces to form the
solids.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
754 PCL Reference Manual
Construct Actions

14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.


14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
38000003 No blob provided.
38000408 The Sweep Glide Solid builder failed to create the evaluator table. Solid was not
created.
38000427 The surface type used for this Action, Object, Method function is invalid. It must
be of a type that when created, has the default color of Green.
38000452 Unable to calculate a point on the solid.
38000845 Unable to acquire %I% words of virtual memory.

Remarks:

This function displays a message listing the number of solids created and their IDs.
One solid will be created for each set of base_surface and director_surface. The number of solids created
are set by the input value base_surface multiplied by the input value director_surface. Each solid will be
displayed in the graphics window.
Example:

Please see sgm_const_solid_glide (p. 572) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 755
Construct Actions

sgm_const_solid_normal (output_ids, thickness1, thickness2, thickness3,


thickness4, normal_rev_direction, surface_list,
created_ids)

Description:
This function creates tri-parametric solids which are defined by projecting a distance along a unique
normal vector given by the thickness function, which itself has a unique value at each point on the
base surface The offset may be define a constant or a linear taper.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING thickness1[] This value specifies the constant thickness or the
first thickness at u=0; v=0 for the linear taper.
STRING thickness2[] This value is set to NULL if a constant thickness
has been specified, otherwise it is the second
thickness at u=0; v=1 for the linear taper.
STRING thickness3[] This value is set to NULL if a constant thickness
has been specified, otherwise it is the third
thickness at u=1; v=1 for the linear taper.
STRING thickness4[] This value is set to NULL if a constant thickness
has been specified, otherwise it is the fourth
thickness at u=1; v=0 for the linear taper.
LOGICAL normal_rev_direction This value is set to TRUE if the normal is to be
flipped or reversed.
STRING surface_list[] This value specifies the list of surfaces to be swept
using the normal option.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
756 PCL Reference Manual
Construct Actions

14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.


14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
16000301 Blank string encountered.
16000302 %A% does not contain enough arguments, looking for %I% arguments.
16000303 %A% has too many arguments, looking for %I% arguments.
16000305 %A% is not a real.
38000003 No blob provided.
38000410 The Sweep Normal Solid builder failed to create the evaluator table. Solid was not
created.
38000427 The surface type used for this Action, Object, Method function is invalid. It must
be of a type that when created, has the default color of Green.
38000452 Unable to calculate a point on the solid.
38000845 Unable to acquire %I% words of virtual memory.

Remarks:

One solid will be created for each surface. Each solid will be displayed in the graphics window.
Example:

Please see sgm_const_solid_normal (p. 574) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 757
Construct Actions

sgm_const_solid_nsurface_v1 (output_ids, param_method,


surface_list, created_ids)

Description:
This function constructs a tri-parametric solid which passes through a set of surfaces.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
INTEGER param_method This value specifies the parameterization method
to use: 1 = chord length parameterization, and 2 =
uniform parameterization.
STRING surface_list[] This value specifies the set of surfaces from which
the solid will be constructed.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of solids created and their IDs.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000452 Unable to calculate a point on the solid.
758 PCL Reference Manual
Construct Actions

38000493 The Surface interpolating Solid builder failed to create the evaluator table. Solid
was not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_solid_nsurface_v1 (p. 575) in the PCL Reference Manual Examples.

sgm_const_solid_nsurface_v2 (output_ids, auto_align, param_method,


surface_list, created_ids)

Description:
This function constructs a tri-parametric solid which passes through a set of surfaces.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
LOGICAL auto_align This value specifies, when set to TRUE, that the
surfaces used to construct the solid should be
automatically aligned.
INTEGER param_method This value specifies the parameterization method
to use: 1 = chord length parameterization, and 2 =
uniform parameterization.
STRING surface_list[] This value specifies the set of surfaces from which
the solid will be constructed.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of solids created and their IDs.
This function is used in the implementation of the form that is displayed when “Geometry”, “Create”,
“Solid”, “Surface”, with the “Option:” set to “N-Surfaces” is selected from the switch bar.
Chapter 3: Geometry Functions 759
Construct Actions

This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000147 Consecutive degenerate faces must have their degenerate edges topologically aligned
in order to create a valid solid.
38000452 Unable to calculate a point on the solid.
38000493 The Surface interpolating Solid builder failed to create the evaluator table. Solid was
not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_solid_nsurface_v2 (p. 576) in the PCL Reference Manual Examples.
760 PCL Reference Manual
Construct Actions

sgm_const_solid_revolve (output_ids, axis, angle, offset,


coord_frame, surface_list, created_ids)

Description:
This function creates a solid of revolution by revolving a set of surfaces about an axis of rotation.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING axis[] This value specifies the axis of rotation.
REAL angle This value specifies the total angle to revolve each
surface in degrees.
REAL offset This value specifies the initial offset angle in
degrees.
STRING coord_frame[] This value specifies the reference coordinate
frame.
STRING surface_list[] This value specifies the list of surfaces to be
revolved.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
Chapter 3: Geometry Functions 761
Construct Actions

14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
38000003 No blob provided.
38000407 The Sweep Arc Solid builder failed to create the evaluator table. Solid was not
created.
38000427 The surface type used for this Action, Object, Method function is invalid. It must
be of a type that when created, has the default color of Green.
38000452 Unable to calculate a point on the solid.
38000492 Zero length vector in Solid %I% construction.
38000845 Unable to acquire %I% words of virtual memory.

Remarks:

This function displays a message listing the number of solids created and their IDs.
Each solid will be displayed in the graphics window.
Example:

Please see sgm_const_solid_revolve (p. 577) in the PCL Reference Manual Examples.
762 PCL Reference Manual
Construct Actions

sgm_const_surface_2curve (output_ids, curve1_list, curve2_list,


created_ids)

Description:
This function constructs bi-parametric surfaces from two sets of curves.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING curve1_list[] This value specifies the first set of curves.
STRING curve2_list[] This value specifies the second set of curves.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
One ruled surface will be created for each pair of input curves. Each surface will be displayed in the
graphics window as it is created.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
Chapter 3: Geometry Functions 763
Construct Actions

38000494 The Curve interpolating Surface builder failed to create the evaluator table. Surface
was not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_surface_2curve (p. 578) in the PCL Reference Manual Examples.

sgm_const_surface_2curve_man (output_ids, curve1_list, curve2_list,


surface_list, object_surface,
created_ids)

Description:
This function creates manifold surfaces from two sets of curves and a set of surfaces.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING curve1_list[] This value specifies the first set of curves.
STRING curve2_list[] This value specifies the second set of curves.
STRING surface_list[] This value specifies the set of surfaces on which
manifold surface will be created.
LOGICAL object_surface This value is set to TRUE if the objects to be
created are parametric bicubic surfaces, or to
FALSE if the objects to be created are simply
trimmed surfaces.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
764 PCL Reference Manual
Construct Actions

One surface will be created for each set of input curves and surfaces. Each surface will be displayed in
the graphics window as it is created.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.


1000064 Overwrite of existing entity not permitted.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000118 An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121 Invalid format conversion flag specified for surface conversion.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000494 The Curve interpolating Surface builder failed to create the evaluator table. Surface
was not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_surface_2curve_man (p. 580) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 765
Construct Actions

sgm_const_surface_3curve_v1 (output_ids, param_method,


curve1_list, curve2_list, curve3_list,
created_ids)

Description:
This function constructs bi-parametric surfaces from three sets of curves.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
INTEGER param_method This value specifies the parameterization method
to use: 1 = chord length parameterization, and 2 =
uniform parameterization.
STRING curve1_list[] This value specifies the first set of curves.
STRING curve2_list[] This value specifies the second set of curves.
STRING curve3_list[] This value specifies the third set of curves.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
One bi-parametric surface will be created for each set of three input curves. Each surface will be
displayed in the graphics window as it is created.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.


766 PCL Reference Manual
Construct Actions

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000494 The Curve interpolating Surface builder failed to create the evaluator table. Surface
was not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_surface_3curve_v1 (p. 581) in the PCL Reference Manual Examples.

sgm_const_surface_4curve_v1 (output_ids, param_method,


curve1_list, curve2_list, curve3_list,
curve4_list, created_ids)

Description:
This function constructs bi-parametric surfaces from four sets of curves.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
INTEGER param_method This value specifies the parameterization method
to use: 1 = chord length parameterization, and 2 =
uniform parameterization.
STRING curve1_list[] This value specifies the first set of curves.
STRING curve2_list[] This value specifies the second set of curves.
STRING curve3_list[] This value specifies the third set of curves.
STRING curve4_list[] This value specifies the fourth set of curves.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Chapter 3: Geometry Functions 767
Construct Actions

Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
One bi-parametric surface will be created for each set of four input curves. Each surface will be displayed
in the graphics window as it is created.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1 and
2.
38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000494 The Curve interpolating Surface builder failed to create the evaluator table. Surface
was not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_surface_4curve_v1 (p. 583) in the PCL Reference Manual Examples.
768 PCL Reference Manual
Construct Actions

sgm_const_surface_ncurve_v1 (output_ids, param_method, curve_list,


created_ids)

Description:
This function constructs a bi-parametric surface from a set of curves.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
INTEGER param_method This value specifies the parameterization method
to use: 1 = chord length parameterization, and 2 =
uniform parameterization.
STRING curve_list[] This value specifies the list of curves used to define
the surface.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
One bi-parametric surface will be created from the input curves. Each bi-parametric surface will be
displayed in the graphics window as it is created.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
38000003 No blob provided.
Chapter 3: Geometry Functions 769
Construct Actions

38000450 Unable to calculate a point on the curve.


38000451 Unable to calculate a point on the surface.
38000494 The Curve interpolating Surface builder failed to create the evaluator table. Surface
was not created.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_surface_ncurve_v1 (p. 584) in the PCL Reference Manual Examples.

sgm_const_surface_offset (output_ids, dist, ncopies, guide_surface,


surface_list, created_labels)

Description:
This function will create constant offset surfaces from other surfaces .
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
REAL dist This value specifies the distance by which the
surface is normally offset.
INTEGER ncopies This value specifies the number of copies of the
offset surface to make.
LOGICAL guide_surface This value specifies whether the first surface in the
surface list is to be used as a guide surface to define
the offset direction for all surfaces in the list.
STRING surface_list[] This value specifies the input surface list to create
the offset surface(s) from.
Output:
STRING created_labels[VIRTUAL] This value returns a description of the created
surface identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
770 PCL Reference Manual
Construct Actions

Remarks:

Space is internally allocated for the string returned by the output value created_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the solid identifiers that are stored in the database and displayed in a viewport.
Example:

None.

sgm_const_surface_extract (output_ids, solid_list, param_plane,


param_pos, created_ids)

Description:
This function constructs bi-parametric surfaces by extraction from a set of solids at a specified
parametric position and in a specified parametric direction.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING solid_list[] This value specifies the list of solids from which
surfaces will be extracted.
INTEGER param_plane This value specifies the constant parametric plane
in which to create the surface: 1 = constant U
plane, 2 = constant V plane, and 3 = constant W
plane.
REAL param_pos This value specifies the parametric position in the
given parametric plane from which to extract the
surface.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
Chapter 3: Geometry Functions 771
Construct Actions

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
One bi-parametric surface will be created for each parametric plane specified in each solid. Each bi-
parametric surface created will be displayed in the graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
1000705 Specified Parametric Plane value of %I% is invalid. Valid values are 1, 2, and 3.
38000003 No blob provided.
38000434 The solid type used for this Action, Object, Method function is invalid. It must be of
a type that when created, has the default color of Blue.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_surface_extract (p. 585) in the PCL Reference Manual Examples.

sgm_const_surface_edge (output_ids, curve1_list, curve2_list,


curve3_list, curve4_list, created_ids)

Description:
This function constructs bi-parametric surfaces from four sets of curves defining the boundaries of
the surfaces.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of surface IDs.
STRING curve1_list[] This value specifies the first set of curves.
STRING curve2_list[] This value specifies the second set of curves.
772 PCL Reference Manual
Construct Actions

STRING curve3_list[] This value specifies the third set of curves.


STRING curve4_list[] This value specifies the fourth set of curves.
Output:
STRING created_ids[VIRTUAL] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
One bi-parametric surface will be created for each set of four input curves. Each bi-parametric surface
will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000003 No blob provided.
38000402 The Surface Edge Surface builder failed to create the evaluator table. Surface was
not created.
38000403 Bounding Curves must form a closed loop. Surface was not created.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_const_surface_edge (p. 587) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 777
Disassemble Actions

Chapter 3: Geometry Functions

Disassemble Actions
PCL Reference Manual

This section is used to describe some of the functions used to implement the “Disassemble” actions.

sgm_disassemble_chain (chain_list, delete_original)

Description:
This function disassembles a set of chains into constituent curves.
Input:
STRING chain_list[] This value specifies the set of chains to be
disassembled.
LOGICAL delete_original This value is set to TRUE if the original chains are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
The number of curves created from each chain is a function of how the chain was created. Each curve
will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following messages:

1000201 %A% is not a recognized syntax for a Curve List.


38000470 Unable to load the curve into the database.
38000471 Curve %I% is not a chain.
38000805 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_disassemble_chain (p. 589) in the PCL Reference Manual Examples.
778 PCL Reference Manual
Disassemble Actions

sgm_disassemble_tsurf (surface_list, delete_original)

Description:
This function disassembles a set of trimmed surfaces into parent surfaces and edge curves.
Input:
STRING surface_list[] This value specifies the set of trimmed surfaces.
LOGICAL delete_original This value is set to TRUE if the original trimmed
surfaces are to be deleted. If this value is set to
FALSE, the original entities will not be deleted.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces and curves created and their IDs.
Each trimmed surface will be disassembled into a single surface and a number of curves that is a function
of how the trimmed surface was created. Each surface and curve will be displayed in the graphics window
as it is created.
This function can display a fatal popup message form with the following messages:

38000468 Surface %I% is not a general trimmed surface.


38000805 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_disassemble_tsurf (p. 590) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 779
Disassemble Actions

sgm_disassemble_solid (solid_list, delete_original, created_labels)

Description:
This function disassembles a set of solids into subordinate surface faces.
Input:
STRING solid_list[] This value specifies the list of solids to be
disassembled.
LOGICAL delete_original This value is set to TRUE if the original solids are to
be deleted. If this value is set to FALSE, the original
entities will not be deleted.
Output:
STRING created_labels[] This value returns the a list of the labels for the
created entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
8107002 Last command aborted.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
The number of surfaces created from each depends on the geometry of the solid. Each surface will be
displayed in the graphics window as it is created.
Example:

Please see sgm_disassemble_solid (p. 592) in the PCL Reference Manual Examples.
780 PCL Reference Manual
Associate Actions

Associate Actions
This section is used to describe some of the functions used to implement the “Associate” actions.

sgm_assoc_element_curve_v1 (element_list, geo_list, flag)

Description:
This function will associate finite element mesh beam elements to geometric curves.
Input:
STRING element_list[] This value specifies the list of elements to be used
for associating to the selected list of curves.
STRING geo_list[] This value specifies the list of geometry to which the
elements will be associated.
INTEGER flag This value specifies the actions the finite element
association should accomplish.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The input value flag can be set to either 8 or 9. A value of 8 indicates that a mesh definition is not created
on the curves to which elements must be associated. A value of 9 will create mesh definitions for each of
the selected curves that are successfully associated with an element.
Example:

To associate the unassociated nodes and elements in the database within geometric proximity to the
selected set of curves 1 through 10 :
sgm_assoc_element_curve_v1( ““, “Curve 1:10”, 9 )
To associate only specific elements (elements 1, 3 and 5 to 10) to curves 2 through 8:
sgm_assoc_element_curve_v1( “Elm 1 3 5:10“, “Curve 2:8”, 9 )
Chapter 3: Geometry Functions 781
Associate Actions

sgm_assoc_element_point_v1 (element_list, geo_list, flag)

Description:
This function will associate finite element mesh point elements to geometric points.
Input:
STRING element_list[] This value specifies the list of elements to be used
for associating to the selected list of points.
STRING geo_list[] This value specifies the list of geometry to which
the elements will be associated.
INTEGER flag This value specifies the actions the finite element
association should accomplish.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

If elements are being associated to points the input value flag must be set to 0.
Example:

To associate the unassociated nodes and elements in the database within geometric proximity to the
selected set of points 1 through 10 :
sgm_assoc_element_point_v1( ““, “Point 1:10”, 0 )
To associate only specific elements (elements 1, 3 and 5 to 10) to points 2 through 8:
sgm_assoc_element_point_v1( “Elm 1 3 5:10“, “Point 2:8”, 0 )
782 PCL Reference Manual
Associate Actions

sgm_assoc_element_solid_v1 (element_list, geo_list, flag)

Description:
This function will associate finite element mesh solid elements to geometric solids.
Input:
STRING element_list[] This value specifies the list of elements to be used
for associating to the selected list of solids.
STRING geo_list[] This value specifies the list of geometry to which
the elements will be associated.
INTEGER flag This value specifies the actions the finite element
association should accomplish.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The input value flag can be set to either 32 or 33. A value of 32 indicates that a mesh definition is not
created on the edges of the solid to which elements must be associated. A value of 33 will create mesh
definitions for each of the edges of the selected solids that are successfully associated with an element.
Example:

To associate the unassociated nodes and elements in the database within geometric proximity to the
selected set of solids 1 through 10 :
sgm_assoc_element_solid_v1( ““, “Solid 1:10”, 32)
To associate only specific elements (elements 1, 3 and 5 to 10) to Solid 2 though 8:
sgm_assoc_element_solid_v1( “Elm 1 3 5:10“, “Solid 2:8”, 32)
Chapter 3: Geometry Functions 783
Associate Actions

sgm_assoc_element_surface_v1 (element_list, geo_list, flag)

Description:
This function will associate finite element mesh surface elements to geometric surfaces.
Input:
STRING element_list[] This value specifies the list of elements to be used
for associating to the selected list of surfaces.
STRING geo_list[] This value specifies the list of geometry to which
the elements will be associated.
INTEGER flag This value specifies the actions the finite element
association should accomplish.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The input value flag can be set to either 16 or 17. A value of 16 indicates that a mesh definition is not
created on the surface to which elements must be associated. A value of 17 will create mesh definitions
for each of the edges of the selected surfaces that are successfully associated with an element.
Example:

To associate the unassociated nodes and elements in the database within geometric proximity to the
selected set of surfaces 1 through 10 :
sgm_assoc_element_surface_v1( ““, “Surface 1:10”, 17 )
To associate only specific elements (elements 1 to 1000) to surface 2 through 8:
sgm_assoc_element_surface_v1( “Elm 1000“, “Surface 2:8”, 17 )
784 PCL Reference Manual
Associate Actions

sgm_associate_point_curve (point_list, curve_list, joined_list)

Description:
This function associates a set of points to a set of curves.
Input:
STRING point_list[] This value specifies a list of point labels to be
associated with curves.
STRING curve_list[] This value specifies a list of curve labels to which
points will be associated.
Output:
STRING joined_list[] This value returns a list of joined entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
1000054 An invalid geometric entity type was used as input. The valid entity type to use is
%A%. Unable to process request.
38000931 Failed to associate the point(s) or curve(s).

Remarks:

A message of the following form will be written to the history window:


n Point(s): Point {pi, i = 1, n} associated to m Curve(s): Curve {cj, j= 1, m}
The database is modified due to the addition of new entities created by association.
Associated points are marked in the graphics window by a filled blue triangle.
Example:

Please see sgm_associate_point_curve (p. 593) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 785
Associate Actions

sgm_associate_point_surface (point_list, surface_list, joined_list)

Description:
This function associates a set of points to a set of surfaces.
Input:
STRING point_list[] This value specifies a list of point labels to be
associated with surfaces.
STRING surface_list[] This value specifies a list of surface labels to which
points will be associated.
Output:
STRING joined_list[] This value returns a list of joined entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
1000054 An invalid geometric entity type was used as input. The valid entity type to use is
%A%. Unable to process request.
38000931 Failed to associate the point(s) or curve(s).

Remarks:

A message of the following form will be written to the history window:


n Point(s): Point {pi, i = 1, n} associated to m Surface(s): Surface {sj, j= 1, m}
The database is modified due to the addition of new entities created by association.
Associated points are marked in the graphics window by a filled blue triangle.
Example:

Please see sgm_associate_point_surface (p. 594) in the PCL Reference Manual Examples.
786 PCL Reference Manual
Associate Actions

sgm_associate_curve_curve (curve_list1, curve_list2, joined_list)

Description:
This function associates a set of curves to another set of curves.
Input:
STRING curve_list1[] This value specifies a list of curve labels to be
associated with curves.
STRING curve_list2[] This value specifies a list of curve labels to which
curves will be associated.
Output:
STRING joined_list[] This value returns a list of joined entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
1000054 An invalid geometric entity type was used as input. The valid entity type to use is
%A%. Unable to process request.
38000931 Failed to associate the point(s) or curve(s).

Remarks:

A message of the following form will be written to the history window:


n Curve(s): Curve {ci, i = 1, n} associated to m Curve(s): Curve {cj, j= 1, m}
The database is modified due to the addition of new entities created by association. Associated curves are
marked in the graphics window by a filled yellow triangle.
Example:

Please see sgm_associate_curve_curve (p. 596) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 787
Associate Actions

sgm_associate_curve_surface (curve_list, surface_list, joined_list)

Description:
This function associates a set of curves to a set of surfaces.
Input:
STRING curve_list[] This value specifies a list of curve labels to be
associated with surfaces.
STRING surface_list[] This value specifies a list of surface labels to which
curves will be associated.
Output:
STRING joined_list[] This value returns a list of joined entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
1000054 An invalid geometric entity type was used as input. The valid entity type to use is
%A%. Unable to process request.
38000931 Failed to associate the point(s) or curve(s).

Remarks:

A message of the following form will be written to the history window:


n Curve(s): Curve {ci, i = 1, n} associated to m Surface(s): Surface {sj, j= 1, m}
The database is modified due to the addition of new entries created by association.
Associated curves are marked in the graphics window by a filled yellow triangle.
Example:

Please see sgm_associate_curve_surface (p. 597) in the PCL Reference Manual Examples.
788 PCL Reference Manual
Disassociate Actions

Disassociate Actions
This section is used to describe some of the functions used to implement the “Disassociate” actions.

sgm_disassociate_point (point_list, entity_list)

Description:
This function deletes all associations from a set of points.
Input:
STRING point_list[] This value specifies a set of point labels from which
all associations will be removed.
Output:
STRING entity_list[] This value returns a list of the disassociated entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
1000054 An invalid geometric entity type was used as input. The valid entity type to use is
%A%. Unable to process request.

Remarks:

The database is modified due to the deletion of the associations.


Associated points that are marked by a filled blue triangle are removed from the graphics window.
The viewport must be refreshed after this function is called to redisplay all entities.
Example:

Please see sgm_disassociate_point (p. 598) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 789
Disassociate Actions

sgm_disassociate_curve (curve_list, entity_list)

Description:
This function deletes all associations from a set of curves.
Input:
STRING curve_list[] This value specifies a set of curve labels from which
all associations will be removed.
Output:
STRING entity_list[] This value returns a list of the disassociated entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
1000054 An invalid geometric entity type was used as input. The valid entity type to use is
%A%. Unable to process request.

Remarks:
The database is modified due to the deletion of the associations.
Associated curves that are marked by a filled yellow triangle are removed from the graphics window.
The viewport must be refreshed after this function is called to redisplay all entities.
Example:

Please see sgm_disassociate_curve (p. 599) in the PCL Reference Manual Examples.
790 PCL Reference Manual
Disassociate Actions

sgm_disassociate_surface (surface_list, entity_list)

Description:
This function deletes all point and curve associations from a set of surfaces.
Input:
STRING surface_list[] This value specifies a set of surface labels from
which all associations will be removed.
Output:
STRING entity_list[] This value returns a list of the disassociated entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
1000054 An invalid geometric entity type was used as input. The valid entity type to use is
%A%. Unable to process request.

Remarks:

The database is modified due to the deletion of the associations.


Associated points and curves that are marked by a filled blue and yellow triangle, respectively, are
removed from the graphics window.
The viewport must be refreshed after this function is called to redisplay all entities.
Example:

Please see sgm_disassociate_surface (p. 600) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 791
Renumber Actions

Renumber Actions
This section is used to describe some of the functions used to implement the “Renumber” actions.
792 PCL Reference Manual
Renumber Actions

sgm_renumber (renum_option, entity_type, new_selection,


original_selection, created_selection)

Description:
This function will renumber a selection of point, curve, surface, solid, plane, or vector identifiers in
either a consecutive manner beginning with a starting point, curve, surface, solid, plane, or vector
identifier or as directed by a selection of point,curve, surface, solid, plane, or vector identifiers.
Input:
INTEGER renum_option This value specifies the option for processing the
new_selection where:

1 = Starting ID(s)

2 = Offset ID
STRING entity_type This value specifies which geometric entity type
to renumber. Valid values include:

point

curve

surface

solid

plane

vector
STRING new_selection[] This value specifies a selection of point, curve,
surface, solid, plane, or vector identifiers to which
the original points, curves, surfaces, solids,
planes, or vectors will be renumbered. If there is
only one identifier in the selection the original
identifiers will be renumbered in a consecutive
manner. If more than one identifier is provided,
the identifiers in the input value original_selection
will be renumbered to match the identifiers
specified by this input value.
STRING original_selection[] This value specifies a selection of point, curve,
surface, solid, plane, or vector identifiers that will
be renumbered.
Output:
Chapter 3: Geometry Functions 793
Renumber Actions

STRING created_selection[VIRTUAL] This value returns a description of the renumbered


point, curve, surface, or solid identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output value created_selection. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the point, curve, surface, solid, plane, and vector identifiers that are stored in
the database and displayed in a viewport.
Example:

None.
794 PCL Reference Manual
Sweep Actions

Sweep Actions
This section is used to describe some of the functions used to implement the “Sweep” actions.
Chapter 3: Geometry Functions 795
Sweep Actions

asm_sweep_hpat_arc (hpat_labels, axis, angle, offset, coord_frame,


num_hpats, surface_list, created_labels)

Description:
This function creates hyperpatches arcing about a set of surfaces.
Input:
STRING hpat_labels[] This value specifies the labels of the hyperpatches to be
created.
STRING axis[] This value specifies the axis of rotation.
REAL angle This value specifies the total angle to sweep each surface in
degrees.
REAL offset This value specifies the initial offset angle in degrees.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_hpats This value specifies the number of hyperpatches to be
created for each surface.
STRING surface_list[] This value specifies the list of surfaces from which
hyperpatches will be created.
Output:
STRING created_labels[] This value returns the labels of the created hyperpatches.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000210 Angle of rotation for a parametric entity is greater than 180 degrees.
1000211 The length of the Axis equals zero.
1000242 Rotation is approximately parallel to the surface.
1000901 Zero length vector in Hpat %I% construction.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
796 PCL Reference Manual
Sweep Actions

14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.


14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of hyperpatches created and their labels.
The input value num_hpats specifies the number of hyperpatches that will be created for each surface.
Each hyperpatch will be displayed in the graphics window.
Example:

Please see asm_sweep_hpat_arc (p. 602) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 797
Sweep Actions

asm_sweep_hpat_extrude (hpat_labels, delta, scale_u, scale_v, angle,


origin, coord_frame, num_hpats, surface_list,
created_labels)

Description:
This function creates hyperpatches by extruding a set of surfaces along a vector while simultaneously
scaling and rotating the created hyperpatches.
Input:
STRING hpat_labels[] This value specifies the labels of the hyperpatches to be
created.
STRING delta[] This value specifies the translation vector along which the
extrusion will occur and its magnitude.
REAL scale_u This value specifies the scaling factor to be used to scale
the surface as it is extruded in the u direction.
REAL scale_v This value specifies the scaling factor to be used to scale
the surface as it is extruded in the v direction.
REAL angle This value specifies the angle to rotate the hyperpatch
around the translation vector during extrusion in degrees.
STRING origin[] This value specifies the point to be used as the origin for
the extrusion operation.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_hpats This value specifies the number of hyperpatches to be
created for each surface.
STRING surface_list[] This value specifies the list of surfaces to be extruded.
Output:
STRING created_labels[] This value returns the labels of the created hyperpatches.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000211 The length of the Axis equals zero.
1000241 Unable to extrude hyperpatch because the surface is too degenerate.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
798 PCL Reference Manual
Sweep Actions

14000208 LpSublistAttributeGet: Curve evaluator error.


14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of hyperpatches created and their labels.
The input value num_hpats specifies the number of hyperpatches that will be created for each surface.
Each hyperpatch will be displayed in the graphics window.
Example:

Please see asm_sweep_hpat_extrude (p. 603) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 799
Sweep Actions

asm_sweep_hpat_glide (hpat_labels, scale, glide_option, director_curves,


base_surfaces, created_labels)

Description:
This function creates hyperpatches by gliding a set of base surfaces along a set of director curves.
Input:
STRING hpat_labels[] This value specifies the labels of the hyperpatches to
be created.
REAL scale This value specifies the scaling factor.
INTEGER glide_option This value specifies the glide option to use: 0 = normal
project glide option, and 1 = fixed logic option.
STRING director_curves[] This value specifies the list of curves along which the
base surface will be swept.
STRING base_surfaces[] This value specifies the list of surfaces that will be
swept along the director curves to form the
hyperpatches.
Output:
STRING created_labels[] This value returns the labels of the hyperpatches
created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000225 Unable to do glide option.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
800 PCL Reference Manual
Sweep Actions

14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:.

This function displays the number of hyperpatches created and their labels.
One hyperpatch will be created for each set of base_surfaces and director_curves. The number of
hyperpatches created are set by the input value base_surfaces multiplied by the input value
director_curves. Each hyperpatch will be displayed in the graphics window.
Example:

Please see asm_sweep_hpat_glide (p. 605) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 801
Sweep Actions

asm_sweep_hpat_normal (hpat_labels, thickness1, thickness2, thickness3,


thickness4, num_hypats, normal_rev_direction,
surface_list, created_labels)

Description:
This function creates hyperpatches normal to the specified list of curves.
Input:
STRING hpat_labels[] This value specifies the labels of the hyperpatches to be
created.
STRING thickness1[] This value specifies either the constant thickness or the
first thickness.
STRING thickness2[] This value is set to NULL if the input value “thickness1”
specifies a constant thickness, otherwise it is the second
thickness.
STRING thickness3[] This value is set to NULL if the input value “thickness1”
specifies a constant thickness, otherwise it is the third
thickness.
STRING thickness4[] This value is set to NULL if the input value “thickness1”
specifies a constant thickness, otherwise it is the fourth
thickness.
INTEGER num_hypats This value specifies the number of surfaces to be created
for each curve.
LOGICAL normal_rev_direction This value is set to TRUE if the normal is to be flipped
or reversed.
STRING surface_list[] This value specifies the list of surfaces to be swept using
the normal option.
Output:
STRING created_labels[] This value returns the labels of the created hyperpatches.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000712 Unable to compute the tangent and normal vectors due to a non-removable
degeneracy or a singularity.
1000901 Zero length vector in Hpat %I% construction.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
802 PCL Reference Manual
Sweep Actions

14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.


14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
16000301 Blank string encountered.
16000302 %A% does not contain enough arguments, looking for %I% arguments.
16000303 %A% has too many arguments, looking for %I% arguments.
16000305 %A% is not a real.

Remarks:

The input value num_hpats specifies the number of hyperpatches that will be created for each curve. Each
hyperpatch will be displayed in the graphics window.
Example:

Please see asm_sweep_hpat_normal (p. 606) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 803
Sweep Actions

asm_sweep_line_arc (line_labels, axis, angle, offset, coord_frame,


num_lines, point_list, created_labels)

Description:
This function creates lines arcing about the specified list of points.
Input:
STRING line_labels[] This value specifies the labels of the lines to be created.
STRING axis[] This value specifies the axis of rotation.
REAL angle This value specifies the total angle to sweep each point in
degrees.
REAL offset This value specifies the initial offset angle in degrees.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_lines This value specifies the number of lines that will be created
for each point.
STRING point_list[] This value specifies the list of points to be swept.
Output:
STRING created_labels[] This value returns the labels of the lines created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
1000210 Angle of rotation for a parametric entity is greater than 180 degrees.
1000211 The length of the Axis equals zero.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
804 PCL Reference Manual
Sweep Actions

14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
38000003 No blob provided.
38000450 Unable to calculate a point on the curve.

Remarks:

This function displays the number of lines created and their labels.
The input value num_lines specifies the number of lines that will be created for each point. Each line will
be displayed in the graphics window.
Example:

Please see asm_sweep_line_arc (p. 608) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 805
Sweep Actions

asm_sweep_line_involute (line_labels, axis, option, scalar1, scalar2,


num_lines, coord_frame, point_list,
created_labels)

Description:
This function creates lines from a set of points using the involute sweep operation.
Input:
STRING line_labels[] This value specifies the labels of the lines to be created.
STRING axis[] This value specifies the axis of rotation.
INTEGER option This value specifies the option to use in creating the
involute. If the input value option is set to 1 then the radii
method is used, otherwise the angle method is used.
REAL scalar1 This value specifies a scalar value used in one of two ways
depending on the input value option. If the angle method is
used, this value specifies the angle to unwind the line. If the
radii method is used, this value specifies the base radius of
the bobbin.
REAL scalar2 This value specifies a scalar value depending on the value
of “option”. If the angle method is used, this is the starting
angle of the line. If the radii method is used, this is the stop
radius of the line.
INTEGER num_lines This value specifies the number of lines to create for each
point.
STRING coord_frame[] This value specifies the reference coordinate frame.
STRING point_list[] This value specifies the list of points to be swept.
Output:
STRING created_labels[] This value returns the labels of the lines created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000211 The length of the Axis equals zero.
1000226 The angle which the involute traverses must be positive.
1000227 The starting angle of the involute must be positive.
1000228 The radius of the base circle must be positive.
1000229 The stop radius of the involute must be larger than the base radius.
806 PCL Reference Manual
Sweep Actions

1000230 The point is inside the base circle.


1000231 The point is outside the stop radius of the involute.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of lines created and their labels.
The input value num_lines specifies the number of lines that will be created for each point. Each line will
be displayed in the graphics window.
Example:

Please see asm_sweep_line_involute (p. 610) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 807
Sweep Actions

asm_sweep_patch_arc (patch_labels, axis, angle, offset, coord_frame,


num_patches, curve_list, created_labels)

Description:
This function creates patches arcing about the specified list of curves.
Input:
STRING patch_labels[] This value specifies the labels of the patches to be created.
STRING axis[] This value specifies the axis of rotation.
REAL angle This value specifies the total angle to sweep each point in
degrees.
REAL offset This value specifies the initial offset angle in degrees.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_patches This value specifies the number of patches to create for
each curve.
STRING curve_list[] This value specifies the list of curves to be swept.
Output:
STRING created_labels[] This value returns the labels of the patches created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
1000210 Angle of rotation for a parametric entity is greater than 180 degrees.
1000211 The length of the Axis equals zero.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
808 PCL Reference Manual
Sweep Actions

14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.

Remarks:

This function displays the number of patches created and their labels.
The input value num_patches specifies the number of patches that will be created for each curve. Each
patch will be displayed in the graphics window.
Example:

Please see asm_sweep_patch_arc (p. 611) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 809
Sweep Actions

asm_sweep_patch_extrude (patch_labels, delta, scale, angle, origin,


coord_frame, num_patches, curve_list,
created_labels)
Description:
This function creates patches by extruding curves.
Input:
STRING patch_labels[] This value specifies the labels of the patches to be created.
STRING delta[] This value specifies the translation vector along which the
extrusion will occur and its magnitude.
REAL scale This value specifies the scaling factor.
REAL angle This value specifies the angle to rotate the curve around the
translation vector during extrusion.
STRING origin[] This value specifies the point to be used as origin of the
extrusion.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_patches This value specifies the number of patches to create for
each curve.
STRING curve_list[] This value specifies the list of curves to be extruded.
Output:
STRING created_labels[] This value returns the labels of the patches created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000211 The length of the Axis equals zero.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
810 PCL Reference Manual
Sweep Actions

14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of patches created and their labels.
The input value num_patches specifies the number of patches that will be created for each curve. Each
patch will be displayed in the graphics window.
Example:

Please see asm_sweep_patch_extrude (p. 613) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 811
Sweep Actions

asm_sweep_patch_glide (patch_labels, scale, glide_option,


director_curves, base_curve, created_labels)

Description:
This function creates patches by gliding a set of base curves along a set of director curves.
Input:
STRING patch_labels[] This value specifies the labels of the patches to be
created.
REAL scale This value specifies the scaling factor.
INTEGER glide_option This value specifies the glide option to use: 0 = normal
project glide option, and 1 = fixed logic option.
STRING director_curves[] This value specifies the list of curves along which the
base curve will be swept.
STRING base_curve[] This value specifies the list of curves that will be swept
along the director curves to form the patches.
Output:
STRING created_labels[] This value returns the labels of the patches created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000225 Unable to do glide option.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
812 PCL Reference Manual
Sweep Actions

14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of patches created and their labels.
One patch will be created for each set of base_patches and director_curves. The number of patches
created are set by the input value base_patches multiplied by the input value director_curves. Each patch
will be displayed in the graphics window.
Example:

Please see asm_sweep_patch_glide (p. 614) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 813
Sweep Actions

asm_sweep_patch_normal (patch_labels, thickness1, thickness2, origin,


num_patches, normal_rev_direction,
curve_list, created_labels)

Description:
This function creates patches normal to the specified list of curves.
Input:
STRING patch_labels[] This value specifies the labels of the patches to be
created.
STRING thickness1[] This value specifies either the constant thickness or the
first thickness.
STRING thickness2[] This value is set to NULL if the input value “thickness1”
specifies a constant thickness, otherwise it is the second
thickness.
STRING origin[] This value specifies the point to be used as origin of the
normal vector.
INTEGER num_patches This value specifies the number of patches to be created
for each curve in the input list.
LOGICAL normal_rev_direction This value is set to TRUE if the normal is to be flipped
or reversed.
STRING curve_list[] This value specifies the list of curves to be swept using
the normal option.
Output:
STRING created_labels[] This value returns the labels of the patches created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000211 The length of the Axis equals zero.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
814 PCL Reference Manual
Sweep Actions

14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.


14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
16000301 Blank string encountered.
16000302 %A% does not contain enough arguments, looking for %I% arguments.
16000303 %A% has too many arguments, looking for %I% arguments.
16000305 %A% is not a real.

Remarks:

This function displays the number of patches created and their labels.
The input value num_patches specifies the number of patches that will be created for each curve. Each
curve will be displayed in the graphics window.
Example:

Please see asm_sweep_patch_normal (p. 615) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 815
Verify Actions

Verify Actions
This section is used to describe some of the functions used to implement the “Verify” actions

sgm_verify_surface_boundary (surface_list, verify_tolerance,


verify_type)

Description:
This function will verify a list of surfaces for the existence of free edges between adjacent surfaces.
Input:
STRING surface_list[] This value specifies the surface list.
REAL verify_tolerance This value specifies the tolerance used to determine
existence of free edges between adjacent surfaces.
INTEGER verify_type This value specifies the verification type: 1 =the surface
edge topology in the database will be used to check for
free edges, and 2 = the surface edges will be extracted
from adjacent surface boundaries and will be
geometrically compared within the value defined by the
input value verify tolerance to determine if free edges
exist.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the information whether or not free edges exist.
Surface normals may be reversed.
Each free edge will be highlighted and a diamond symbol placed at its centroid.
This function can display an information popup message form with the following message:

38000491 There are no free surface edges.


816 PCL Reference Manual
Verify Actions

This function can display a warning popup message form with the following message:

38000054 Free edges and/or non-manifold edges exist. Free edges may be due to edges not
matching directly or a missing face. Non-manifold edges are due to more than two
surfaces connecting at the same edges. Edges are highlighted and marked with
primary markers for free edges and secondary markers for non-manifold edges.

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


38000484 There must be at least two surfaces in the surface list. The number input was %I%.
38000485 The verification tolerance value of %G% must be less than or equal to the Geometric
Modeling Tolerance value of %G%.

Example:

Please see sgm_verify_surface_boundary (p. 531) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 817
Verify Actions

sgm_verify_surface_duplicates (delete_surfaces, delete_high)

Description:
Check the entire database for duplicate surfaces and optionally delete them.
Input:
LOGICAL delete_surfaces This value specifies, when set to TRUE, that any duplicate
surfaces will be deleted. When this value is set to FALSE,
duplicate surfaces will not be deleted.
LOGICAL delete_high This value specifies, when set to TRUE, that the surfaces
with the higher identifier values will be deleted from sets
of duplicate surfaces. If this value is set to FALSE, the
duplicate surfaces with the lower identifier values will be
deleted from sets of duplicate surfaces. Duplicate surfaces
will be deleted only when the input value delete_surfaces
is set to TRUE.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the “Geometry” switch bar form that is displayed when
the action is set to “Verify”, the object is set to “Surface”, and the test is set to “Duplicates”.
Example:
818 PCL Reference Manual
Transform Actions

Transform Actions
This section is used to describe some of the functions used to implement the “Transform” actions.
Chapter 3: Geometry Functions 819
Transform Actions

asm_transform_cord_rotate (output_labels, axis, angle, offset,


coord_frame, num_repeat, delete_original,
coord_list, created_labels)

Description:
This function creates coordinate frames by rotating a set of coordinate frames around an axis in a
reference coordinate frame.
Input:
STRING output_labels[] This value specifies the labels of the coordinate frames to
be created.
STRING axis[] This value specifies the axis of rotation.
REAL angle This value specifies the angle of rotation in degrees.
REAL offset This value specifies the offset angle between the
coordinate frame and the beginning of the angle of rotation
in degrees.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_repeat This value specifies the number of times to repeat this
transformation operation on each created coordinate frame.
LOGICAL delete_original This value is set to TRUE if the original coordinate frames
are to be deleted. If this value is set to FALSE, the original
entities will not be deleted.
STRING coord_list[] This value specifies the list of coordinate frames to be
rotated.
Output:
STRING created_labels[] This value returns the labels of the coordinate frames
created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
1000064 Overwrite of existing entity not permitted.
1000211 The length of the Axis equals zero.
1000216 Unable to properly process the output labels.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
820 PCL Reference Manual
Transform Actions

14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.


14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of coordinate frames created and their labels. If the original coordinate
frames are to be deleted, the number of coordinate frames deleted and their labels will also be displayed.
The input value num_repeat specifies the number of coordinate frames that will be created for each
coordinate frame specified by the input value coord_list. Each coordinate frame will be displayed in the
graphics window.
Example:

Please see asm_transform_cord_rotate (p. 617) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 821
Transform Actions

asm_transform_cord_translate (output_labels, delta, coord_frame,


num_repeat, delete_original, coord_list,
created_labels)

Description:
This function creates coordinate frames by translating a set of coordinate frames in a reference
coordinate frame.
Input:
STRING output_labels[] This value specifies the labels of the coordinate frames
to be created.
STRING delta[] This value specifies the translation vector.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_repeat This value specifies the number of translations for each
coordinate frame.
LOGICAL delete_original This value is set to TRUE if the original coordinate
frames are to be deleted. If this value is set to FALSE,
the original entities will not be deleted.
STRING coord_list[] This value specifies the list of coordinate frames to be
translated.
Output:
STRING created_labels[] This value returns the labels of the coordinate frames
created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
1000064 Overwrite of existing entity not permitted.
1000216 Unable to properly process the output labels.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
822 PCL Reference Manual
Transform Actions

14000211 LpSublistAttributeGet: Surface evaluator error.


14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of coordinate frames created and their labels. If the original coordinate
frames are to be deleted, the number of coordinate frames deleted and their labels will also be displayed.
The input value num_repeat specifies the number of coordinate frames that will be created for each
coordinate frame specified by the input value coord_list. Each coordinate frame will be displayed in the
graphics window.
Example:

Please see asm_transform_cord_translate (p. 618) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 823
Transform Actions

asm_transform_cord_translate_1 (output_labels, delta, magnitude,


reverse_direction, coord_frame,
num_repeat, delete_original,
coord_list, created_labels)

Description:
This function creates coordinate frames by translating a set of coordinate frames in a reference
coordinate frame.
Input:
STRING output_labels[] This value specifies the labels of the coordinate frames to
be created.
STRING delta[] This value specifies the direction vector.
REAL magnitude This value specifies the vector magnitude.
LOGICAL reverse_direction This value is set to TRUE if the direction vector is to be
reversed. If this value is set to FALSE, the direction vector
will not be reversed.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_repeat This value specifies the number of translations for each
coordinate frame.
LOGICAL delete_original This value is set to TRUE if the original coordinate frames
are to be deleted. If this value is set to FALSE, the original
entities will not be deleted.
STRING coord_list[] This value specifies the list of coordinate frames to be
translated.
Output:
STRING created_labels[] This value returns the labels of the coordinate frames
created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
1000064 Overwrite of existing entity not permitted.
1000216 Unable to properly process the output labels.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
824 PCL Reference Manual
Transform Actions

14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.


14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of coordinate frames created and their labels. If the original coordinate
frames are to be deleted, the number of coordinate frames deleted and their labels will also be displayed.
The input value num_repeat specifies the number of coordinate frames that will be created for each
coordinate frame specified by the input value coord_list. Each coordinate frame will be displayed in the
graphics window.
Example:

Please see asm_transform_cord_translate (p. 618) in the PCL Reference Manual Examples. ???update
cross reference
Chapter 3: Geometry Functions 825
Transform Actions

asm_transform_curve_vsum (curve_ids, origin_1, origin_2, scales_1,


scales_2, curve_list1, curve_list2,
created_ids)

Description:
This function creates parametric cubic curves by performing vector sums of the coordinate locations
of two sets of curves.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value is set to
an empty string or to “#”, the function will automatically
allocate and assign a sequential list of curve IDs.
STRING origin_1[] This value specifies the origin of the vectors for the first set
of curves.
STRING origin_2[] This value specifies the origin of the vectors for the second
set of curves.
REAL scales_1(3) This value specifies the factor to be used to scale the first
set of curve vectors.
REAL scales_2(3) This value specifies the factor to be used to scale the
second set of curve vectors.
STRING curve_list1[] This value specifies the first curve list.
STRING curve_list2[] This value specifies the second curve list.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
826 PCL Reference Manual
Transform Actions

14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

One curve will be created for each set of curves in the input values curve_list1 and curve_list2. Each
curve created will be displayed in the graphics window.
Example:

Please see asm_transform_curve_vsum (p. 619) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 827
Transform Actions

asm_transform_grid_mcord (point_labels, coord_frame_1,


coord_frame_2, delete_original, point_list,
created_labels)
Description:
This function creates points by translating a set of points from one coordinate frame to a second
coordinate frame. The points created will have the same parametric locations relative to the new
coordinate frame that they had to the original coordinate frame.
Input:
STRING point_labels[] This value specifies the labels of the points to be created.
STRING coord_frame_1[] This value specifies the coordinate frame from which the
set of points will be translated.
STRING coord_frame_2[] This value specifies the coordinate frame to which the
points will be translated.
LOGICAL delete_original This value is set to TRUE if the original points are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING point_list[] This value specifies the list of points to be translated.
Output:
STRING created_labels[] This value returns the labels of the points created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
828 PCL Reference Manual
Transform Actions

Remarks:

This function displays the number of points created and their labels. If the original points are to be
deleted, the number of points deleted and their labels will also be displayed.
One point will be created for each point translated. Each point created will be displayed in the graphics
window.
Example:

Please see asm_transform_grid_mcord (p. 621) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 829
Transform Actions

asm_transform_grid_mirror (point_labels, plane, offset, delete_original,


point_list, created_labels)

Description:
This function will create points by mirroring a set of points.
Input:
STRING point_labels[] This value specifies the labels of the points to be created.
STRING plane[] This value specifies the mirror plane.
REAL offset This value specifies the final offset from the mirror
plane.
LOGICAL delete_original This value is set to TRUE if the original points are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING point_list[] This value specifies the list of points to be mirrored.
Output:
STRING created_labels[] This value returns the labels of the points created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
830 PCL Reference Manual
Transform Actions

14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.


14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of points created and their labels. If the original points are to be
deleted, the number of points deleted and their labels will also be displayed.
One point will be created for each point mirrored. Each point created will be displayed in the graphics
window.
Example:

Please see asm_transform_grid_mirror (p. 622) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 831
Transform Actions

asm_transform_grid_mscale (point_labels, coord_frame, origin,


translation, rotation_matrix,
delete_original, point_list, created_labels)

Description:
This function creates points by simultaneously translating, scaling, rotating, and warping a set of
points.
Input:
STRING point_labels[] This value specifies the labels of the points to be created.
STRING coord_frame[] This value specifies the reference coordinate frame.
STRING origin[] This value specifies the origin for the transformation.
STRING translation[] This value specifies a translation vector defining the
direction and distance of a translation operation. This
value will be used only if a translation operation has
been specified with the input value rotation_matrix.
REAL rotation_matrix(3,3) This value specifies the translation, scaling, rotation, and
warp operations to be done on the set of points. See the
remarks below for more information.
LOGICAL delete_original This value is set to TRUE if the original points are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING point_list[] This value specifies the list of points to be transformed.
Output:
STRING created_labels[] This value returns the labels of the points created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
832 PCL Reference Manual
Transform Actions

14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.


14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of points created and their labels. If the original points are to be
deleted, the number of points deleted and their labels will also be displayed.
One point will be created for each point transformed. Each point created will be displayed in the graphics
window.
The input value rotation_matrix can be used to specify a translation operation by placing the value 1
along the positive diagonal of the matrix and defining a vector for the input value translation:

Second Dimension Offsets First Dimension Offsets


1 2 3

1 1 0 0
2 0 1 0
3 0 0 1

The input value rotation_matrix can be used to specify a scaling operation by placing nonzero values
along the positive diagonal of the matrix. If the input value translation is defined the set of points will be
both translated and scaled:

Second DimensionOffsets First Dimension Offsets


1 2 3

1 2 0 0
2 0 2 0
3 0 0 2

The input value rotation_matrix can be used to specify a mirroring operation by placing a negative value
along the positive diagonal of the matrix at the position that represents the normal to the mirror plane. A
negative value placed at rotation_matrix(1,1) would represent a mirror plane along the XY axis,
rotation_matrix(2,2) the YZ axis, and rotations_matrix(3,3) the XZ plane. The example below would
mirror a set of points around the XY plane, scale the points, and if the input value translation is defined,
translate the set of points as well:
Chapter 3: Geometry Functions 833
Transform Actions

Second DimensionOffsets First Dimension Offsets


1 2 3

1 -3 0 0
2 0 3 0
3 0 0 3

The input value rotation_matrix can be used to specify rotation and warp operations by placing values
that are not along the positive diagonal of the matrix. The example below would cause a rotation
operation only to take place. If the values in the input value rotation_matrix describe a non-orthogonal
matrix the set of point would be warped as a function of position:

Second DimensionOffsets First Dimension Offsets


1 2 3

1 0 1 1
2 1 0 1
3 1 1 0

Example:

Please see asm_transform_grid_mscale (p. 623) in the PCL Reference Manual Examples.
834 PCL Reference Manual
Transform Actions

asm_transform_grid_mscale2 (point_labels, coord_frame, origin,


translation, columns, delete_original,
point_list, created_labels)

Description:
This function creates points by simultaneously translating, scaling, rotating, and warping a set of
points.
Input:
STRING point_labels[] This value specifies the labels of the points to be created.
STRING coord_frame[] This value specifies the reference coordinate frame.
STRING origin[] This value specifies the origin for the transformation.
STRING translation[] This value specifies a translation vector defining the
direction and distance of a translation operation. This
value will be used only if a translation operation has
been specified with the input value rotation_matrix.
STRING columns[](3) This value specifies the translation, scaling, rotation,
and warp operations to be done on the set of points. The
three strings represent the three column vectors which
combine to create the rotation matrix.
LOGICAL delete_original This value is set to TRUE if the original points are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING point_list[] This value specifies the list of points to be transformed.
Output:
STRING created_labels[] This value returns the labels of the points created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
Chapter 3: Geometry Functions 835
Transform Actions

14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.


14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve cannot be accurately
approximated to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface cannot be accurately
approximated to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of points created and their labels. If the original points are to be
deleted, the number of points deleted and their labels will also be displayed. One point will be created for
each point transformed. Each point created will be displayed in the graphics window. The input value
columns can be used to specify a translation operation by specifying the rotation matrix columns
accordingly. Refer to the documentation for function, asm_transform_grid_mscale.
Example:

None.

asm_transform_grid_pivot (point_labels, pivot_point_1, pivot_point_2,


pivot_point_3, delete_original, point_list,
created_labels)

Description:
This function creates points by pivoting them around a point from one point to another.
Input:
STRING point_labels[] This value specifies the labels of the points to be
created.
STRING pivot_point_1[] This value specifies the pivot point.
STRING pivot_point_2[] This value specifies the point which defines the
beginning of the pivot operation.
STRING pivot_point_3[] This value specifies the pivot which defines the end
of the pivot operation.
LOGICAL delete_original This value is set to TRUE if the original points are to
be deleted. If this value is set to FALSE, the original
entities will not be deleted.
STRING point_list[] This value specifies the list of points to be pivoted.
Output:
STRING created_labels[] This value returns the labels of the points created.
836 PCL Reference Manual
Transform Actions

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000211 The length of the Axis equals zero.
1000302 The three points specified are nearly collinear.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of points created and their labels. If the original points are to be
deleted, the number of points deleted and their labels will also be displayed.
One point will be created for each point transformed. Each point created will be displayed in the graphics
window.
Example:

Please see asm_transform_grid_pivot (p. 624) in the PCL Reference Manual Examples.

asm_transform_grid_position (point_labels, point_1, point_2, point_3,


point_4, point_5, point_6,
delete_original, point_list,
created_labels)

Description:
This function creates points by translating and rotating a set of points.
Chapter 3: Geometry Functions 837
Transform Actions

Input:
STRING point_labels[] This value specifies the labels of the points to be created.
STRING point_1[] This value specifies the first point describing the location
and orientation from which the set of points will be
transformed.
STRING point_2[] This value specifies the second point describing the
location and orientation from which the set of points will
be transformed.
STRING point_3[] This value specifies the third point describing the location
and orientation from which the set of points will be
transformed.
STRING point_4[] This value specifies the first point describing the location
and orientation to which the set of points will be
transformed.
STRING point_5[] This value specifies the second point describing the
location and orientation to which the set of points will be
transformed.
STRING point_6[] This value specifies the third point describing the location
and orientation to which the set of points will be
transformed.
LOGICAL delete_original This value is set to TRUE if the original points are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING point_list[] This value specifies the list of points to be transformed.
Output:
STRING created_labels[] This value returns the labels of the points created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000211 The length of the Axis equals zero.
1000302 The three points specified are nearly collinear.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
838 PCL Reference Manual
Transform Actions

14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.


14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of points created and their labels. If the original points are to be
deleted, the number of points deleted and their labels will also be displayed.
One point will be created for each point transformed. Each point created will be displayed in the graphics
window.
Example:

Please see asm_transform_grid_position (p. 626) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 839
Transform Actions

asm_transform_grid_rotate (point_labels, axis, angle, offset, coord_frame,


num_repeat, delete_original, point_list,
created_labels)

Description:
This function creates points by rotating a set of points around an axis.
Input:
STRING point_labels[] This value specifies the labels of the points to be created.
STRING axis[] This value specifies the axis of rotation.
REAL angle This value specifies the angle of rotation in degrees.
REAL offset This value specifies the offset angle between the point
and the beginning of the angle of rotation in degrees.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_repeat This value specifies the number of rotations for each
point.
LOGICAL delete_original This value is set to TRUE if the original points are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING point_list[] This value specifies the list of points to be rotated.
Output:
STRING created_labels[] This value returns the labels of the grids created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
1000211 The length of the Axis equals zero.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
840 PCL Reference Manual
Transform Actions

14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of points created and their labels. If the original points are to be
deleted, the number of points deleted and their labels will also be displayed.
The input value num_repeat specifies the number of points that will be created for each point specified
by the input value point_list. Each point will be displayed in the graphics window.
Example:

Please see asm_transform_grid_rotate (p. 627) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 841
Transform Actions

asm_transform_grid_scale (point_labels, origin, scale, coord_frame,


num_repeat, trans_type, delete_original,
point_list, created_labels)

Description:
This function creates points by scaling a set of points.
Input:
STRING point_labels[] This value specifies the labels of the points to be created.
STRING origin[] This value specifies the origin for the scaling operation.
It is interpreted in the local coordinate system as
cartesian or curvilinear depending on the value of the
input value trans_type.
REAL scale(3) This value specifies three scaling values. It is interpreted
in the local coordinate system as cartesian or curvilinear
depending on the value of the input value trans_type.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_repeat This value specifies the number of scaling operations to
be done for each point.
LOGICAL trans_type This value is set to TRUE if the transformation is to be
done using a curvlinear coordinate frame or to FALSE to
use a cartesian coordinate frame.
LOGICAL delete_original This value is set to TRUE if the original points are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING point_list[] This value specifies the list of points to be scaled.
Output:
STRING created_labels[] This value returns the labels of the points created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
842 PCL Reference Manual
Transform Actions

14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.


14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of points created and their labels. If the original points are to be
deleted, the number of points deleted and their labels will also be displayed.
The input value num_repeat specifies the number of points that will be created for each point specified
by the input value point_list. Each point will be displayed in the graphics window.
Example:

Please see asm_transform_grid_scale (p. 628) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 843
Transform Actions

asm_transform_grid_translate (point_labels, delta, coord_frame,


num_repeat, trans_type, delete_original,
point_list, created_labels)

Description:
This function creates points by translating a set of points.
Input:
STRING point_labels[] This value specifies the labels of the points to be created.
STRING delta[] This value specifies the translation vector. It is interpreted
in the local coordinate system as cartesian or curvilinear
depending on the value of the input value trans_type.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_repeat This value specifies the number of translations for each
point.
LOGICAL trans_type This value is set to TRUE if the transformation is to be done
using a curvlinear coordinate frame or to FALSE to use a
cartesian coordinate frame.
LOGICAL delete_original This value is set to TRUE if the original points are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING point_list[] This value specifies the list of points to be translated.
Output:
STRING created_labels[] This value returns the labels of the points created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
844 PCL Reference Manual
Transform Actions

14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of points created and their labels. If the original points are to be
deleted, the number of points deleted and their labels will also be displayed.
The input value num_repeat specifies the number of points that will be created for each point specified
by the input value point_list. Each point will be displayed in the graphics window.
Example:

Please see asm_transform_grid_translate (p. 630) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 845
Transform Actions

asm_transform_grid_translate_1 (point_labels, delta, magnitude,


reverse_direction, coord_frame,
num_repeat, trans_type,
delete_original, point_list,
created_labels)

Description:
This function creates points by translating a set of points.
Input:
STRING point_labels[] This value specifies the labels of the points to be created.
STRING delta[] This value specifies the direction vector. It is interpreted in
the local coordinate system as cartesian or curvilinear
depending on the value of the input value trans_type.
REAL magnitude This value specifies the vector magnitude.
LOGICAL reverse_direction This value is set to TRUE if the direction vector is to be
reversed. If this value is set to FALSE, the direction vector
is not reversed. ???
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_repeat This value specifies the number of translations for each
point.
LOGICAL trans_type This value is set to TRUE if the transformation is to be done
using a curvlinear coordinate frame or to FALSE to use a
cartesian coordinate frame.
LOGICAL delete_original This value is set to TRUE if the original points are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING point_list[] This value specifies the list of points to be translated.
Output:
STRING created_labels[] This value returns the labels of the points created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
846 PCL Reference Manual
Transform Actions

14000003 LpSublistType: No sublist filter bits are set on invocation.


14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of points created and their labels. If the original points are to be
deleted, the number of points deleted and their labels will also be displayed.
The input value num_repeat specifies the number of points that will be created for each point specified
by the input value point_list. Each point will be displayed in the graphics window.
Example:

Please see asm_transform_grid_translate (p. 630) in the PCL Reference Manual Examples.???set
external cross reference
Chapter 3: Geometry Functions 847
Transform Actions

asm_transform_grid_vsum (point_labels, origin_1, origin_2, scales_1,


scales_2, point_list1, point_list2,
created_labels)

Description:
This function creates points by performing vector sums of the coordinate locations of two sets of points.
Input:
STRING point_labels[] This value specifies the labels of the points to be created.
STRING origin_1[] This value specifies the origin of the vectors for the first set
of points.
STRING origin_2[] This value specifies the origin of the vectors for the second
set of points.
REAL scales_1(3) This value specifies the factor to be used to scale the first
set of point vectors.
REAL scales_2(3) This value specifies the factor to be used to scale the second
set of point vectors.
STRING point_list1[] This value specifies the first point list.
STRING point_list2[] This value specifies the second point list.
Output:
STRING created_labels[] This value returns the labels of the points created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
848 PCL Reference Manual
Transform Actions

14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of points created and their labels.
One point will be created for each set of curves in the input values point_list1 and point_list2. Each point
created will be displayed in the graphics window.
Example:

Please see asm_transform_grid_vsum (p. 631) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 849
Transform Actions

asm_transform_line_mirror (line_labels, plane, offset, reverse,


delete_original, line_list, created_labels)

Description:
This function will create lines by mirroring a set of lines.
Input:
STRING line_labels[] This value specifies the labels of the lines to be created.
STRING plane[] This value specifies the mirror plane.
REAL offset This value specifies the final offset from the mirror plane.
LOGICAL reverse This value is set to TRUE if the new line is to be reversed
such that its parametric direction will match that of the
original line.
LOGICAL delete_original This value is set to TRUE if the original lines are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING line_list[] This value specifies the list of lines to be mirrored.
Output:
STRING created_labels[] This value returns the labels of the lines created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000052
%A% %I% is not an ASM Entity and was not written to the Patran Neutral File.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
850 PCL Reference Manual
Transform Actions

14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.


14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:
This function displays the number of lines created and their labels. If the original lines are to be deleted,
the number of lines deleted and their labels will also be displayed.
One line will be created for each line mirrored. Each line created will be displayed in the graphics
window.
Example:

Please see asm_transform_line_mirror (p. 633) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 851
Transform Actions

asm_transform_patch_mirror (patch_labels, plane, offset, reverse,


delete_original, patch_list,
created_labels)

Description:
This function will create patches by mirroring a set of patches.
Input:
STRING patch_labels[] This value specifies the labels of the patches to be created.
STRING plane[] This value specifies the mirror plane.
REAL offset This value specifies the offset distance from the mirror
plane.
LOGICAL reverse This value is set to TRUE if the new patch is to be reversed
such that its normal will match that of the original patch. If
this value is set to FALSE, the normal will not be reversed.
LOGICAL delete_original This value is set to TRUE if the original patches are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING patch_list[] This value specifies the list of patches to be mirrored.
Output:
STRING created_labels[] This value returns the labels of the patches created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000052
%A% %I% is not an ASM Entity and was not written to the Patran Neutral File.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
852 PCL Reference Manual
Transform Actions

14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of patches created and their labels. If the original patches are to be
deleted, the number of patches deleted and their labels will also be displayed.
One patch will be created for each patch mirrored. Each patch created will be displayed in the graphics
window.
Example:

Please see asm_transform_patch_mirror (p. 634) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 853
Transform Actions

ge_transform_mcord (entity_labels, entity_type, coord_frame_1,


coord_frame_2, delete_original, entity_list,
created_labels)

Description:
This function creates entities by translating a set of entities from one coordinate frame to a second
coordinate frame. The entities created will have the same parametric locations relative to the new
coordinate frame that they had to the original coordinate frame. Use this function for Parasolid solids.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be
created.
STRING entity_type[] This value specifies the type of entity. This value can be
set to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
STRING coord_frame_1[] This value specifies the coordinate frame from which the
set of entities will be translated.
STRING coord_frame_2[] This value specifies the coordinate frame to which the
entities will be translated.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be transformed.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
854 PCL Reference Manual
Transform Actions

14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000015 LpSublistNext: End of current list has been reached.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.

Remarks:

This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
One entity will be created for each entity transformed. Each entity created will be displayed in the
graphics window.
Example:

None.
Chapter 3: Geometry Functions 855
Transform Actions

ge_transform_mirror (entity_labels, entity_type, plane, offset, reverse,


delete_original, entity_list, created_labels)

Description:
This function will create entities by mirroring a set of entities. Use this function for Parasolid solids.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be created.
STRING entity_type[] This value specifies the type of entity. This value can be set
to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
STRING plane[] This value specifies the mirror plane.
REAL offset This value specifies the offset distance from the mirror
plane.
LOGICAL reverse This value is set to TRUE if the new entities are to be
reversed. If this value is set to FALSE, the entities will not
be reversed.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be mirrored.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
856 PCL Reference Manual
Transform Actions

14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000015 LpSublistNext: End of current list has been reached.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.

Remarks:

This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
One entity will be created for each entity mirrored. Each entity created will be displayed in the graphics
window.
Example:

None.
Chapter 3: Geometry Functions 857
Transform Actions

ge_transform_pivot (entity_labels, entity_type, pivot_point_1,


pivot_point_2, pivot_point_3, delete_original,
entity_list, created_labels)

Description:
This function creates entities by pivoting them around a point from one point to another. Use this
function for Parasolid solids.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be
created.
STRING entity_type[] This value specifies the type of entity. This value can be
set to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
STRING pivot_point_1[] This value specifies the pivot point.
STRING pivot_point_2[] This value specifies the point which defines the
beginning of the pivot operation.
STRING pivot_point_3[] This value specifies the pivot which defines the end of
the pivot operation.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be pivoted.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
1000211 The length of the Axis equals zero.
1000302 The three points specified are nearly collinear.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
858 PCL Reference Manual
Transform Actions

14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000015 LpSublistNext: End of current list has been reached.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.

Remarks:

This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
One entity will be created for each entity transformed. Each entity created will be displayed in the
graphics window.
Example:

None.
Chapter 3: Geometry Functions 859
Transform Actions

ge_transform_position (entity_labels, entity_type, point_1, point_2,


point_3, point_4, point_5, point_6,
delete_original, entity_list, created_labels)

Description:
This function creates entities by translating and rotating a set of entities. Use this function for Parasolid
solids.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be created.
STRING entity_type[] This value specifies the type of entity. This value can be set
to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
STRING point_1[] This value specifies the first point describing the location
and orientation from which the set of entities will be
transformed.
STRING point_2[] This value specifies the second point describing the
location and orientation from which the set of entities will
be transformed.
STRING point_3[] This value specifies the third point describing the location
and orientation from which the set of entities will be
transformed.
STRING point_4[] This value specifies the first point describing the location
and orientation to which the set of entities will be
transformed.
STRING point_5[] This value specifies the second point describing the
location and orientation to which the set of entities will be
transformed.
STRING point_6[] This value specifies the third point describing the location
and orientation to which the set of entities will be
transformed.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be transformed.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
860 PCL Reference Manual
Transform Actions

Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
1000211 The length of the Axis equals zero.
1000302 The three points specified are nearly collinear.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000015 LpSublistNext: End of current list has been reached.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.
Chapter 3: Geometry Functions 861
Transform Actions

Remarks:
This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
One entity will be created for each entity transformed. Each entity created will be displayed in the
graphics window.
Example:

None.
862 PCL Reference Manual
Transform Actions

ge_transform_rotate (entity_labels, entity_type, axis, angle, offset,


coord_frame, num_repeat, delete_original,
entity_list, created_labels)

Description:
This function creates entities by rotating a set of entities around an axis in a reference coordinate
frame. Use this function for Parasolid solids.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be created.
STRING entity_type[] This value specifies the type of entity. This value can be
set to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
STRING axis[] This value specifies the axis of rotation.
REAL angle This value specifies the angle of rotation in degrees.
REAL offset This value specifies the offset angle between the entity
and the beginning of the angle of rotation in degrees.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_repeat This value specifies the number of times to repeat this
transformation operation on each created entity.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be rotated.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
Chapter 3: Geometry Functions 863
Transform Actions

14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000015 LpSublistNext: End of current list has been reached.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.

Remarks:

This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
The input value num_repeat specifies the number of entities that will be created for each entity specified
by the input value entity_list. Each entity will be displayed in the graphics window.
Example:

None.
864 PCL Reference Manual
Transform Actions

ge_transform_scale (entity_labels, entity_type, scale, origin, coord_frame,


num_repeat, delete_original, entity_list,
created_labels)

Description:
This function creates entities by scaling a set of entities. Use this function for Parasolid solids.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be
created.
STRING entity_type[] This value specifies the type of entity. This value can be
set to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
REAL scale(3) This value specifies three scaling values.
STRING origin[] This value specifies the origin for the scaling operation.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_repeat This value specifies the number of scaling operations to
be done for each point.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be scaled.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
Chapter 3: Geometry Functions 865
Transform Actions

14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000015 LpSublistNext: End of current list has been reached.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.

Remarks:

This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
The input value num_repeat specifies the number of entities that will be created for each entity specified
by the input value entity_list. Each entity will be displayed in the graphics window.
Example:

None.
866 PCL Reference Manual
Transform Actions

ge_transform_solid_mscale (solid_labels, entity_type, coord_frame,


origin, translation, rotation_matrix,
delete_original, solid_list, created_labels)

Description:
This function creates solids by simultaneously translating, scaling, rotating, and warping a set of
solids. Use this function for Parasolid solids.
Input:
STRING solid_labels[] This value specifies the labels of the solids to be created.
STRING entity_type[] This value specifies the type of entity. This value can be
set to: “solid”.
STRING coord_frame[] This value specifies the reference coordinate frame.
STRING origin[] This value specifies the origin for the transformation.
STRING translation[] This value specifies a translation vector defining the
direction and distance of a translation operation. This
value will be used only if a translation operation has been
specified with the input value rotation_matrix.
STRING rotation_matrix[](3) This value specifies the translation, scaling, rotation, and
warp operations to be done on the set of solids. See the
remarks below for more information.
LOGICAL delete_original This value is set to TRUE if the original solids are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING solid_list[] This value specifies the list of solids to be transformed.
Output:
STRING created_labels[] This value returns the labels of the solids created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
Chapter 3: Geometry Functions 867
Transform Actions

14000211 LpSublistAttributeGet: Surface evaluator error.


14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays the number of solids created and their labels. If the original solids are to be deleted,
the number of solids deleted and their labels will also be displayed.
One solid will be created for each solid transformed. Each solid created will be displayed in the graphics
window.
The input value rotation_matrix can be used to specify a translation operation by placing the value 1
along the positive diagonal of the matrix and defining a vector for the input value translation:

Second Dimension Offsets First Dimension Offsets


1 2 3

1 1 0 0
2 0 1 0
3 0 0 1

The input value rotation_matrix can be used to specify a scaling operation by placing nonzero values
along the positive diagonal of the matrix. If the input value translation is defined the set of points will be
both translated and scaled:

Second DimensionOffsets First Dimension Offsets


1 2 3

1 2 0 0
2 0 2 0
3 0 0 2

The input value rotation_matrix can be used to specify a mirroring operation by placing a negative value
along the positive diagonal of the matrix at the position that represents the normal to the mirror plane. A
negative value placed at rotation_matrix(1,1) would represent a mirror plane along the XY axis,
868 PCL Reference Manual
Transform Actions

rotation_matrix(2,2) the YZ axis, and rotations_matrix(3,3) the XZ plane. The example below would
mirror a set of points around the XY plane, scale the points, and if the input value translation is defined,
translate the set of points as well:

Second DimensionOffsets First Dimension Offsets


1 2 3

1 -3 0 0
2 0 3 0
3 0 0 3

The input value rotation_matrix can be used to specify rotation and warp operations by placing values
that are not along the positive diagonal of the matrix. The example below would cause a rotation
operation only to take place. If the values in the input value rotation_matrix describe a non-orthogonal
matrix the set of point would be warped as a function of position:

Second Dimension Offsets First Dimension Offsets


1 2 3

1 0 1 1
2 1 0 1
3 1 1 0

Example:

None.
Chapter 3: Geometry Functions 869
Transform Actions

ge_transform_translate (entity_labels, entity_type, delta, coord_frame,


num_repeat, delete_original, entity_list,
created_labels)

Description:
This function creates entities by translating a set of entities. This function is to be used for Parasolid
solids.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be
created.
STRING entity_type[] This value specifies the type of entity. This value can be
set to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
STRING delta[] This value specifies the translation vector.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_repeat This value specifies the number of translations for each
entity.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be translated.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is
unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
870 PCL Reference Manual
Transform Actions

14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.

Remarks:

This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
The input value num_repeat specifies the number of entities that will be created for each entity specified
by the input value entity_list. Each entity will be displayed in the graphics window.
Example:

None.
Chapter 3: Geometry Functions 871
Transform Actions

ge_transform_translate_v1 (entity_labels, entity_type, delta, magnitude,


reverse_direction, coord_frame,
num_repeat, delete_original, entity_list,
created_labels)

Description:
This function creates entities by translating a set of entities. This function is to be used for Parasolid
solids.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be
created.
STRING entity_type[] This value specifies the type of entity. This value can be
set to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
STRING delta[] This value specifies the direction vector.
REAL magnitude This value specifies the vector magnitude.
LOGICAL reverse_direction This value is set to TRUE if the direction vector is to be
reversed. If this value is set to FALSE, the direction
vector will not be reversed.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_repeat This value specifies the number of translations for each
entity.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be translated.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
872 PCL Reference Manual
Transform Actions

14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is
unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.

Remarks:

This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
The input value num_repeat specifies the number of entities that will be created for each entity specified
by the input value entity_list. Each entity will be displayed in the graphics window.
Example:

None.
Chapter 3: Geometry Functions 873
Transform Actions

sgm_transform_mcord (entity_labels, entity_type, coord_frame_1,


coord_frame_2, delete_original, entity_list,
created_labels)

Description:
This function creates entities by translating a set of entities from one coordinate frame to a second
coordinate frame. The entities created will have the same parametric locations relative to the new
coordinate frame that they had to the original coordinate frame.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be
created.
STRING entity_type[] This value specifies the type of entity. This value can be
set to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
STRING coord_frame_1[] This value specifies the coordinate frame from which the
set of entities will be translated.
STRING coord_frame_2[] This value specifies the coordinate frame to which the
entities will be translated.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be transformed.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
874 PCL Reference Manual
Transform Actions

14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000015 LpSublistNext: End of current list has been reached.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.

Remarks:

This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
One entity will be created for each entity transformed. Each entity created will be displayed in the
graphics window.
Example:

Please see sgm_transform_mcord (p. 635) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 875
Transform Actions

sgm_transform_mirror (entity_labels, entity_type, plane, offset, reverse,


delete_original, entity_list, created_labels)

Description:
This function will create entities by mirroring a set of entities.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be
created.
STRING entity_type[] This value specifies the type of entity. This value can be
set to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
STRING plane[] This value specifies the mirror plane.
REAL offset This value specifies the offset distance from the mirror
plane.
LOGICAL reverse This value is set to TRUE if the new entities are to be
reversed. If this value is set to FALSE, the entities will
not be reversed.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be mirrored.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is
unclassifiable.
876 PCL Reference Manual
Transform Actions

14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000015 LpSublistNext: End of current list has been reached.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.

Remarks:

This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
One entity will be created for each entity mirrored. Each entity created will be displayed in the graphics
window.
Example:

Please see sgm_transform_mirror (p. 637) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 877
Transform Actions

sgm_transform_pivot (entity_labels, entity_type, pivot_point_1,


pivot_point_2, pivot_point_3, delete_original,
entity_list, created_labels)

Description:
This function creates entities by pivoting them around a point from one point to another.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be
created.
STRING entity_type[] This value specifies the type of entity. This value can be
set to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
STRING pivot_point_1[] This value specifies the pivot point.
STRING pivot_point_2[] This value specifies the point which defines the
beginning of the pivot operation.
STRING pivot_point_3[] This value specifies the pivot which defines the end of
the pivot operation.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be pivoted.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
1000211 The length of the Axis equals zero.
1000302 The three points specified are nearly collinear.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
878 PCL Reference Manual
Transform Actions

14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000015 LpSublistNext: End of current list has been reached.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.

Remarks:

This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
One entity will be created for each entity transformed. Each entity created will be displayed in the
graphics window.
Example:

Please see sgm_transform_pivot (p. 639) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 879
Transform Actions

sgm_transform_position (entity_labels, entity_type, point_1, point_2,


point_3, point_4, point_5, point_6,
delete_original, entity_list, created_labels)

Description:
This function creates points by translating and rotating a set of entities.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be
created.
STRING entity_type[] This value specifies the type of entity. This value can be
set to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
STRING point_1[] This value specifies the first point describing the
location and orientation from which the set of entities
will be transformed.
STRING point_2[] This value specifies the second point describing the
location and orientation from which the set of entities
will be transformed.
STRING point_3[] This value specifies the third point describing the
location and orientation from which the set of entities
will be transformed.
STRING point_4[] This value specifies the first point describing the
location and orientation to which the set of entities will
be transformed.
STRING point_5[] This value specifies the second point describing the
location and orientation to which the set of entities will
be transformed.
STRING point_6[] This value specifies the third point describing the
location and orientation to which the set of entities will
be transformed.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be transformed.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
880 PCL Reference Manual
Transform Actions

Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
1000211 The length of the Axis equals zero.
1000302 The three points specified are nearly collinear.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000015 LpSublistNext: End of current list has been reached.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.
Chapter 3: Geometry Functions 881
Transform Actions

Remarks:

This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
One entity will be created for each entity transformed. Each entity created will be displayed in the
graphics window.
Example:

Please see sgm_transform_position (p. 640) in the PCL Reference Manual Examples.
882 PCL Reference Manual
Transform Actions

sgm_transform_rotate (entity_labels, entity_type, axis, angle, offset,


coord_frame, num_repeat, delete_original,
entity_list, created_labels)

Description:
This function creates entities by rotating a set of entities around an axis in a reference coordinate frame.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be
created.
STRING entity_type[] This value specifies the type of entity. This value can be
set to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
STRING axis[] This value specifies the axis of rotation.
REAL angle This value specifies the angle of rotation in degrees.
REAL offset This value specifies the offset angle between the entity
and the beginning of the angle of rotation in degrees.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_repeat This value specifies the number of times to repeat this
transformation operation on each created entity.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be rotated.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
Chapter 3: Geometry Functions 883
Transform Actions

14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000015 LpSublistNext: End of current list has been reached.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.

Remarks:

This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
The input value num_repeat specifies the number of entities that will be created for each entity specified
by the input value entity_list. Each entity will be displayed in the graphics window.
Example:

Please see sgm_transform_rotate (p. 642) in the PCL Reference Manual Examples.
884 PCL Reference Manual
Transform Actions

sgm_transform_scale (entity_labels, entity_type, scale, origin,


coord_frame, num_repeat, delete_original,
entity_list, created_labels)

Description:
This function creates entities by scaling a set of entities.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be
created.
STRING entity_type[] This value specifies the type of entity. This value can be
set to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
REAL scale(3) This value specifies three scaling values.
STRING origin[] This value specifies the origin for the scaling operation.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_repeat This value specifies the number of scaling operations to
be done for each point.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be scaled.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is
unclassifiable.
Chapter 3: Geometry Functions 885
Transform Actions

14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000015 LpSublistNext: End of current list has been reached.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.

Remarks:

This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
The input value num_repeat specifies the number of entities that will be created for each entity specified
by the input value entity_list. Each entity will be displayed in the graphics window.
Example:

Please see sgm_transform_scale (p. 644) in the PCL Reference Manual Examples.
886 PCL Reference Manual
Transform Actions

asm_transform_solid_vsum (solid_ids, origin_1, origin_2, scales_1,


scales_2, solid_list1, solid_list2, created_ids)

Description:
This function creates a parametric tricubic solid by performing vector sums of two existing sets of
solids.
Input:
STRING solid_ids[] This value specifies the solid ID list. If this value is set to an
empty string or to “#”, the function will automatically
allocate and assign a sequential list of solid IDs.
STRING origin_1[] This value specifies the origin of the vectors for the first set
of solids.
STRING origin_2[] This value specifies the origin of the vectors for the second
set of solids.
REAL scales_1(3) This value specifies the factor to be used to scale the first set
of solid vectors.
REAL scales_2(3) This value specifies the factor to be used to scale the second
set of solid vectors.
STRING solid_list1[] This value specifies the first solid list.
STRING solid_list2[] This value specifies the second solid list.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
1000064 Overwrite of existing entity not permitted.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
Chapter 3: Geometry Functions 887
Transform Actions

14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
38000452 Unable to calculate a point on the solid.

Remarks:

This function displays a message listing the number of solids created and their IDs.
One solid will be created for each set of solids in the input values solid_list1 and solid_list2. Each solid
created will be displayed in the graphics window.
Example:

Please see asm_transform_solid_vsum (p. 646) in the PCL Reference Manual Examples.
888 PCL Reference Manual
Transform Actions

asm_transform_surface_vsum (surface_ids, origin_1, origin_2, scales_1,


scales_2, surface_list1, surface_list2,
created_ids)

Description:
This function creates a parametric bicubic surface by performing vector sums of two existing sets of
surfaces.
Input:
STRING surface_ids[] This value specifies the surface ID list. If this value is set to
an empty string or to “#”, the function will automatically
allocate and assign a sequential list of surface IDs.
STRING origin_1[] This value specifies the origin of the vectors for the first set
of surfaces.
STRING origin_2[] This value specifies the origin of the vectors for the second
set of surfaces.
REAL scales_1(3) This value specifies the factor to be used to scale the first set
of surface vectors.
REAL scales_2(3) This value specifies the factor to be used to scale the second
set of surface vectors.
STRING surface_list1[] This value specifies the first surface list.
STRING surface_list2[] This value specifies the second surface list.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
1000064 Overwrite of existing entity not permitted.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
Chapter 3: Geometry Functions 889
Transform Actions

14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each set of surfaces in the input values surface_list1 and surface_list2.
Each surface created will be displayed in the graphics window.
Example:

Please see asm_transform_surface_vsum (p. 647) in the PCL Reference Manual Examples.
890 PCL Reference Manual
Transform Actions

sgm_transform_translate (entity_labels, entity_type, delta, coord_frame,


num_repeat, delete_original, entity_list,
created_labels)

Description:
This function creates entities by translating a set of entities.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be created.
STRING entity_type[] This value specifies the type of entity. This value can be set
to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
STRING delta[] This value specifies the translation vector.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_repeat This value specifies the number of translations for each
entity.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be translated.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
Chapter 3: Geometry Functions 891
Transform Actions

14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.

Remarks:

This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
The input value num_repeat specifies the number of entities that will be created for each entity specified
by the input value entity_list. Each entity will be displayed in the graphics window.
Example:

Please see sgm_transform_translate (p. 648) in the PCL Reference Manual Examples.
892 PCL Reference Manual
Transform Actions

sgm_transform_translate_v1 (entity_labels, entity_type, delta,


magnitude, reverse_direction, coord_frame,
num_repeat, delete_original, entity_list,
created_labels)

Description:
This function creates entities by translating a set of entities.
Input:
STRING entity_labels[] This value specifies the labels of the entities to be created.
STRING entity_type[] This value specifies the type of entity. This value can be set
to: “point”, “curve”, “surface”, “solid”, “plane”, or
“vector”.
STRING delta[] This value specifies the direction vector.
REAL magnitude This value specifies the vector magnitude.
LOGICAL reverse_direction This value is set to TRUE if the direction vector will be
reversed. If this value is set to FALSE, the direction vector
will not be reversed.
STRING coord_frame[] This value specifies the reference coordinate frame.
INTEGER num_repeat This value specifies the number of translations for each
entity.
LOGICAL delete_original This value is set to TRUE if the original entities are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING entity_list[] This value specifies the list of entities to be translated.
Output:
STRING created_labels[] This value returns the labels of the entities created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
2011004 The Repeat Count must be greater than 0.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
Chapter 3: Geometry Functions 893
Transform Actions

14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
38001209 An invalid geometric entity type was used as input. Unable to process request.

Remarks:

This function displays the number of entities created and their labels. If the original entities are to be
deleted, the number of entities deleted and their labels will also be displayed.
The input value num_repeat specifies the number of entities that will be created for each entity specified
by the input value entity_list. Each entity will be displayed in the graphics window.
Example:

Please see sgm_transform_translate (p. 648) in the PCL Reference Manual Examples.
???cross reference needs to be updated
894 PCL Reference Manual
Edit Actions

Edit Actions
This section is used to describe some of the functions used to implement the “Edit” actions.

asm_edit_curve_blend (curve_ids, weights, curve_list,


delete_original, created_ids)

Description:
This function will create parametric cubic curves from a set of curves, enforcing the first derivative
continuity across the boundaries of the curves.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value is set to
an empty string or to “#”, the function will automatically
allocate and assign a sequential list of curve IDs.
STRING weights[] This value specifies the weighting factors of one curve
relative to another. This value must be greater than zero. A
value of 1.0 will cause all curves to have an equal weight.
A value greater than 1.0 will allow the slope of a curve at
the beginning of the list of curves specified by the input
value curve_list to dominate the slope of the created curves.
A value less than 1.0 will allow the slope of a curve at the
end of the list of curves specified by the input value
curve_list to dominate the slope of the created curves.
STRING curve_list[] This value specifies the list of curves to blend.
LOGICAL delete_original This value is set to TRUE if the original curves are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
Chapter 3: Geometry Functions 895
Edit Actions

A curve will be created for each identifier specified by the input value curve_ids. If the input value
curve_ids is set to an empty string or “#”, a single curve will be created. All curves created will be
displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000574 There must be at least two curves as input to Blend. The invalid value input was %A%.
1000575 Line %I% with vertices %I% and %I% cannot blend with Line %I% with vertices
%I% and %I%.
1000576 One of the curves input to blend has a vector length of zero. Unable to blend curves.
1000587 Unable to merge with a circular curve.
2001070 Unable to acquire %I% words of virtual memory.
38000003 No blob provided.
38000117 An attempt to approximate a general curve with a single Parametric Cubic failed.
38000450 Unable to calculate a point on the curve.

Example:

Please see asm_edit_curve_blend (p. 650) in the PCL Reference Manual Examples.
896 PCL Reference Manual
Edit Actions

asm_edit_curve_merge (curve_ids, curve_list, num_curves, geo_tolerance,


num_iterations, delete_original, created_ids)

Description:
This function will create parametric cubic curves from a set of curves by merging the original curves.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value is set to an
empty string or to “#”, the function will automatically
allocate and assign a sequential list of curve IDs.
STRING curve_list[] This value specifies the list of original curves to merge.
INTEGER num_curves This value specifies the number of curves to create from the
existing set of curves.
REAL geo_tolerance This value specifies the geometric tolerance used to test for
convergence. The default value is 0.005.
INTEGER num_iterations This value specifies the maximum number of times to iterate
during the numerical approximation. The default value is 0.
LOGICAL delete_original This value is set to TRUE if the original curves are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
The input value num_curves specifies the number of curves that will be created. All curves created will
be displayed in the graphics window.
This function can display an information popup message form with the following message:

1000517 The Line Construct parameter %A% was reset from the invalid input value of %I% to
the default value of %I%.
Chapter 3: Geometry Functions 897
Edit Actions

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000500 There must be at least one line as input. The invalid value input was %I%.
1000503 It is not possible to order the curves from head to tail.
1000516 The points are all within tolerance of one another. A zero length line will not be
produced.
2001070 Unable to acquire %I% words of virtual memory.

Example:

Please see asm_edit_curve_merge (p. 651) in the PCL Reference Manual Examples.
898 PCL Reference Manual
Edit Actions

asm_edit_solid_blend (solid_ids, weights, solid_list,


delete_original, created_ids)

Description:
This function will create parametric tricubic solids from a set of solids, enforcing the first derivative
continuity across the boundaries of the solids.
Input:
STRING solid_ids[] This value specifies the solid ID list. If this value is set to an
empty string or to “#”, the function will automatically
allocate and assign a sequential list of solid IDs.
STRING weights[] This value specifies the weighting factors of one solid
relative to another. This value must be greater than zero. A
value of 1.0 will cause all solids to have an equal weight. A
value greater than 1.0 will allow the slope of a solid at the
beginning of the list of solids specified by the input value
solid_list to dominate the slope of the created solids. A value
less than 1.0 will allow the slope of a solid at the end of the
list of solids specified by the input value solid_list to
dominate the slope of the created solids.
STRING solid_list[] This value specifies the list of solids to blend.
LOGICAL delete_original This value is set to TRUE if the original solids are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of solids created and their IDs.
A solid will be created for each identifier specified by the input value solid_ids. If the input value
solid_ids is set to an empty string or “#”, a single solid will be created. All solids created will be displayed
in the graphics window.
Chapter 3: Geometry Functions 899
Edit Actions

This function can display a fatal popup message form with the following messages:

1000910 Hpat %I% with vertices %I%,%I%,%I%,%I%,%I%,%I%,%I%, and %I% cannot


blend with Hpat %I% with vertices %I%,%I%,%I%,%I%,%I%,%I%,%I%, and
%I%.
1000911 There must be at least two hpats as input to Blend. The invalid value input was
%A%.
2001070 Unable to acquire %I% words of virtual memory.
38000119 An attempt to approximate a general solid with a single Parametric TriCubic failed.
38000122 Invalid format conversion flag specified for solid conversion.
38000434 The solid type used for this Action, Object, Method function is invalid. It must be of
a type that when created, has the default color of Blue.
38000452 Unable to calculate a point on the solid.

Example:

Please see asm_edit_solid_blend (p. 653) in the PCL Reference Manual Examples.
900 PCL Reference Manual
Edit Actions

asm_edit_surface_blend (surface_ids, edge_list, weights,


surface_list, delete_original, created_ids)

Description:
This function will create parametric bicubic surfaces from a set of surfaces, enforcing the first
derivative continuity across the boundaries of the surfaces.
Input:
STRING surface_ids[] This value specifies the surface ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
surface IDs.
STRING edge_list[] This value specifies the list of surface edges to be
assigned a weighting factor.
STRING weights[] This value specifies the weighting factors of one surface
relative to another. This value must be greater than zero.
A value of 1.0 will cause all surfaces to have an equal
weight. A value greater than 1.0 will allow the slope of a
surface at the beginning of the list of surfaces specified
by the input value surface_list to dominate the slope of
the created surfaces. A value less than 1.0 will allow the
slope of a surface at the end of the list of surfaces
specified by the input value surface_list to dominate the
slope of the created surfaces.
STRING surface_list[] This value specifies the list of original surfaces to blend.
LOGICAL delete_original This value is set to TRUE if the original surfaces are to
be deleted. If this value is set to FALSE, the original
entities will not be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
Chapter 3: Geometry Functions 901
Edit Actions

A surface will be created for each identifier specified by the input value surface_ids. If the input value
surface_ids is set to an empty string or “#”, a single surface will be created. All surfaces created will be
displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000722 There must be at least two surfaces as input to Blend. The invalid value input was
%A%.
2001070 Unable to acquire %I% words of virtual memory.
38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.

Example:

Please see asm_edit_surface_blend (p. 655) in the PCL Reference Manual Examples.
902 PCL Reference Manual
Edit Actions

asm_edit_hpat_blend (hpat_ids, weights, hpat_list,


delete_original, created_ids)

Description:
This function will create hyperpatches from an existing set of hyperpatches, enforcing the first
derivative continuity across the boundaries of the solids.
Input:
STRING hpat_ids[] This value specifies the hyperpatch ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
hyperpatch IDs.
STRING weights[] This value specifies the weighting factors of one
hyperpatch relative to another. This value must be greater
than zero. A value of 1.0 will cause all hyperpatches to
have an equal weight. A value greater than 1.0 will allow
the slope of a hyperpatch at the beginning of the list of
hyperpatches specified by the input value hpat_list to
dominate the slope of the created hyperpatches. A value
less than 1.0 will allow the slope of a hyperpatch at the
end of the list of hyperpatches specified by the input
value hpat_list to dominate the slope of the created
hyperpatches.
STRING hpat_list[] This value specifies the list of hyperpatches to blend.
LOGICAL delete_original This value is set to TRUE if the original hyperpatches are
to be deleted. If this value is set to FALSE, the original
entities will not be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of hyperpatches created and their IDs.
Chapter 3: Geometry Functions 903
Edit Actions

A hyperpatch will be created for each identifier specified by the input value hypat_ids. If the input value
hypat_ids is set to an empty string or “#”, a single hyperpatch will be created. All hyperpatches created
will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000910 Hpat %I% with vertices %I%,%I%,%I%,%I%,%I%,%I%,%I%, and %I% cannot


blend with Hpat %I% with vertices %I%,%I%,%I%,%I%,%I%,%I%,%I%, and %I%.
1000911 There must be at least two hpats as input to Blend. The invalid value input was %A%.
2001070 Unable to acquire %I% words of virtual memory.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.

Example:

Please see asm_edit_hpat_blend (p. 656) in the PCL Reference Manual Examples.
904 PCL Reference Manual
Edit Actions

asm_edit_hpat_break (hpat_ids, break_type, break_entity_list, param_pos,


delete_original, solid_list, created_ids)

Description:
This function will create hyperpatches from an existing set of hyperpatches by breaking the original
hyperpatches at a parametric position, point or node, curve, or surface.
Input:
STRING hpat_ids[] This value specifies the hyperpatch ID list. If this value is set
to an empty string or to “#”, the function will automatically
allocate and assign a sequential list of hyperpatch IDs.
INTEGER break_type This value specifies the type of entity used to define the
break: 0 = parametric position, 1 = point or node, 2 = curve,
and 3 = surface.
STRING break_entity_list[] This value specifies the list of entities used to define the
break.
REAL param_pos(3) This value specifies the parametric positions that define the
break position if the input value break_type is set to 0.
LOGICAL delete_original This value is set to TRUE if the original hyperpatches are to
be deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING solid_list[] This value specifies the list of hyperpatches to break.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000040 Duplicate %A% was not created at users request.
1000064 Overwrite of existing entity not permitted.
1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
1000909 Unable to break the solid.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
Chapter 3: Geometry Functions 905
Edit Actions

14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000015 LpSublistNext: End of current list has been reached.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately
approximated to within an order of magnitude of the present geometric tolerance.
38000452 Unable to calculate a point on the solid.

Remarks:

This function displays a message listing the number of hyperpatches created and their IDs.
One hyperpatch will be created for each entry in the input value hpat_list. All hyperpatches created will
be displayed in the graphics window.
Example:

Please see asm_edit_hpat_break (p. 658) in the PCL Reference Manual Examples.
906 PCL Reference Manual
Edit Actions

asm_edit_hpat_reverse (hpat_list, reversed_labels)

Description:
This function reverses the connectivity and relocates the parametric origin of a set of hyperpatches.
Input:
STRING hpat_list[] This value specifies the list of original hyperpatches to
reverse.
Output:
STRING reversed_labels[] This value returns the reversed ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of hyperpatches reversed and their IDs
Each hyperpatch specified by the input value hpat_list will be reversed. All hyperpatches that have been
reversed will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

2001070 Unable to acquire %I% words of virtual memory.

Example:

Please see asm_edit_hpat_reverse (p. 660) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 907
Edit Actions

asm_edit_line_blend (line_ids, weights, line_list,


delete_original, created_ids)

Description:
This function will create lines from an existing set of lines, enforcing the first derivative continuity
across the boundaries of the lines.
Input:
STRING line_ids[] This value specifies the line ID list. If this value is set to an
empty string or to “#”, the function will automatically
allocate and assign a sequential list of line IDs.
STRING weights[] This value specifies the weighting factors of one line
relative to another. This value must be greater than zero. A
value of 1.0 will cause all lines to have an equal weight. A
value greater than 1.0 will allow the slope of a line at the
beginning of the list of lines specified by the input value
line_list to dominate the slope of the created lines. A value
less than 1.0 will allow the slope of a line at the end of the
list of lines specified by the input value line_list to
dominate the slope of the created lines.
STRING line_list[] This value specifies the list of lines to blend.
LOGICAL delete_original This value is set to TRUE if the original lines are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of lines created and their IDs.
A line will be created for each identifier specified by the input value line_ids. If the input value line_ids
is set to an empty string or “#”, a single line will be created. All lines created will be displayed in the
graphics window.
908 PCL Reference Manual
Edit Actions

This function can display a fatal popup message form with the following messages:

1000574 There must be at least two curves as input to Blend. The invalid value input was
%A%.
1000575 Line %I% with vertices %I% and %I% cannot blend with Line %I% with vertices
%I% and %I%.
1000576 One of the curves input to blend has a vector length of zero. Unable to blend curves.
1000587 Unable to merge with a circular curve.
2001070 Unable to acquire %I% words of virtual memory.

Example:

Please see asm_edit_line_blend (p. 661) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 909
Edit Actions

asm_edit_line_merge (line_ids, line_list, num_lines, geo_tolerance,


num_iterations, delete_original, created_ids)

Description:
This function will create lines from an existing set of lines by merging the original lines.
Input:
STRING line_ids[] This value specifies the line ID list. If this value is set to
an empty string or to “#”, the function will automatically
allocate and assign a sequential list of line IDs.
STRING line_list[] This value specifies the list of original lines to merge.
INTEGER num_lines This value specifies the number of lines to create from the
existing set of lines.
REAL geo_tolerance This value specifies the geometric tolerance used to test
for convergence. The default value is 0.005.
INTEGER num_iterations This value specifies the maximum number of times to
iterate during the numerical approximation. The default
value is 0.
LOGICAL delete_original This value is set to TRUE if the original lines are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of lines created and their IDs.
A line will be created for each line in the input value line_list. All lines created will be displayed in the
graphics window.
This function can display an information popup message form with the following message:

1000517 The Line Construct parameter %A% was reset from the invalid input value of %I%
to the default value of %I%.
910 PCL Reference Manual
Edit Actions

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000500 There must be at least one line as input. The invalid value input was %I%.
1000503 It is not possible to order the curves from head to tail.
1000516 The points are all within tolerance of one another. A zero length line will not be
produced.
2001070 Unable to acquire %I% words of virtual memory.

Example:

Please see asm_edit_line_merge (p. 662) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 911
Edit Actions

asm_edit_patch_blend (patch_ids, edge_list, weights, patch_list,


delete_original, created_ids)
Description:
This function will create patches from an existing set of patches, enforcing the first derivative
continuity across the boundaries of the patches.
Input:
STRING patch_ids[] This value specifies the patch ID list. If this value is set to
an empty string or to “#”, the function will automatically
allocate and assign a sequential list of patch IDs.
STRING edge_list[] This value specifies the list of patch edges to be assigned a
weighting factor.
STRING weights[] This value specifies the weighting factors of one patch
edged relative to another. This value must be greater than
zero. A value of 1.0 will cause all patch edges to have an
equal weight. A value greater than 1.0 will allow the slope
of a edged of a patch from the beginning of the list of
patches specified by the input value patch_list to dominate
the slope of the edges of the created patches. A value less
than 1.0 will allow the slope of an edge at the end of the list
of patches specified by the input value patch_list to
dominate the slope of the edges of the created patches.
STRING patch_list[] This value specifies the list of patches to blend.
LOGICAL delete_original This value is set to TRUE if the original patches are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of patches created and their IDs.
A patch will be created for each identifier specified by the input value patch_ids. If the input value
patch_ids is set to an empty string or “#”, a single patch will be created. All patches created will be
displayed in the graphics window.
912 PCL Reference Manual
Edit Actions

This function can display a fatal popup message form with the following messages:

1000722 There must be at least two surfaces as input to Blend. The invalid value input was
%A%.
2001070 Unable to acquire %I% words of virtual memory.

Example:

Please see asm_edit_patch_blend (p. 664) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 913
Edit Actions

asm_edit_patch_break (patch_ids, break_type, break_entity_list,


param_pos, delete_original, patch_list, created_ids)

Description:
This function will create patches from an existing set of patches by breaking the original patches at a
parametric position, point or node, curve, or surface.
Input:
STRING patch_ids[] This value specifies the patch ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
patch IDs.
INTEGER break_type This value specifies the type of entity used to define the
break: 0 = parametric position, 1 = point or node, 2 =
curve, and 3 = surface.
STRING break_entity_list[] This value specifies the list of entities used to define the
break.
REAL param_pos(2) This value specifies the parametric positions that define
the break position if the input value break_type is set to
0.
LOGICAL delete_original This value is set to TRUE if the original patches are to be
deleted. If this value is set to FALSE, the original entities
will not be deleted.
STRING patch_list[] This value specifies the list of original patches to break.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
1000706 The specified surfaces do not intersect.
1000709 Unable to intersect the curves being used to construct a patch. The curves must form
a closed region and must be in a circular order.
1000713 Unable to break the patch.
1000714 An error occurred while manifolding on a surface.
1000715 Designated point not on the patch.
914 PCL Reference Manual
Edit Actions

14000001 LpGetHeapSpace: Allocated heapspace is exhausted.


14000003 LpSublistType: No sublist filter bits are set on invocation.
14000004 LpSublistType: I am being invoked with a NULL list.
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable.
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter.
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014 LpSublistNext: Attempt to proceed past last sublist in current list.
14000208 LpSublistAttributeGet: Curve evaluator error.
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211 LpSublistAttributeGet: Surface evaluator error.
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.

Remarks:

This function displays a message listing the number of patches created and their IDs.
One patch will be created for each entry in the input value patch_list. All hyperpatches created will be
displayed in the graphics window.
Example:

Please see asm_edit_patch_break (p. 665) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 915
Edit Actions

ge_edit_entity_refit (output_ids, refit_tol, delorg, solid_list, edit_ids)

Description:
This function will refit Patran solids to a Parasolid representation.
Input:
STRING output_ids[] This value specifies the entityID list. If this value is set to
an empty string or to “#”, the function will automatically
allocate and assign a sequential list of entity IDs.
REAL refit_tol This value specifies the tolerance to be used to refit the
solid.
LOGICAL delorg This value specifies whether or not to delete the original
Patran solid after the refit.
STRING solid_list[] This value specifies the Patran solids to refit.
Output:
STRING edit_ids[VIRTUAL] This value returns a description of the refit identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output value edit_ids. It is the responsibility of
the calling function to free the allocated string storage space.
This function will update the surface identifiers that are stored in the database and displayed in a
viewport.
Example:
916 PCL Reference Manual
Edit Actions

ge_edit_solid_blend (radius, entity_type, entity_list, created_labels)

Description:
This function will create a constant radius edge blend on an edge(s) of a solid
Input:
REAL radius This value specifies the constant radius of the edge
blend
INTEGER entity_type This value specifies the type of the input entities
(1 - Edge, 2 - Face, 3 - Solid).
STRING entity_list[VIRTUAL] This value specifies the list of entities to create the
edge blend.
Output:
STRING created_labels[VIRTUAL] This value returns a description of the created
surface identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Example:
Chapter 3: Geometry Functions 917
Edit Actions

ge_edit_solid_chamfer (first_size, angle, entity_type, entity_list,


created_labels)

Description:
This function will create a constant angle chamfer type edge blend on an edge(s) of a solid
Input:
REAL first_size This value specifies the size of the chamfer on the
first surface.
REAL angle This value specifies the size of the chamfer on the
other surface.
INTEGER entity_type This value specifies the type of the input entities (1
- Edge, 2 - Face, 3 - Solid).
STRING entity_list[VIRTUAL] This value specifies the list of input entities to
create the chamfer.
Output:
STRING created_labels[VIRTUAL] This value returns a description of the created
surface identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Example:
918 PCL Reference Manual
Edit Actions

ge_edit_solid_disassemble (solid_list, convert_surfaces, delorg, edit_ids)

Description:
This function will disassemble B-rep Solids into their constituent surfaces.
Input:
STRING solid_list[] This value specifies the B-rep Solids to
disassemble.
LOGICAL convert_surfaces This value specifies whether or not to convert the
constituent surfaces into simply trimmed(green)
surfaces. Green surfaces are used to create
TriParametric Solids(blue).
LOGICAL delorg This value specifies whether or not to delete the
original Patran solid after the disassemble.
Output:
STRING edit_ids[VIRTUAL] This value returns a description of the surface
identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output value edit_ids. It is the responsibility of
the calling function to free the allocated string storage space.
This function will update the surface identifiers that are stored in the database and displayed in a
viewport.
Example:
Chapter 3: Geometry Functions 919
Edit Actions

ge_edit_solid_imprint_solid (imprinting_solid, imprinted_solid,


edited_labels)

Description:
This function will imprint the selected solid bodies on solid bodies.
Input:
STRING imprinting_solid[] This value specifies the list of imprinting solids.
STRING imprinted_solid[] The value specifies the target solid bodies for
imprinting.
Output:
STRING edited_labels[VIRTUAL] This value returns a description of the edited solid
identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output value created_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the surface identifiers that are stored in the database and displayed in a
viewport.
Example:
920 PCL Reference Manual
Edit Actions

ge_edit_solid_refit_v1 (output_ids, refit_type, udensity, vdensity, wdensity,


refit_tol, delorg, solid_list, edit_ids)

Description:
This function will refit Solids to TriCubicNet or TriParametric geometric representation. If the solid
is of type B-rep, then it must have only five or six faces.
Input:
STRING output_ids[] This value specifies the entityID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of entity IDs.
INTEGER refit_type This value specifies the type of solid to refit into:

1 = TriCubicNet

2 = TriParametric
INTEGER udensity This value specifies the internal density in the
parametric u direction for the number of tri-cubic
solids to create in the TriCubicNet Solid. (Used if
refit_type = 1)
INTEGER vdensity This value specifies the internal density in the
parametric v direction for the number of tri-cubic
solids to create in the TriCubicNet Solid. (Used if
refit_type = 1)
INTEGER wdensity This value specifies the internal density in the
parametric w direction for the number of tri-cubic
solids to create in the TriCubicNet Solid. (Used if
refit_type = 1)
REAL refit_tol This value specifies the tolerance to be used to refit
the solid. (Used if refit_type = 2)
LOGICAL delorg This value specifies whether or not to delete the
original Patran solid after the refit.
STRING solid_list[] This value specifies the Patran solids to refit.
Output:
STRING edit_ids[VIRTUAL] This value returns a description of the refit
identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Chapter 3: Geometry Functions 921
Edit Actions

Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output value edit_ids. It is the responsibility of
the calling function to free the allocated string storage space.
This function will update the surface identifiers that are stored in the database and displayed in a
viewport.

ge_edit_solid_shelling (thickness, face_list, created_labels)

Description:
This function will hollow a solid by shelling the selected faces.
Input:
REAL thickness This value specifies the thickness for shelling.
STRING face_list[VIRTUAL] This value specifies the list of faces to shell.
Output:
STRING created_labels[VIRTUAL] This value returns a description of the created
surafce identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Example:
922 PCL Reference Manual
Edit Actions

ge_edit_surface_trim_edge (surface, edge, delete_sliver, edited_labels)

Description:
This function will trim an existing surface using one of its edges and optionally remove the remaining
sliver surface.
Input:
STRING surface[] This value specifies the surface to trim.
STRING edge[] This value specifies the edge to use for trimming
the surface.
LOGICAL delete_sliver This value specifies whether or not to delete the
sliver surface remaining after the trim.
Output:
STRING edited_labels[VIRTUAL] This value returns a description of the edited
surface identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output value edited_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the surface identifiers that are stored in the database and displayed in a
viewport.
Example:
Chapter 3: Geometry Functions 923
Edit Actions

ge_solid_break_by_plane (output_ids, solid_list, plane_list,


delete_orig, created_ids)

Description:
This function breaks solids by planes.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING solid_list[] This value specifies the list of the solids to be
broken.
STRING plane_list[] This value specifies the list of the planes which
will break the solids.
INTEGER delete_orig This value is set to TRUE if the original solids are
to be deleted.

0=Retain original geometry


1=Delete original geometry
Output:
STRING created_ids[] This value returns the created solids ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
38001214 Unable to break the solid because failed to break one or more its faces. Slightly
move the splitting plane or surface and break the solid again.
38001217 Unable to break %A%. Errors occurred in breaking its faces. Check the
intersections of the solid faces with the splitting plane/surface. Then check if all
faces, which the plane or surface intersects, can be broken.

Example:
924 PCL Reference Manual
Edit Actions

sgm_edit_brep_break_plane (solid_list, plane_list, delete_flag,


created_ids)

Description:
This function breaks a set of solids with a set of planes.
Input:
STRING solid_list[] This value specifies the list of the solids to be
broken.
STRING plane_list[] This value specifies the list of the planes which
will break the solids.
LOGICAL delete_flag This value is set to TRUE if the original solids are
to be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
38001214 Unable to break the solid because failed to break one or more its faces. Slightly
move the splitting plane or surface and break the solid again.
38001217 Unable to break %A%. Errors occurred in breaking its faces. Check the
intersections of the solid faces with the splitting plane/surface. Then check if all
faces, which the plane or surface intersects, can be broken.

Remarks:

This function displays a message listing the number of solids created and their IDs.
Two or more solids will be created. Each solid will be displayed in the graphics window as it is created.
Example:

Please see sgm_edit_brep_break_plane (p. 667) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 925
Edit Actions

sgm_edit_brep_break_plane_v1 (output_ids, solid_list, plane_list,


delete_orig, created_ids)

Description:
This function breaks a set of solids with a set of planes.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING solid_list[] This value specifies the list of the solids to be
broken.
STRING plane_list[] This value specifies the list of the planes which
will break the solids.
LOGICAL delete_orig This value is set to TRUE if the original solids are
to be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
38001214 Unable to break the solid because failed to break one or more its faces. Slightly
move the splitting plane or surface and break the solid again.
38001217 Unable to break %A%. Errors occurred in breaking its faces. Check the
intersections of the solid faces with the splitting plane/surface. Then check if all
faces, which the plane or surface intersects, can be broken.

Example:
926 PCL Reference Manual
Edit Actions

sgm_edit_brep_break_surface (solid_list, surface_list, delete_flag,


created_ids)

Description:
This function breaks a solid with a surface.
Input:
STRING solid_list[] This value specifies the list of the solids to be
broken.
STRING surface_list[] This value specifies the list of the surfaces which
will break the solids.
LOGICAL delete_flag This value is set to TRUE if the original solids are
to be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
38001214 Unable to break the solid because failed to break one or more its faces. Slightly
move the splitting plane or surface and break the solid again.
38001217 Unable to break %A%. Errors occurred in breaking its faces. Check the
intersections of the solid faces with the splitting plane/surface. Then check if all
faces, which the plane or surface intersects, can be broken.

Remarks:

This function displays a message listing the number of solids created and their IDs.
Two or more solids will be created. Each solid will be displayed in the graphics window as it is created.
Example:

Please see sgm_edit_brep_break_surface (p. 668) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 927
Edit Actions

sgm_edit_brep_break_surface_v1 (output_ids, solid_list, surface_list,


delete_orig, created_ids)

Description:
This function breaks a set of solids with a set of surfaces.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
STRING solid_list[] This value specifies the list of the solids to be
broken.
STRING surface_list[] This value specifies the list of the surfaces which
will break the solids.
LOGICAL delete_orig This value is set to TRUE if the original solids are
to be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
38001214 Unable to break the solid because failed to break one or more its faces. Slightly
move the splitting plane or surface and break the solid again.
38001217 Unable to break %A%. Errors occurred in breaking its faces. Check the
intersections of the solid faces with the splitting plane/surface. Then check if all
faces, which the plane or surface intersects, can be broken.

Example:
928 PCL Reference Manual
Edit Actions

sgm_edit_curve_break_parametric (curve_ids, curve_position, curve_list,


delete_original, created_ids)

Description:
This function creates curves by breaking a set of curves at an arbitrary intermediate position.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
REAL curve_position This value specifies the parametric position along
the curve of the break point.
STRING curve_list[] This value specifies the list of curves to break.
LOGICAL delete_original This value is set to TRUE if the original curves are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
Two curves will be created for each curve to break. All curves created will be displayed in the graphics
window.
This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
2001070 Unable to acquire %I% words of virtual memory.
Chapter 3: Geometry Functions 929
Edit Actions

Example:

Please see sgm_edit_curve_break_parametric (p. 669) in the PCL Reference Manual Examples.

sgm_edit_curve_break_plane (curve_ids, plane_list, curve_list,


delete_flag, created_ids)

Description:
This function breaks a set of curves with a set of planes.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
curve IDs.
STRING plane_list[] This value specifies the list of the planes which will
break the curves.
STRING curve_list[] This value specifies the list of the curves which is to
be broken.
LOGICAL delete_flag This value is set to TRUE if the original curves are
to be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
38001214 Unable to break the solid because failed to break one or more its faces. Slightly move
the splitting plane or surface and break the solid again.
38001217 Unable to break %A%. Errors occurred in breaking its faces. Check the intersections
of the solid faces with the splitting plane/surface. Then check if all faces, which the
plane or surface intersects, can be broken.

Remarks:

This function displays a message listing the number of curves created and their IDs.
Two or more curves will be created. Each curve will be displayed in the graphics window as it is created.
930 PCL Reference Manual
Edit Actions

Example:

Please see sgm_edit_curve_break_plane (p. 670) in the PCL Reference Manual Examples.

sgm_edit_curve_break_point (curve_ids, point_list, curve_list,


delete_original, created_ids)

Description:
This function creates a set of curves by breaking a set of curves at a set of points.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING point_list[] This value specifies the list of points on the curve
to specify the break point.
STRING curve_list[] This value specifies the list of curves to break.
LOGICAL delete_original This value is set to TRUE if the original curves are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:.

This function displays a message listing the number of curves created and their IDs.
The number of curves created will be equal to the number of break points + 1 specified by the input value
point_list for each curve to break. All curves created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

2001070 Unable to acquire %I% words of virtual memory.


Chapter 3: Geometry Functions 931
Edit Actions

Example:

Please see sgm_edit_curve_break_point (p. 672) in the PCL Reference Manual Examples.

sgm_edit_curve_disassemble (curve_list, delete_original)

Description:
This function creates curves by disassembling a set of chain curve.
Input:
STRING curve_list[] This value specifies the list of chain curves to
disassemble.
LOGICAL delete_original This value is set to TRUE if the original chains are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
Each chain curve will be disassembled into a number of curves based on the geometry of the original
chain. Each curve created will be displayed in the graphics window.
This function can display an information popup message form with the following messages:

1000040 Duplicate %A% was not created at users request.

This function can display a warning popup message form with the following messages:

38000471 Curve %I% is not a chain.

This function can display a fatal popup message form with the following messages:

1000201 %A% is not a recognized syntax for a Curve List.


38000003 No blob provided.
932 PCL Reference Manual
Edit Actions

38000450 Unable to calculate a point on the curve.


38000470 Unable to load the curve into the database.
38000805 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_edit_curve_disassemble (p. 673) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 933
Edit Actions

sgm_edit_curve_extend_1curve (curve_ids, extend_type, length_type,


curve_length, curve_extend_point,
created_ids)

Description:
This function will create curves by extension of a set of curves by either creating straight curves
which start at the beginning or end of an existing curve and moves in a tangential direction from the
end of the curve for a specified distance or by reparameterizing existing curves starting at the
beginning or end of a curve and continuing for a specified distance.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
INTEGER extend_type This value specifies the curve type to create from
extending the original curves: 1 = straight curve,
and 2 = continuous curvature curve.
INTEGER length_type This value specifies the curve length type if the
input value extend_type is set to 2: 1= added curve
length, and 2 = percent of total length of original
curve.
REAL curve_length This value specifies the length to extend the curves
STRING curve_extend_point[] This value specifies the original curves to extend
and the points on the curves defining which end of
the curves to extend.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
A curve will be created for each curve to extend. All curves created will be displayed in the graphics
window.
934 PCL Reference Manual
Edit Actions

This function can display a fatal popup message form with the following messages:

1000568 Error evaluating curve for extending. Unable to extend the original curve.
1000569 The curve trying to extend has a tangent of length zero. Unable to extend curve.
1000570 The extended curve length of %G% is invalid. Input length value greater than zero.
2001070 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_edit_curve_extend_1curve (p. 674) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 935
Edit Actions

sgm_edit_curve_extend_1curve_v1 (curve_ids, extend_type,


length_type, curve_length,
curve_extend_point, created_ids)

Description:
This function will extend curves by starting at the beginning or end of an existing curve and moving
in a tangential direction from the beginning or end of the curve for a specified distance or by
reparameterizing existing curves starting at the beginning or end of a curve and continuing for a
specified distance.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
INTEGER extend_type This value specifies the curve type to create from
extending the original curves: 1 = straight curve,
and 2 = continuous curvature curve.
INTEGER length_type This value specifies the curve length type if the
input value extend_type is set to 2: 1= added curve
length, and 2 = percent of total length of original
curve.
REAL curve_length This value specifies the length to extend the curves
STRING curve_extend_point[] This value specifies the original curves to extend
and the points on the curves defining which end of
the curves to extend.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
All curves created will be displayed in the graphics window.
936 PCL Reference Manual
Edit Actions

This function can display a fatal popup message form with the following messages:

1000568 Error evaluating curve for extending. Unable to extend the original curve.
1000569 The curve trying to extend has a tangent of length zero. Unable to extend curve.
1000570 The extended curve length of %G% is invalid. Input length value greater than zero.
2001070 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_edit_curve_extend_1curve (p. 674) in the PCL Reference Manual Examples.

sgm_edit_curve_extend_2curve (curve_ids, curve1_list, curve2_list, created_ids)

Description:
This function extends two sets of curves to their points of intersection.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING curve1_list[] This value specifies the first curve list to extend to
an intersection point.
STRING curve2_list[] This value specifies the second curve list to extend
to an intersection point.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
Pairs of curves from each set of curves will be extended to their points of intersection. All curves will be
displayed in the graphics window.
Chapter 3: Geometry Functions 937
Edit Actions

This function can display a warning popup message form with the following message:

1000559 The intersection point of the pair of curves to extend is within geometric tolerance
( %G% ) of both curves. The original curves were not extended.

This function can display a fatal popup message form with the following messages:

1000555 The two curves are collinear so an intersection point cannot be calculated.
1000556 The two curves are not coplanar so an intersection point cannot be calculated.
1000568 Error evaluating curve for extending. Unable to extend the original curve.
2001070 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_edit_curve_extend_2curve (p. 675) in the PCL Reference Manual Examples.

sgm_edit_curve_extend_2curve_v1 (curve_ids, curve1_list,


curve2_list, created_ids)

Description:
This function extends a set of curves to their points of intersection.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING curve1_list[] This value specifies the first curve list to extend to
an intersection point.
STRING curve2_list[] This value specifies the second curve list to extend
to an intersection point.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
938 PCL Reference Manual
Edit Actions

This function displays a message listing the number of curves created and their IDs.
Pairs of curves from each set of curves will be extended to their points of intersection. All curves will be
displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000568 Error evaluating curve for extending. Unable to extend the original curve.
2001070 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_edit_curve_extend_2curve (p. 675) in the PCL Reference Manual Examples.

sgm_edit_curve_extend_circle (curve_ids, curve_extend_point,


delete_original, created_ids)
Description:
This function extends an existing set of curves by creating a full circle from a point on the curve at
the start, end, or an interior point.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value is set
to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
curve IDs. These identifier values will be used only if
the original curves being extended are topological
edges.
STRING curve_extend_point[] This value specifies the original curves to be extended
along with the points on the curves at which the circle
will be created.
LOGICAL delete_original This value is set to TRUE if the original curves are to
be deleted. If this value is set to FALSE, the original
entities will not be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:
Chapter 3: Geometry Functions 939
Edit Actions

This function displays a message listing the number of curves created and their IDs.
Each curve specified will be extended. All curve created will be displayed in the graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a warning popup message form with the following message:

38000439 The selected curve %I% has no center of curvature. The curve can not be
extended into a full circle.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000413 Zero length plane normal vector.
38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_edit_curve_extend_circle (p. 676) in the PCL Reference Manual Examples.
940 PCL Reference Manual
Edit Actions

sgm_edit_curve_extend_points (curve_ids, curve_list, point_list,


created_ids)

Description:
This function extends a set of existing curves by adding extra points at one end of a curve and refitting
the curve to that point.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs (only used if the original curve to
extend is a topological edge).
STRING curve_list[] This value specifies the set of curves to extend.
STRING point_list[] This value specifies the points to add to ends of the
curves being extended.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
Each curve listed will be extended. All curves created will be displayed in the graphics window.
This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

38000003 No blob provided.


38000450 Unable to calculate a point on the curve.
38000845 Unable to acquire %I% words of virtual memory.
Chapter 3: Geometry Functions 941
Edit Actions

Example:

Please see sgm_edit_curve_extend_points (p. 677) in the PCL Reference Manual Examples.

sgm_edit_curve_extend_tocurve (curve_ids, curvepoint_list, curve_list,


break, delete_original, created_ids)

Description:
This function will extend a curve to the point of intersection of another curve with an option to break
the intersecting curve at the point of intersection.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING curvepoint_list This value specifies the curve to extend and the end
of the curve to extend from.
STRING curve_list This value specifies the intersecting curve to
extend to.
LOGICAL break This value specifies whether or not to break the
intersecting curve at the point of intersection.
LOGICAL delete_original This value specifies whether or not the original
intersecting curve is to be deleted after the extend
operation.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves edited and their IDs.
All curves edited will be displayed in the graphics window.
942 PCL Reference Manual
Edit Actions

This function can display a fatal popup message form with the following messages:

1000568 Error evaluating curve for extending. Unable to extend the original curve.
1000569 The curve trying to extend has a tangent of length zero. Unable to extend curve.
2001070 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_edit_curve_extend_1curve (p. 674) in the PCL Reference Manual Examples.

sgm_edit_curve_merge (curve_ids, curve_list, num_curves,


merge_tolerance, delete_original, created_ids)

Description:
This function will create curves by merging a set of curves.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING curve_list[] This value specifies the original curves to merge.
INTEGER num_curves This value specifies the number of curves to create.
REAL merge_tolerance This value specifies the geometric tolerance used
to determine the point distribution along the new
curves and the accuracy of the merge process.
LOGICAL delete_original This value is set to TRUE if the original curves are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
Chapter 3: Geometry Functions 943
Edit Actions

The input value num_curves specifies the number of curves that will be created from the input value
curve_list. All curves created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000500 There must be at least one line as input. The invalid value input was %I%.
38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
38000467 Curves to be chained are not contiguous due to a gap of %G%. The point of
discontinuity has been marked.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_edit_curve_merge (p. 678) in the PCL Reference Manual Examples.
944 PCL Reference Manual
Edit Actions

sgm_edit_curve_refit (curve_ids, curve_list, refit_method, refit_tolerance,


num_curves, delete_original, created_ids)

Description:
This function will create piecwise cubic spline curves by refitting a set of curves.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of curve IDs.
STRING curve_list[] This value specifies the list of curves to be refitted.
INTEGER refit_method This value specifies the refit method: 1 = tolerance
based, and 2 = num_curves uniformly distributed
cubic spline segments using arc length
parameterization.
REAL refit_tolerance This value specifies the refit tolerance to use if the
input value refit_method is set to 1.
INTEGER num_curves This value specifies the number of spline segments
to create if the input value refit_method is set to 2.
LOGICAL delete_original This value is set to TRUE if the original curves are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of curves created and their IDs.
Curves will be created for each curve in the input value curve_list. Each curve created will be displayed
in the graphics window.
Chapter 3: Geometry Functions 945
Edit Actions

This function can display an information popup message form with the following message:

1000040 Duplicate %A% was not created at users request.

This function can display a fatal popup message form with the following messages:

1000201 %A% is not a recognized syntax for a Curve List.


38000003 No blob provided.
38000450 Unable to calculate a point on the curve.
38000805 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_edit_curve_refit (p. 680) in the PCL Reference Manual Examples.

sgm_edit_curve_reverse (reverse_mesh, curve_list, reversed_ids)

Description:
This function will reverse the direction of a set of curves and optionally, any associated finite element
model entities.
Input:
LOGICAL reverse_mesh This value is set to TRUE if any associated finite
element model entities are to be reversed with the
curve. If this value is set to FALSE, any associated
finite element model entities will not be reversed.
STRING curve_list[] This value specifies the list of curves to reverse.
Output:
STRING reversed_ids[] This value returns the reversed ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of curves (IDs) reversed.


All curves reversed will be displayed in the graphics window.
946 PCL Reference Manual
Edit Actions

This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


2001070 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_edit_curve_reverse (p. 681) in the PCL Reference Manual Examples.

sgm_edit_curve_trim_parametric (curve_position, curve_trim_point,


trimmed_ids)

Description:
This function trims a set of curves at a defined parametric position, followed by the removal of the
unwanted portion of the original curves.
Input:
REAL curve_position This value specifies the parametric position along
the curve to specify the trim point.
STRING curve_trim_point[] This value specifies the original curve to trim and
the point on the curve defining which end of the
curve to discard.
Output:
STRING trimmed_ids[] This value returns the trimmed ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of curves trimmed.


A curve will be modified for each curve to trim. All curves trimmed will be displayed in the graphics
window.
This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
Chapter 3: Geometry Functions 947
Edit Actions

1000565 The curve to trim is an edge, and trimming edges is not allowed.
2001070 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_edit_curve_trim_parametric (p. 682) in the PCL Reference Manual Examples.

sgm_edit_curve_trim_point (trim_point, curve_trim_point, trimmed_ids)

Description:
This function trims a set of curves at defined intersection points, followed by the removal of the
unwanted portion of the original curves.
Input:
STRING trim_point[] This value specifies the point on the curve to
specify the trim point.
STRING curve_trim_point[] This value specifies the original curve to trim and
the point on the curve defining which end of the
curve to discard.
Output:
STRING trimmed_ids[] This value returns the trimmed ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of curves trimmed.


A curve will be modified for each curve to trim. All curves trimmed will be displayed in the graphics
window.
This function can display a fatal popup message form with the following messages:

1000565 The curve to trim is an edge, and trimming edges is not allowed.
2001070 Unable to acquire %I% words of virtual memory.
948 PCL Reference Manual
Edit Actions

Example:

Please see sgm_edit_curve_trim_point (p. 683) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 949
Edit Actions

sgm_edit_solid_break_v1 (solid_ids, break_type, break_entity_list,


param_pos, delete_original, solid_list,
created_ids)

Description:
This function creates a set of solids from an existing set of solids by breaking the original solids at a
parametric position, point or node, curve, or surface.
Input:
STRING solid_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
INTEGER break_type This value specifies the type of entity used to
define the break: 1 = parametric position, 2 = point
or node, 3 = curve, and 4 = surface. Curves,
surfaces and solids will both be approximated to
parametric cubics and then the solid will be
broken.
STRING break_entity_list[] This value specifies the list of entities used to
define the break.
REAL param_pos(3) This value specifies the parametric positions that
define the break position if the input value
break_type is set to 1.
LOGICAL delete_original This value is set to TRUE if the original solids are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
STRING solid_list[] This value specifies the list of original solids to
break.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of solids created and their IDs.
950 PCL Reference Manual
Edit Actions

A solid will be created for each solid in the input value solid_list. All solids created will be displayed in
the graphics window.
This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
2001070 Unable to acquire %I% words of virtual memory.
38000117 An attempt to approximate a general curve with a single Parametric Cubic failed.
38000118 An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000119 An attempt to approximate a general solid with a single Parametric TriCubic failed.
38000121 Invalid format conversion flag specified for surface conversion.
38000122 Invalid format conversion flag specified for solid conversion.
38000434 The solid type used for this Action, Object, Method function is invalid. It must be of
a type that when created, has the default color of Blue.
38000436 Specified Break Method value of %I% is invalid. Valid values are 1-4.
38000452 Unable to calculate a point on the solid.
38000496 Unable to break Solid %I%.
38000497 Unable to break a solid with the specified parametric position values of %G%,
%G%, and %G%.
38000499 Unable to break a solid with the calculated parametric position values of %G%,
%G%, and %G% from the point coordinates of %G%, %G%, and %G%.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_edit_solid_break_v1 (p. 684) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 951
Edit Actions

sgm_edit_solid_break_v2 (solid_ids, break_type, break_entity_list,


param_pos, delete_original, solid_list,
created_ids)

Description:
This function creates a set of solids from an existing set of solids by breaking the original solids at a
parametric position, point or node, curve, or surface.
Input:
STRING solid_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to "#", the function will
automatically allocate and assign a sequential list
of solid IDs.
INTEGER break_type This value specifies the type of entity used to
define the break: 1 = parametric position, 2 = point
or node, 3 = curve, and 4 = surface. Curves,
surfaces and solids will both be approximated to
parametric cubics and then the solid will be
broken.
STRING break_entity_list[] This value specifies the list of entities used to
define the break.
REAL param_pos(3) This value specifies the parametric positions that
define the break position if the input value
break_type is set to 1.
LOGICAL delete_original This value is set to TRUE if the original solids are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
STRING solid_list[] This value specifies the list of original solids to
break.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of solids created and their IDs.
952 PCL Reference Manual
Edit Actions

A solid will be created for each solid in the input value solid_list. All solids created will be displayed in
the graphics window.
This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
2001070 Unable to acquire %I% words of virtual memory.
38000117 An attempt to approximate a general curve with a single Parametric Cubic failed.
38000118 An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000119 An attempt to approximate a general solid with a single Parametric TriCubic failed.
38000121 Invalid format conversion flag specified for surface conversion.
38000122 Invalid format conversion flag specified for solid conversion.
38000434 The solid type used for this Action, Object, Method function is invalid. It must be of
a type that when created, has the default color of Blue.
38000436 Specified Break Method value of %I% is invalid. Valid values are 1-4.
38000452 Unable to calculate a point on the solid.
38000496 Unable to break Solid %I%.
38000497 Unable to break a solid with the specified parametric position values of %G%,
%G%, and %G%.
38000499 Unable to break a solid with the calculated parametric position values of %G%,
%G%, and %G% from the point coordinates of %G%, %G%, and %G%.
38000845 Unable to acquire %I% words of virtual memory.

Example:

None.
Chapter 3: Geometry Functions 953
Edit Actions

sgm_edit_solid_disassemble (solid_list, delete_original,


created_labels)

Description:
This function disassembles a set of solids into subordinate surface faces.
Input:
STRING solid_list[] This value specifies the solid list.
LOGICAL delete_original This value is set to TRUE if the original solids are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
Output:
STRING created_labels[] This value returns the a list of the labels for the
created entities.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
The number of subordinate faces that each solid will be disassembled into is a function of the geometry
of the original solid. Each surface will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


8107002 Last command aborted.

Example:

Please see sgm_edit_solid_disassemble (p. 686) in the PCL Reference Manual Examples.
954 PCL Reference Manual
Edit Actions

sgm_edit_solid_refit_hp (output_ids, nu, nv, nw, delete_orig,


solid_list, created_ids)

Description:
This function will refit a parameterized solid into a tricubic network solid.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
INTEGER nu This value specifies the number of tricubic solids
to create in the u parametric direction.
INTEGER nv This value specifies the number of tricubic solids
to create in the v parametric direction.
INTEGER nw This value specifies the number of tricubic solids
to create in the w parametric direction.
LOGICAL delete_orig If this value is TRUE, it will delete the original
solid after the refit operation.
STRING solid_list[] This value specifies the solids to refit.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
38000845 Unable to acquire %I% words of virtual memory.
38000434 The solid type used for this Action, Object, Method function is invalid. It must be
of a type that when created, has the default colour of Blue.
38000148 The 3 hyperpatch densities must be positive integers!

Example
Chapter 3: Geometry Functions 955
Edit Actions

sgm_edit_solid_refit (output_ids, nu, nv, nw, solid_list,


delete_orig, created_ids)

Description:
This function will refit a 5 or 6 sided solid into a tricubic network solid.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
INTEGER nu This value specifies the number of tricubic solids
to create in the u parametric direction.
INTEGER nv This value specifies the number of tricubic solids
to create in the v parametric direction.
INTEGER nw This value specifies the number of tricubic solids
to create in the w parametric direction.
STRING solid_list[] This value specifies the solids to refit.
LOGICAL delete_orig If this value is TRUE, it will delete the original
solid after the refit operation.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
38000845 Unable to acquire %I% words of virtual memory.
38000697 This operation cannot be completed. Please verify that the inputs are valid.
38000698 Solid %I% could not be refit.
38001322 Solid %I% has a face with more than four edges and hence cannot be refit into a
TriParametric Solid.

Example:
956 PCL Reference Manual
Edit Actions

sgm_edit_solid_refit_v1 (output_ids, tolerance, solid_type,


delete_orig, solid_list, created_ids)

Description:
This function will refit a 5 or 6 sided solid into a tricubic network solid.
Input:
STRING output_ids[] This value specifies the solid ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list
of solid IDs.
REAL tolerance This value specifies the refit tolerance.
LOGICAL solid_type If this value is TRUE, it will create individual
tricubic solids, otherwise, it will create one
triparametric network solid.
LOGICAL delete_orig If this value is TRUE, it will delete the original
solid after the refit operation.
STRING solid_list[] This value specifies the solids to refit.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
38000845 Unable to acquire %I% words of virtual memory.
38000697 This operation cannot be completed. Please verify that the inputs are valid.
38000698 Solid %I% could not be refit.
38001322 Solid %I% has a face with more than four edges and hence cannot be refit into a
TriParametric Solid.
38000652 Solid %I% cannot be refit to within the specified tolerance.
38000653 Solid %I% cannot be refit within a maximum allowable space of 200000 words.
38000654 Solid %I% cannot be refit into less than 1000 hyperpatches for the specified
tolerance.

Example:
Chapter 3: Geometry Functions 957
Edit Actions

sgm_edit_solid_reverse (solid_list, reversed_ids)

Description:
This function will reverse the parameterization of a parameterized solid.
Input:
STRING solid_list[] This value specifies the solids to reverse.
Output:
STRING reversed_ids[] This value returns the reversed ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
38000845 Unable to acquire %I% words of virtual memory.

Example
958 PCL Reference Manual
Edit Actions

sgm_edit_surface_add_hole (edit_option, radius, loop_check,


vector_list, point_list, curve_list, surface,
edited_labels)

Description:
This function will add a hole to a surface by providing either a center point, a center point and a
projection vector, or a closed, chained curve in which to create the hole from.
Input:
INTEGER edit_option This value specifies the option for adding a hole
where:

1 = a circular hole is defined in the tangent plane of


the manifolded center point.

2 = a circular hole is defined in the plane of the


provided vector and vector-projectd onto the
surface.

3 = input curves are manifolded to the surface.


REAL radius Hole radius (if edit_option is either 1 or 2)
LOGICAL loop_check Check if provided loops interfere with each other or
with existing loops of the surface being edited.
STRING vector_list[] This value specifies a selection of vector identifiers
which will be used as the projection vector for
locating the center of the circular hole on the surface
(if edit_option is 2).
STRING point_list[] This value specifies a selection of points used to
define the center point of the circular hole on the
surface (if edit_option is 1 or 2).
STRING curve_list[] This value specifies a selection of closed, chained
curves used to define the hole in the surface (if
edit_option is 3).
STRING surface[] This value specifies a single surface used to define
which surface to add a hole to.
STRING edited_labels[VIRTUAL] This value returns a description of the edited surface
identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Chapter 3: Geometry Functions 959
Edit Actions

Error Conditions:

Remarks:

Space is internally allocated for the string returned by the output value edited_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the surface identifiers that are stored in the database and displayed in a
viewport.
Example:

None.

sgm_edit_surface_add_fillet (radius, point_list, surface, created_ids)

Description:
This function will edit a surface by adding a fillet at a given vertex. The topological effect of this is to
add an edge while eliminating the input vertex.
Input:
REAL radius This value specifies the fillet radius.
STRING point_list[] This value specifies the point list defining the
location to create the fillet.
STRING surface[] This value specifies a single surface to add a fillet to.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
38000845 Unable to acquire %I% words of virtual memory.
38000696 Surface %A% is either a composite trimmed surface or a tessellated surface and, as
such, is not supported by this application.
38000482 This application only works with one surface at a time. Subsequent selected surfaces
will be ignored.
38000672 A fillet of radius %G% could not be added at %A%.
1000572 The fillet curve has a zero radius. The fillet cannot be created.

Example:
960 PCL Reference Manual
Edit Actions

sgm_edit_surface_add_vertex (point_list, surface, edited_labels)

Description:
This function will add a vertex to a surface by providing a list of points to add to the surface.
Input:
STRING point_list[] This value specifies a selection of points to be used
to add vertices to a surface.
STRING surface[] This value specifies a surface to be used to add a
vertex to.
STRING edited_labels[VIRTUAL] This value returns a description of the edited surface
identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:

Remarks:

Space is internally allocated for the string returned by the output value edited_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the surface identifiers that are stored in the database and displayed in a
viewport.
Example:

None.
Chapter 3: Geometry Functions 961
Edit Actions

sgm_edit_surface_break (surface_ids, surface, delete_original,


break_method, iuv, uv, point1, point2, curve,
created_ids)

Description:
This function creates a set of surfaces from an existing set of surfaces by breaking the original surfaces
at an isoparametric break, two points on opposing boundaries, or a manifold curve intersecting
opposing boundaries.
Input:
STRING surface_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
surface IDs.
STRING surface[] This value specifies the surfaces to break.
LOGICAL delete_original This value is set to TRUE if the original surfaces are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
INTEGER break_method This value specifies the method used to define the
break: 1= isoparametric break, 2= two points on
opposing boundaries, and 3 = manifold curve
intersecting opposing boundaries.
INTEGER iuv This value specifies the iuv value if the input value
break_method is equal to 1: 1 = U held constant, and
2 = V held constant.
REAL uv This value specifies a constant value if the input
value break_method is equal to 1.
STRING point1[] This value specifies the first break point if the input
value break_method is equal to 2.
STRING point2[] This value specifies the second break point if the
input value break_method is equal to 2.
STRING curve[] This value specifies the manifold curve if the input
value break_method is equal to 3.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
962 PCL Reference Manual
Edit Actions

Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
A surface will be created for each surface in the input value surface_list. All surfaces created will be
displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
38000404 Unable to break Surface %I%. The Surface to break must be of a type different from
Composite Trimmed Surface.
38000405 Unable to break Surface %I%.
38000428 This application only works with one curve per surface at a time. Please adjust the
input accordingly.
38000429 This application only works with two points per surface at a time. Please adjust the
input accordingly.
38000845 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_edit_surface_break (p. 687) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 963
Edit Actions

sgm_edit_surface_break_v1 (surface_ids, surface_list, delete_original,


break_type, iuv, uv, point1_list, point2_list,
break_entity_list, created_ids)

Description:
This function creates a set of surfaces from an existing set of surfaces by breaking the original surfaces
at a parametric position, point or node, curve, or surface.
Input:
STRING surface_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
surface IDs.
STRING surface_list[] This value specifies the list of original surfaces to
break.
LOGICAL delete_original This value is set to TRUE if the original surfaces are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
INTEGER break_type This value specifies the type of entity used to define
the break: 1 = parametric position, 2 = point or node,
3 = curve, and 4 = surface.
INTEGER iuv This value specifies the iuv value if the input value
break_type is set to 1: 1 = U held constant, and 2 =
V held constant.
REAL uv This value specifies a constant value if the input
value break_type is set to 1.
STRING point1_list[] This value specifies the first break point if the input
value break_type is set to 2.
STRING point2_list[] This value specifies the second break point if the
input value break_type is set to 2.
STRING break_entity_list[] This value specifies the list of curve or surface
entities used to define the break.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
964 PCL Reference Manual
Edit Actions

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
A surface will be created for each surface in the input value surface_list. All surfaces created will be
displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0.
38000404 Unable to break Surface %I%. The Surface to break must be of a type different from
Composite Trimmed Surface.
38000405 Unable to break Surface %I%.
38000428 This application only works with one curve per surface at a time. Please adjust the
input accordingly.
38000429 This application only works with two points per surface at a time. Please adjust the
input accordingly.
38000435 This application only works with one surface per surface at a time. Please adjust the
input accordingly.
38000436 Specified Break Method value of %I% is invalid. Valid values are 1-4.
38000444 The break curve can only intersect the outer boundary of the surface exactly twice.
38000845 Unable to acquire %I% words of virtual memory.
38001221 This functionality is not supported for parasolid surfaces for V6.

Example:

Please see sgm_edit_surface_break_v1 (p. 689) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 965
Edit Actions

sgm_edit_surface_break_plane (surface_ids, surface_list, plane_list,


delete_flag, created_ids)

Description:
This function breaks a set of surfaces with a set of planes.
Input:
STRING surface_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
surface IDs.
STRING surface_list[] This value specifies the list of the surfaces which are
to be broken.
STRING plane_list[] This value specifies the list of the planes which will
break the surface.
LOGICAL delete_flag This value is set to TRUE if the original surfaces are
to be deleted.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
Two or more surfaces will be created for each surface in the input value surface_list. Each surface will
be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


1000053 No valid geometric entities of type %A% were used as input. Unable to process
request.

Example:

Please see sgm_edit_surface_break_plane (p. 691) in the PCL Reference Manual Examples.
966 PCL Reference Manual
Edit Actions

sgm_edit_surface_disassemble (surface_list, delete_original)

Description:
This function disassembles a trimmed surface into its parent surface and edge curves.
Input:
STRING surface_list[] This value specifies the trimmed surface list.
LOGICAL delete_original This value is set to TRUE if the original trimmed
surfaces are to be deleted. If this value is set to
FALSE, the original entities will not be deleted.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces and curves created and their IDs.
One surface and an N number of curves will be created from each trimmed surface. Each surface and
curve will be displayed in the graphics window as it is created.
This function can display a warning popup message form with the following message:

38000468 Surface %I% is not a general trimmed surface.

This function can display a fatal popup message form with the following message:

38000805 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_edit_surface_disassemble (p. 693) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 967
Edit Actions

sgm_edit_surface_disassemble_v1 (surface_list, delete_original,


extract_types)

Description:
This function disassembles a Trimmed Surface into its constituent entities.
Input:
STRING surface_list[] This value specifies the list of trimmed surfaces to be
disassembled.
LOGICAL delete_original This value is set to TRUE if the original trimmed
surface is to be deleted after it is disassembled.
LOGICAL extract_types This value is set to TRUE if only the parent surface
is to be stored in the database, otherwise both the
parent surface and the edge curves are loaded in the
database after the disassemble.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
38000659 %A% is not a General Trimmed Surface.
38000469 Failed to create a spline representation of an edge.

Example:
968 PCL Reference Manual
Edit Actions

sgm_edit_surface_edge_add (retain_long, curve_list, surface,


created_ids)

Description:
This function will edit a surface by adding some new edges, possibly modifying the existing topology.
Input:
LOGICAL retain_long This value specifies the user preference referring to
the ambiguity present in breaking a loop with a
curve.

= .TRUE. - keep the longest part

= .FALSE. - keep the shortest part


STRING curve_list[] This value specifies the curves to be used to add
edge(s).
STRING surface[] This value specifies a single surface to add an edge
to.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
38000845 Unable to acquire %I% words of virtual memory.
38000696 Surface %A% is either a composite trimmed surface or a tessellated surface and, as
such, is not supported by this application.
38000482 This application only works with one surface at a time. Subsequent selected surfaces
will be ignored.
38000708 This geometric operation has failed for an undetermined reason.
38001232 The curves provided for the surface edges are not contiguous due to a gap of %G%.
Either rebuild the curves to eliminate the gap or change the model tolerance to
exceed the gap dimension.

Example:
Chapter 3: Geometry Functions 969
Edit Actions

sgm_edit_surface_edge_match (edit_option, surface_list, entity_list,


refresh_surfaces, edited_ids)

Description:
This function edits surface topology.
Input:
INTEGER edit_option This value specifies the type of edit to perform:

.=1; surface-point where one surface will be edited


by one or more points on the edges of the surface.

=2; surface-surface where pairs of surfaces wil be


edited by comparing closest edges.
STRING surface_list[] This value specifies the list of surfaces to be edited.
STRING entity_list[] This value specifies the list of either points or
surfaces which will be used to edit the surfaces in the
surface list.
LOGICAL refresh This value is set to TRUE if the surfaces are to be
erased when they become congruent, otherwise
FALSE.
Output:
STRING edited_ids[] This value returns the edited ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
1000025 Error attempting to allocate virtual memory.
1000054 An invalid geometric entity type was used as input. The valid entity type to use is
"%A%".\nUnable to process request.
38000053 No valid geometric entities of type %A% were used as input. Unable to process
request.
38001102 Unable to edit geometry. Illegal Edit Option.
38000451 Unable to calculate a point on the surface.
38001501 %A% may not be editable since %A%.

Example:
970 PCL Reference Manual
Edit Actions

sgm_edit_surface_edge_rep (edge, curve_list, surface, created_ids)

Description:
This function will edit a surface by replacing an existing edge with one or more new edges.
Input:
STRING edge[] This value specifies the edge to be replaced (only
one edge will be processed)
STRING curve_list[] This value specifies the curves to be used as
replacement edge(s).
STRING surface[] This value specifies a single surface to replace an
edge from.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
38000845 Unable to acquire %I% words of virtual memory.
38000696 Surface %A% is either a composite trimmed surface or a tessellated surface and, as
such, is not supported by this application.
38000482 This application only works with one surface at a time. Subsequent selected surfaces
will be ignored.
38000673 No edges could be removed. Please check your input.
38000708 This geometric operation has failed for an undetermined reason.
38000700 Edit/edge/replace will only work on one edge at a time. You have selected %I%
curves. Only the first curve will be processed.
38001232 The curves provided for the surface edges are not contiguous due to a gap of %G%.
Either rebuild the curves to eliminate the gap or change the model tolerance to
exceed the gap dimension.
38000702 The replacement curve(s) are not compatible with the selected edge to be replace,
e.g. the selected edge is closed and the replacement curves are not. Please verify that
your inputs are valid for this simple edge replacement.

Example:
Chapter 3: Geometry Functions 971
Edit Actions

sgm_edit_surface_extend (surface_ids, method, surface, edge1,


edge2, entity, edited_ids)

Description:
This function will extend a surface to the line of intersection of a point, curve, surface, plane, or extend
two surfaces to their point of intersection. Trimmed Surfaces are not supported.
Input:
STRING surface_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
surface IDs.
INTEGER method This value specifies the extend method, where

1 = extend to a surface and only the “surface to


extend” is modified.

2 = extend two surfaces to their line of intersection.

3 = extend to a surface, break the intersecting surface


at the line of intersection to create two new surfaces,
and do not delete the original intersecting surface.

4 = extend to a surface, break the intersecting surface


at the line of intersection to create two new surfaces,
and delete the original intersecting surface.

5 = extend to a plane.

6 = extend to a curve.

7 = extend to a point.
STRING surface[] This value specifies the surface to extend.
STRING edge1[] This value specifies the edge of the surface to start
the extension from.
STRING edge2[] This value specifies the edge of the second surface to
start the extension from. (Used for method=2)
STRING entity[] This value specifies the entity to extend the surface
to, where the entity will be a point, curve, surface, or
plane.
Output:
STRING created_ids[] This value returns the edited ID list.
972 PCL Reference Manual
Edit Actions

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created or edited and their IDs.
All surfaces created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:

38000687 No intersections found between %A% and %A%. Please try a different extend
option.
38000688 More than one intersection found between %A% and %A%. Please try a different
extend option.
38000689 Unable to extend %A% to %A%. Please try a different extend option.
2001070 Unable to acquire %I% words of virtual memory.

Example:

None.
Chapter 3: Geometry Functions 973
Edit Actions

sgm_edit_surface_extend_uvl (uvmin_max, length, surface_list,


edge_list, edited_ids)

Description:
This function extends a surface by:

1. Specifying a percentage of the original length to extend in the u-min, u-max, v-min, or v-max
directions.

2. Specifying a fixed length to extend the surface starting at a specified surface edge.

Trimmed Surfaces are not supported.


Input:
REAL uvmin_max[4] This value specifies the percentage to extend in the u-min, u-
max, v-min, v-max directions of the surface. Valid values are
in the range of -99 to +100.
REAL length This value specifies the fixed length to extend the surface.
(Used only when the edge_list is non-blank)
STRING surface_list[] This value specifies the surfaces to extend.
STRING edge_list[] This value specifies the surface edge to extend from. (Used
only when specifying a fixed length)
Output:
STRING edited_ids[] This value returns the edited ID list.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces edited and their IDs.
Surfaces will be extended based on the percentage of length input. All surfaces will be displayed in the
graphics window.
This function can display a fatal popup message form with the following messages:

38000690 An attempt to extend %A% beyond the closure limit of 360 degrees is not allowed.
38000691 The value entered is outside the allowed range: [-99 to +100]
2001070 Unable to acquire %I% words of virtual memory.
974 PCL Reference Manual
Edit Actions

Example:

None.

sgm_edit_surface_refit (curve_ids, refit_to_nurbs, refit_tolerance,


delete_original, surface_list, created_ids)

Description:
This function refits a set of surfaces into a nurbs surface or a bicubic surface network.
Input:
STRING curve_ids[] This value specifies the curve ID list. If this value is
set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
curve IDs.
LOGICAL refit_to_nurbs This value is set to TRUE if the surface is to be refit
to nurbs surface, or to FALSE if the surface is to be
refit to bicubic surface network.
REAL refit_tolerance This value specifies the refit tolerance.
LOGICAL delete_original This value is set to TRUE if the original surfaces are
to be deleted. If this value is set to FALSE, the
original entities will not be deleted.
STRING surface_list[] This value specifies the list of surfaces to refit.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays a message listing the number of surfaces created and their IDs.
A surface will be created for each surface in the input value surface_list. Each surface created will be
displayed in the graphics window.
Chapter 3: Geometry Functions 975
Edit Actions

This function can display a warning popup message form with the following messages:

38000152 Selection not a surface -- ID=%I% Type=%I%.


38000153 Surface ID %I% refitted to %A%, but not loaded to database!
38000154 Surface labeled %I% is already a %A%.

This function can display a fatal popup message form with the following message:

38000151 At least one surface must be selected!

Example:

Please see sgm_edit_surface_refit (p. 695) in the PCL Reference Manual Examples.
976 PCL Reference Manual
Edit Actions

sgm_edit_surface_remove_edge (remove_option, min_el, curve_list,


trimmed_surface, created_ids)

Description:
This function will edit a Trimmed Surface by removing an edge.
Input:
INTEGER remove_option This value specifies the removal option:

= 1 - User-supplied edges

= 2 - Remove edges whose length is < min_el.


REAL min_el This value specifies the minimum edge length to
consider when removing edges.
STRING curve_list[] This value specifies the edge curves of the Trimmed
Surface.
STRING trimmed_surface[] This value specifies a single trimmed surface to
remove an edge from.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
38000845 Unable to acquire %I% words of virtual memory.
38000696 Surface %A% is either a composite trimmed surface or a tessellated surface and, as
such, is not supported by this application.
38000482 This application only works with one surface at a time. Subsequent selected surfaces
will be ignored.
38000673 No edges could be removed. Please check your input.

Example
Chapter 3: Geometry Functions 977
Edit Actions

sgm_edit_surface_remove_hole (curve_list, trimmed_surface,


edited_labels)

Description:
This function will remove a hole from a Trimmed Surface by providing an edge curve which represents
a hole in a Trimmed Surface and a Trimmed Surface to remove the hole from.
Input:
STRING curve_list[] This value specifies a selection of edge-curves used
to define the hole in the surface.
STRING trimmed_surface[] This value specifies a single Trimmed Surface used
to define which Trimmed Surface to remove a hole
from.
STRING edited_labels[VIRTUAL] This value returns a description of the edited

Trimmed Surface identifiers.


INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:

Remarks:

Space is internally allocated for the string returned by the output value edited_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the Trimmed Surface identifiers that are stored in the database and displayed
in a viewport.
Example:

None.
978 PCL Reference Manual
Edit Actions

sgm_edit_surface_remove_hole_v1 (output_ids, curve_list,


trimmed_surface, fill_hole,
created_ids)

Description:
This function will remove a hole from a Trimmed Surface by providing an edge curve which represents
a hole in a Trimmed Surface and a Trimmed Surface to remove the hole from.
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
surface IDs.
STRING curve_list[] This value specifies a selection of edge-curves used
to define the hole in the surface.
STRING trimmed_surface[] This value specifies a single Trimmed Surface to
remove a hole from.
LOGICAL fill_hole This value is set to TRUE if a surface is to be created
to fill the hole, otherwise simply removes the hole.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
38000845 Unable to acquire %I% words of virtual memory.
38000659 No INNER loops or holes were selected from the trimmed surface selected. Try
again.

Example:
Chapter 3: Geometry Functions 979
Edit Actions

sgm_edit_surface_remove_vertex (vertex_list, delete_point,


edited_labels)

Description:
This function will remove a vertex from a Trimmed Surface by providing a list of vertices to remove
from the Trimmed Surface.
Input:
STRING vertex_list[] This value specifies a selection of vertices used to
specify which vertices to remove from the associated
Trimmed Surface(s).
LOGICAL delete_point This value specifies whether or not to delete points
that are associated to the vertex to be removed which
are not volatile to the Trimmed Surface.
STRING edited_labels[VIRTUAL] This value returns a description of the edited surface
identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:

Remarks:

Space is internally allocated for the string returned by the output value edited_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the Trimmed Surface identifiers that are stored in the database and displayed
in a viewport.
Example:

None.
980 PCL Reference Manual
Edit Actions

sgm_edit_surface_remove_vrtx_v1 (vertex_list, surface_list,


delete_point, edited_labels)

Description:
This function will remove a vertex from a Trimmed Surface by providing a list of vertices to remove
from the Trimmed Surface. If the surface list is blank, ALL surfaces that use the vertices to define
topology will be edited, otherwise, only the specified surfaces will be edited.
Input:
STRING vertex_list[] This value specifies a selection of vertices used to
specify which vertices to remove from the associated
Trimmed Surface(s).
STRING surface_list[] This value specifies a selection of trimmed surfaces
used to specify which trimmed surfaces to remove
vertices from.
LOGICAL delete_point This value specifies whether or not to delete points
that are associated to the vertex to be removed which
are not volatile to the Trimmed Surface.
STRING edited_labels[VIRTUAL] This value returns a description of the edited surface
identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:

Remarks:

Space is internally allocated for the string returned by the output value edited_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the Trimmed Surface identifiers that are stored in the database and displayed
in a viewport.
Example:

None.
Chapter 3: Geometry Functions 981
Edit Actions

sgm_edit_surface_remove_vrtx_v1 (vertex_list, surface_list,


delete_point, edited_labels)

Description:
This function will remove a vertex from a Trimmed Surface by providing a list of vertices to remove
from the Trimmed Surface. If the surface list is blank, ALL surfaces that use the vertices to define
topology will be edited, otherwise, only the specified surfaces will be edited.
Input:
STRING vertex_list[] This value specifies a selection of vertices used to
specify which vertices to remove from the associated
Trimmed Surface(s).
STRING surface_list[] This value specifies a selection of trimmed surfaces
used to specify which trimmed surfaces to remove
vertices from.
LOGICAL delete_point This value specifies whether or not to delete points
that are associated to the vertex to be removed which
are not volatile to the Trimmed Surface.
STRING edited_labels[VIRTUAL] This value returns a description of the edited surface
identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:

Remarks:

Space is internally allocated for the string returned by the output value edited_labels. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the Trimmed Surface identifiers that are stored in the database and displayed
in a viewport.
Example:

None.
982 PCL Reference Manual
Edit Actions

sgm_edit_surface_reverse (reverse_mesh, surface_list,


reversed_ids)

Description:
This function reverses the normal of a set of surfaces and optionally, its associated finite element model
mesh.
Input:
LOGICAL reverse_mesh This value is set to TRUE if the associated finite
element model mesh is to have its normals reversed
with the surface. If this value is set to FALSE, the
finite element model mesh normals will not be
reversed.
STRING surface_list[] This value specifies the list of surfaces to reverse.
Output:
STRING reversed_ids[] This value returns the reversed ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of surfaces (IDs) reversed.


Each surface in the input value surface_list will be reversed. All surfaces reversed will be displayed in
the graphics window.
This function can display a fatal popup message form with the following messages:

1000025 Error attempting to allocate virtual memory.


2001070 Unable to acquire %I% words of virtual memory.

Example:

Please see sgm_edit_surface_reverse (p. 696) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 983
Edit Actions

sgm_edit_surface_sew (surface_list, sewed_ids)

Description:
This function will sew surfaces with share common edges to make them topologically congruent.
Input:
STRING surface_list[] This value specifies the surfaces to be sewn together.
Output:
STRING sewed_ids[] This value returns the sewed ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
38000845 Unable to acquire %I% words of virtual memory.
38001501 %A% may not be editable since %A%.

Example
984 PCL Reference Manual
Edit Actions

sgm_edit_surface_sew2 (surface_list, merge_edges, premerge_vertices,


sew_nonmanifold, delete_gap_surfaces,
sewed_ids)

Description:
This function will sew surfaces with share common edges to make them topologically congruent.
Input:
STRING surface_list[] This value specifies the surfaces to be sewn together.
LOGICAL merge_edges If this value is TRUE, it will to force gap merging,
else FALSE to just break T’s.
LOGICAL premerge_vertices If this value is TRUE, it will equivalence vertices
prior to closing gaps.
LOGICAL sew_nonmanifold If this value is TRUE, it will perform non-manifold
sewing, else FALSE for only manifold sewing.
LOGICAL delete_gap_surfaces If this value is TRUE, it will delete gap surfaces.
Output:
STRING sewed_ids[] This value returns the sewed ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
38000845 Unable to acquire %I% words of virtual memory.
38001501 %A% may not be editable since %A%.

Example
Chapter 3: Geometry Functions 985
Edit Actions

sgm_edit_surface_subtract (output_ids, surface_b, surface_a,


created_ids)

Description:
This function will edit a surface by subtracting surface “a” from surface “b” (b-a).
Input:
STRING output_ids[] This value specifies the surface ID list. If this value
is set to an empty string or to “#”, the function will
automatically allocate and assign a sequential list of
surface IDs.
STRING surface_b[] This value specifies the surface to be subtract from.
STRING surface_a[] This value specifies the surface to subtract from
surface “b”.
Output:
STRING created_ids[] This value returns the created ID list.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
38000845 Unable to acquire %I% words of virtual memory.
38001232 Edit/surface/subtract has failed. It may be that topology encountered is beyond the
scope of the current implementation. Please try an alternate strategy to achieve the
desired result.

Example
986 PCL Reference Manual
Delete Actions

Delete Actions
This section is used to describe some of the functions used to implement the “Delete” actions.

asm_delete_coord (coord_list, deleted_coords)

Description:
This function deletes a set of coordinate frames from the database and the graphics window.
Input:
STRING coord_list[] This value specifies the labels of the coordinate
frames to be deleted.
Output:
STRING deleted_coords[] This value returns the labels of the coordinate frames
deleted.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of coordinate frames deleted and their labels.
A coordinate frame is deleted for each coordinate frame label in the list provided that the coordinate
frame is not essential for any other entity. The global coordinate frame may not be deleted. Each
coordinate frame deleted is removed from the graphics window.
This function can display an information popup message form with the following message:

1000143 Unable to delete Global Coordinate Frame.

This function can display a fatal popup message form with the following message:

1000025 Error attempting to allocate virtual memory.

Example:

Please see asm_delete_coord (p. 697) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 987
Delete Actions

asm_delete_curve (curve_list, deleted_curves)

Description:
This function deletes a set of curves from the database and the graphics window.
Input:
STRING curve_list[] This value specifies the labels of the curves to be
deleted.
Output:
STRING deleted_curves[] This value returns the labels of the curves deleted.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of curves deleted and their labels. It also displays the number of curves
not found and their labels.
A curve is deleted for each label in the list provided that the curve is not essential for any other entity.
Each curve deleted is removed from the graphics window.
This function can display a warning popup message form with the following message:

38000236 The curve to delete does not exist in the database and may be a geometry
construct. Delete operation not allowed on geometry constructs.

Example:

Please see asm_delete_curve (p. 698) in the PCL Reference Manual Examples.
988 PCL Reference Manual
Delete Actions

asm_delete_grid (point_list, deleted_points)

Description:
This function deletes a set of points from the database and the graphics window.
Input:
STRING point_list[] This value specifies the labels of the points to be
deleted.
Output:
STRING deleted_points[] This value returns the labels of the points deleted.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of points deleted and their labels. It also displays the number of
surfaces not found and their labels.
A point is deleted for each label in the list provided that the point is not essential for any other entity.
Each point deleted is removed from the graphics window.
This function can display a warning popup message form with the following message:

38000235 The point to delete does not exist in the database and may be a geometry construct.
Delete operation not allowed on geometry constructs.

Example:

Please see asm_delete_grid (p. 699) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 989
Delete Actions

asm_delete_hpat (hypat_list, deleted_hypats)

Description:
This function deletes a set of hyperpatches from the database and the graphics window.
Input:
STRING hypat_list[] This value specifies the labels of the hyperpatches to
be deleted.
Output:
STRING deleted_hypats[] This value returns the labels of the solids deleted.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of hyperpatches deleted and their labels. It also displays the number
of hyperpatches not found and their labels.
A hyperpatch is deleted for each label in the list provided that the hyperpatch is not essential for any other
entity. Each hyperpatch deleted is removed from the graphics window.
This function can display a warning popup message form with the following message:

38000238 The solid to delete does not exist in the database and may be a geometry construct.
Delete operation not allowed on geometry constructs.

Example:

Please see asm_delete_hpat (p. 700) in the PCL Reference Manual Examples.
990 PCL Reference Manual
Delete Actions

asm_delete_line (line_list, deleted_lines)

Description:
This function deletes a set of lines from the database and the graphics window.
Input:
STRING line_list[] This value specifies the labels of the lines to be
deleted.
Output:
STRING deleted_lines[] This value returns the labels of the lines deleted.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of lines deleted and their labels. It also displays the number of lines
not found and their labels.
A line is deleted for each label in the list provided that the line is not essential for any other entity. Each
line deleted is removed from the graphics window.
This function can display a warning popup message form with the following message:

38000236 The curve to delete does not exist in the database and may be a geometry construct.
Delete operation not allowed on geometry constructs.

Example:

Please see asm_delete_line (p. 701) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 991
Delete Actions

asm_delete_patch (patch_list, deleted_patches)

Description:
This function deletes a set of patches from the database and the graphics window.
Input:
STRING patch_list[] This value specifies the labels of patches to be
deleted.
Output:
STRING deleted_patches[] This value returns the labels of the patches deleted.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of patches deleted and their labels. It also displays the number of
patches not found and their labels.
A patch is deleted for each label in the list provided that the patch is not essential for any other entity.
Each patch deleted is removed from the graphics window.
This function can display a warning popup message form with the following message:

38000237 The surface to delete does not exist in the database and may be a geometry
construct. Delete operation not allowed on geometry constructs.

Example:

Please see asm_delete_patch (p. 702) in the PCL Reference Manual Examples.
992 PCL Reference Manual
Delete Actions

asm_delete_plane (plane_list, deleted_planes)

Description:
This function deletes a set of planes from the database and the graphics window.
Input:
STRING plane_list[] This value specifies the labels of the planes to be
deleted.
Output:
STRING deleted_planes[] This value returns the labels of the planes deleted.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of planes deleted and their labels.
A plane is deleted for each plane label in the list. Each plane deleted is removed from the graphics
window.
This function can display a warning popup message form with the following message:

38000243 The plane to delete does not exist in the database and may be a geometry
construct. Delete operation not allowed on geometry constructs.

Example:

Please see asm_delete_plane (p. 703) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 993
Delete Actions

asm_delete_point (point_list, deleted_points)

Description:
This function deletes a set of points from the database and the graphics window.
Input:
STRING point_list[] This value specifies the labels of the points to be
deleted.
Output:
STRING deleted_points[] This value returns the labels of the points deleted.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of points deleted and their labels. It also displays the number of
surfaces not found and their labels.
A point deleted for each label in the list provided that the point is not essential for any other entity. Each
point deleted is removed from the graphics window.
This function can display a warning popup message form with the following message:

38000235 The point to delete does not exist in the database and may be a geometry construct.
Delete operation not allowed on geometry constructs.

Example:

Please see asm_delete_point (p. 704) in the PCL Reference Manual Examples.
994 PCL Reference Manual
Delete Actions

asm_delete_solid (solid_list, deleted_solids)

Description:
This function deletes a set of solids from the database and the graphics window.
Input:
STRING solid_list[] This value specifies the labels of the solids to be
deleted.
Output:
STRING deleted_solids[] This value returns the labels of the solids deleted.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of solids deleted and their labels. It also displays the number of solids
not found and their labels.
A solid is deleted for each label in the list provided that the solid is not essential for any other entity. Each
solid deleted is removed from the graphics window.
This function can display a warning popup message form with the following message:

38000238 The solid to delete does not exist in the database and may be a geometry construct.
Delete operation not allowed on geometry constructs.

Example:

Please see asm_delete_solid (p. 705) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 995
Delete Actions

asm_delete_surface (surface_list, deleted_surfaces)

Description:
This function deletes a set of surfaces from the database and the graphics window.
Input:
STRING surface_list[] This value specifies the labels of the surfaces to be
deleted.
Output:
STRING deleted_surfaces[] This value returns the labels of the surfaces deleted.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of surfaces deleted and their labels. It also displays the number of
surfaces not found and their labels.
A surface is deleted for each label in the list provided that the surface is not essential for any other entity.
Each surface deleted is removed from the graphics window.
This function can display a warning popup message form with the following message:

38000237 The surface to delete does not exist in the database and may be a geometry construct.
Delete operation not allowed on geometry constructs.

Example:

Please see asm_delete_surface (p. 706) in the PCL Reference Manual Examples.
996 PCL Reference Manual
Delete Actions

asm_delete_vector (vector_list, deleted_vectors)

Description:
This function deletes a set of vectors from the database and the graphics window.
Input:
STRING vector_list[] This value specifies the labels of the vectors to be
deleted.
Output:
STRING deleted_vectors[] This value returns the labels of the vectors deleted.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function displays the number of vectors deleted and their labels.
A vector is deleted for each vector label in the list. Each vector deleted is removed from the graphics
window.
This function can display a warning popup message form with the following message:

38000246 The vector to delete does not exist in the database and may be a geometry construct.
Delete operation not allowed on geometry constructs.

Example:

Please see asm_delete_vector (p. 707) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 997
Utlities

Utlities
ge_get_midsurface_thickness (p3_label, thickness)

Description:
This function will return the thickness attribute value of a parasolid midsurface.
Input:
INTEGER p3_label This value specifies the external patran surface label
of the midsurface.
Output:
REAL thickness This value returns the value of the thickness attribute
attached to the parasolid midsurface.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function can return the following error ids:


998 PCL Reference Manual
Utlities

1 The surface selected is not a parasolid midsurface.


-1 The parasolid surface does not have a thickness attribute.
13000122 The surface requested was not found.
13000213 A database lookup failed to locate the target index key.

sgm_get_curve_length (curve_id, length)

Description:
This function gets the curve length for a curve.
Input:
INTEGER curve_id This values specifies the curve id
Output:
REAL length This value returns the curve length.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:

Example:
Chapter 3: Geometry Functions 999
Utlities

sgm_get_solid_volume (solid_id, volume)

Description:
This function gets the solid volume for a solid.
Input:
INTEGER solid_id This values specifies the solid id
Output:
REAL volume This value returns the solid volume.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:

sgm_get_surface_area (surface_id, area)

Description:
This function gets the surface area for a surface.
Input:
INTEGER surface_id This values specifies the surface id
Output:
REAL area This value returns the surface area.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:

sgm_intersect_curves (curve1, curve2, distance, u1, u2, xyz1, xyz2)

Description:
This function calculates the minimum distance between two curves.
Input:
REAL curve1() This value specifies the data for the first curve.
1000 PCL Reference Manual
Utlities

REAL curve2() This value specifies the data for the second curve.
Output:
REAL distance This value returns the minimum distance between
the two curves.
REAL u1 This value returns the parametric location of the
minimum distance point, relative to the first curve.
REAL u2 This value returns the parametric location of the
minimum distance point, relative to the second
curve.
REAL xyz1(3) This value returns he model space location of the
minimum distance point, relative to the first curve.
REAL xyz2(3) This value returns the model space location of the
minimum distance point, relative to the second
curve.
INTEGER <Return Value> This function can return any value and the value
returned has no meaning.
Error Conditions:
None.

Remarks:

This function returns a value that has no meaning, can have any value, and may change from call to call.
The input values curve1 and curve2 can be any length that is appropriate for the geometric data table that
will be passed to this function.
See the listing for this function in Broken, Obsolete, Modified and New Functions for further information.
Example:

Please see sgm_intersect_curves (p. 33) in the PCL Reference Manual Examples.
Chapter 3: Geometry Functions 1001
Utlities

sgm_nearest_point_on_surface (point, surface, u, v, xyz)

Description:
This function will find the point on a surface that is nearest to a specified point.
Input:
REAL point(3) This value specifies the model space location of the
point near the surface.
REAL surface() This value specifies the surface.
Output:
REAL u This value returns one coordinate of the parametric
location of the point on the surface nearest to the
specified point.
REAL v This value returns the other coordinate of the
parametric location of the point on the surface
nearest to the specified point.
REAL xyz(3,4) This argument returns the model space location,
derivatives, and normal of the point on the surface
nearest to the specified point.
INTEGER <Return Value> This function can return any value and the value
returned has no meaning.
Error Conditions:
None.

Remarks:

This function returns a value that has no meaning, can have any value, and may change from call to call.
The input value surface can be any length that is appropriate for the geometric data table that will be
passed to this function.
The accuracy of the results of this function are in part dependent on the global model tolerance. This
function uses the global model tolerance to determine when to stop its calculation.
See the listing for this function in Broken, Obsolete, Modified and New Functions for further information.
Example:

Please see sgm_nearest_point_on_surface (p. 34) in the PCL Reference Manual Examples.
1002 PCL Reference Manual
Utlities
Chapter 4: Finite Element Functions
PCL Reference Manual

4 Finite Element Functions


Introduction 1004

Create Action 1006

Transform Action 1055

Sweep Action 1066

Renumber Action 1096

Disassociate Action 1099

Equivalence Action 1101

Optimize Action 1115

Verify Action 1119

Show Action 1185

Modify Action 1187

Delete Action 1228

Utilities 1234
1004 PCL Reference Manual
Introduction

Introduction
This chapter documents the functions that are used in the implementation of the “Finite Elements” switch
bar form.
This chapter presents function descriptions in ten separate sections:

Create Action This section is used to describe some of the functions used to create
finite element model (FEM) nodes, elements, multi-point constraints
(MPCs), meshes, and mesh seeds.
Transform Action This section is used to describe some of the functions used to mirror,
rotate, and translate finite element model (FEM) nodes, elements,
multi-point constraints (MPCs), meshes, and mesh seeds.
Sweep Action This section is used to describe some of the functions used to
duplicate and/or translate finite element model (FEM) nodes,
elements, multi-point constraints (MPCs), meshes, and mesh seeds
through the use of sweep operations.

Sweeping elements is the process of creating higher order elements


by sweeping a lower order element through a prescribed path.
Therefore, a hexagonal element may be created by sweeping a
quadrilateral element through space, the edges of the hexagonal
being defined by the corners of the quadrilateral as its nodes move
along the path. Ten methods for defining the swept paths are
provided: arc, extrude, glide, glide-guide, normal, radial cylindrical,
radial spherical, spherical theta, vector field and loft.
Renumber Action This section is used to describe some of the functions used to
renumber the identifiers used to reference a selection of finite
element model (FEM) nodes or elements.
Equivalence Action This section is used to describe some of the functions used to reduce
all of the finite element model (FEM) nodes that coexist at a point in
the model space to a single node.
Optimize Action This section is used to describe some of the functions used to
optimize entities in a finite element model (FEM).

The optimization process will renumber the nodes or elements of a


model in such a way that the stiffness matrix assembled in a finite
element analysis can be solved by using a minimum of CPU time,
memory, and disk space.
Chapter 4: Finite Element Functions 1005
Introduction

Verify Action This section is used to describe some of the functions used to verify
entities in a finite element model (FEM).

The verification of a finite element model consists of a number of


different tests which can be performed to check the validity of a finite
element model. These tests include checks of element distortion,
element duplication, model boundaries, nodal connectivity, and node
and element identifier numbering.
Modify Action This section is used to describe some of the functions used to modify
elements and nodes in a finite element model(FEM).
Delete Action This section is used to describe some of the function used to delete
elements, nodes, and meshes from a finite element model (FEM).
Utilities This section is used to describe a variety of finite element model
(FEM) utility functions.
1006 PCL Reference Manual
Create Action

Create Action
This section is used to describe some of the functions used to create finite element model (FEM) nodes,
elements, multi-point constraints (MPCs), meshes, and mesh seeds.

fem_conn_fastener_create (id, pname, method, fmt, gs, ga, gb, pata, patb)

Description:
This function will create fastener connectors.
Input:
INTEGER id The starting id for the new connector(s). If zero, then
fetch the next available id from the database.
STRING[] pname[] The connector property name.
STRING[] method The connector creation method (Projection or Axis).
STRING[] fmt The weld format (ELPAT, PARTPAT, ALIGN,
ELEMID, or GRIDID).
STRING[] gs List of connector locations (nodeds or xyz).
STRING[] ga List of surface A pierce nodes.
STRING[] gb List of surface B pierce nodes.
STRING[] pata List of surface A patch identifiers.
STRING[] patb List of surface B patch identifiers.
Output:
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
MSG_FEM_CONN_ZERO_DIAM
MSG_FEM_CONN_GS_OR_GA_REQD
MSG_FEM_CONN_ALIGN_GA_GB_REQD
MSG_FEM_CONN_PATA_PATB_REQD
MSG_FEM_CONN_BAD_POINT_PATCH
MSG_FEM_CONN_GS_NODE_ID_REQD
MSG_FEM_CONN_PROP_NOT_FOUND
Chapter 4: Finite Element Functions 1007
Create Action

fem_conn_fastener_prop_create (name, diameter, kti, kri, mass, mcid,


mflag, id)

Description:
This function will create a fastener connector property record in the database.
Input:
STRING[] name The name of the connector property.
REAL diameter The connector diameter.
REAL(3) kti Stiffness values in directions 1 to 3.
REAL (3) kri Rotation stiffness values in directions 1 to 3.
REAL mass The lumped mass of the fastener.
INTEGER mcid The element stiffness coordinate system (-1 = use
element coordinate system).
INTEGER mflag Defines whether the coordinate system specified for
mcid is absolute (1) or relative (0).
Output:
INTEGER id The ID of the new connector property.
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
DbDuplicateEntry
DbMaterialNotFound

fem_conn_property_create (name, type, mat, rvals, ivals, id)

Description:
This function will create a connector property record in the database.
Input:
STRING[] name The name of the connector property.
STRING[] type The type of connector property (General, Spot Weld).
STRING[] mat Name of the reference material property.
REAL() rvals Real property values (diameter, Idmin, Idmax, etc.).
INTEGER() ivals Integer property values.
Output:
INTEGER id The ID of the new connector property.
1008 PCL Reference Manual
Create Action

INTEGER <Return Value> This function returns a value of 0 if successful.


Error Conditions:
DbDuplicateEntry
DbMaterialNotFound

fem_conn_spotweld_create (id, pname, method, fmt, gs, ga, gb, pata, patb,
sptyp)

Description:
This function will create a spot weld connector property record in the database.
Input:
INTEGER id The starting id for the new connector(s). If zero, then
fetch the next available id from the database.
STRING[] pname[] The connector property name.
STRING[] method The connector creation method (Projection or Axis).
STRING[] fmt The weld format (ELPAT, PARTPAT, ALIGN,
ELEMID, or GRIDID).
STRING[] gs List of connector locations (nodeds or xyz).
STRING[] ga List of surface A pierce nodes.
STRING[] gb List of surface B pierce nodes.
STRING[] pata List of surface A patch identifiers.
STRING[] patb List of surface B patch identifiers.
STRING[] sptyp Surface patch types (GRIDID format only).
Q4Q8 = quad4/quad8, Q4T6 = quad4/tri6, etc.
Output:
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
MSG_FEM_CONN_ZERO_DIAM
MSG_FEM_CONN_GS_OR_GA_REQD
MSG_FEM_CONN_ALIGN_GA_GB_REQD
MSG_FEM_CONN_PATA_PATB_REQD
MSG_FEM_CONN_BAD_POINT_PATCH
MSG_FEM_CONN_GS_NODE_ID_REQD
MSG_FEM_CONN_PROP_NOT_FOUND
Chapter 4: Finite Element Functions 1009
Create Action

fem_conn_spotweld_prop_create (name, mat, diameter, imset, id)

Description:
This function will create spot weld connectors.
Input:
STRING[] name The name of the connector property.
STRING[] mat Name of the reference material property.
REAL diameter The connector diameter.
INTEGER imset The M-set flag (0=OFF, 1=ON).
Output:
INTEGER id The ID of the new connector property.
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
DbDuplicateEntry
DbMaterialNotFound

fem_create_nodes_1 (ref_coord_frame, anly_coord_frame,


flag_geometry, node_select, point_select,
fem_nodes_created)

Description:
This function will create and display new FEM nodes.
Input:
STRING ref_coord_frame[] This value specifies an identifier for the reference
coordinate frame.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
INTEGER flag_geometry This value of 1 for the old associated being true and
2 to use the new numbering control scheme.
STRING node_select[] This value specifies a selection of node identifiers to
be used for the FEM nodes being created.
STRING point_select[] This value specifies a selection of points defining
the locations of the FEM nodes to be created.
Output:
STRING fem_nodes_created[VIRTUAL] This value returns a description of the FEM nodes
created.
1010 PCL Reference Manual
Create Action

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output value fem_nodes_created. It is the
responsibility of the calling function to free the allocated string storage space.
Example:

Please see fem_create_nodes_1.

fem_create_elems_1 (shape, element_type, element_select,


connection_pattern, flag, corner1_node_select,
corner2_node_select, corner3_node_select,
corner4_node_select, corner5_node_select,
corner6_node_select, corner7_node_select,
corner8_node_select, fem_elements_created)

Description:
This function will create and display new elements.
Input:
STRING shape[] This value specifies the shape of the elements to be
created. Currently, this value is not used.
STRING element_type[31] This value specifies the element type to be created. See
the remarks below.
STRING element_select[] This value specifies a selection of element identifiers to
be used for the elements being created.
STRING connection_pattern[31] This value specifies the type of connection made between
elements. This case sensitive value may be defined as
“Elem Edge”, “Elem Face”, “PWL”, and “Standard”.
Setting this argument to any other value will cause the
default or “Standard” behavior to be used.
INTEGER flag This value of 1 for the old midnode_flag being true and 2
to use the new numbering control scheme.
STRING corner1_node_select[] This value specifies a selection of entities used to define
the nodes for the first corner of the elements being
created.
Chapter 4: Finite Element Functions 1011
Create Action

STRING corner2_node_select[] This value specifies a selection of entities used to define


the nodes for the second corner of the elements being
created.
STRING corner3_node_select[] This value specifies a selection of entities used to define
the nodes for the third corner of the elements being
created.
STRING corner4_node_select[] This value specifies a selection of entities used to define
the nodes for the fourth corner of the elements being
created.
STRING corner5_node_select[] This value specifies a selection of entities used to define
the nodes for the fifth corner of the elements being
created.
STRING corner6_node_select[] This value specifies a selection of entities used to define
the nodes for the sixth corner of the elements being
created.
STRING corner7_node_select[] This value specifies a selection of entities used to define
the nodes for the seventh corner of the elements being
created.
STRING corner8_node_select[] This value specifies a selection of entities used to define
the nodes for the eighth corner of the elements being
created.
Output:
STRING fem_elements_created[] This value returns a description of the elements created.
The storage space for this string must be allocated before
this function is called. Unfortunately, the exact length
requirements for this string is indeterminate. A good
working value for the length of this string is: “the string
length of the input value element_select + 256”.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The input value element_type can have the following values:


1012 PCL Reference Manual
Create Action

Type Value Type Value

Point Tet14
Bar2 Tet15
Bar3 Tet16
Bar4 Tet40
Tria3 Wedge6
Tria4 Wedge7
Tria6 Wedge15
Tria7 Wedge16
Tria9 Wedge20
Tria13 Wedge21
Quad4 Wedge24
Quad5 Wedge52
Quad8 Hex8
Quad9 Hex9
Quad12 Hex20
Quad16 Hex21
Tet4 Hex26
Tet5 Hex27
Tet10 Hex32
Tet11 Hex64

Example:

Please see fem_create_elems_1.


Chapter 4: Finite Element Functions 1013
Create Action

fem_create_mpc_cyclic_symmetry (mpc_id, tolerance, cyl_coord_frame,


dependent_region, independent_region)

Description:
This function will create and display a cyclic symmetry nodal MPC.
Input:
INTEGER mpc_id This value specifies the ID value to be used to identify the
created MPC.
REAL tolerance This value specifies the tolerance used when comparing
the coordinates of the FEM nodes in the dependent and
independent regions. This argument must have a positive,
nonzero value.
STRING cyl_coord_frame[] This value specifies the cylindrical coordinate frame
whose z axis is the axis of symmetry.
STRING dependent_region[] This value specifies a selection of entities that defines the
dependent region. Entities in this region can be nodes, 3D
element faces, 2D element edges, points, curves, or
surfaces.
STRING independent_region[] This value specifies a selection of entities that defines the
independent region. Entities in this region can be nodes,
3D element faces, 2D element edges, points, curves, or
surfaces.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function will match finite element nodes associated to the entities in the dependent region to the
finite element nodes associated to the entities in the independent region by first mapping them into the
cylindrical coordinate system specified by the input value cyl_coord_frame.
The r and z coordinates of the two sets of finite element nodes will then be compared to determine a
match. An MPC will be created that will tie every degree of freedom from a dependent finite element
node to its matching independent finite element node. The analysis coordinate frame of the matched finite
element nodes will be translated to the cylindrical coordinate frame specified by the input value
cyl_coord_frame with the exception of any finite element nodes that lie on the axis of symmetry.
1014 PCL Reference Manual
Create Action

For the finite element nodes that lie on the axis of symmetry, a rectangular coordinate frame whose z axis
lies on the axis of symmetry will be created and assigned as the analysis coordinate frame.
This function can display an information popup form indicating that the MPC and possibly a coordinate
frame has been created.
Example:

None.
Chapter 4: Finite Element Functions 1015
Create Action

fem_create_mpc_nodal (mpc_id, mpc_type, constant, num_terms,


dependency_state, term_coefficients, node_select,
freedom_select)

Description:
This function will create and display an MPC which has an association with a selection of specified
FEM nodes.
Input:
INTEGER mpc_id This value specifies the ID value to be used to
identify the created MPC.
STRING mpc_type[31] This value specifies the type of the MPC that
will be created.
REAL constant This value specifies the constant term used with
an MPC of the “Explicit” type.
INTEGER num_terms This value specifies the number of terms in the
MPC.
LOGICAL dependency_state(num_terms) This value specifies the dependency state for
each term in the MPC where setting an offset to
TRUE indicates that the term is dependent and
setting an offset to FALSE indicates that the
term is independent.
REAL term_coefficients(num_terms) This value specifies the coefficients for each
term in the MPC.
STRING node_select[](num_terms) This value specifies the identifiers for the nodes
used for each term in the MPC.
STRING freedom_select[](num_terms) This value specifies the degrees of freedom for
each term in the MPC.
Output:
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-1 This is an internal status condition. There is no corresponding status message in the
message database.
1 This is an internal status condition. There is no corresponding status message in the
message database.
1016 PCL Reference Manual
Create Action

Remarks:

This function will display an information popup form indicating that the MPC has been created.
Example:

Please see fem_create_mpc_nodal.


Chapter 4: Finite Element Functions 1017
Create Action

fem_create_mpc_nodal2 (mpc_id, mpc_type, constant, num_terms,


dependency_state, term_coefficients, node_select,
freedom_select)

Description:
This function will create and display an MPC which has an association with a selection of specified
FEM nodes.
Input:
INTEGER mpc_id This value specifies the ID value to be used to
identify the created MPC.
STRING mpc_type[32] This value specifies the type of the MPC that
will be created.
REAL constant This value specifies the constant term used with
an MPC of the “Explicit” type.
INTEGER num_terms This value specifies the number of terms in the
MPC.
LOGICAL dependency_state(num_terms) This value specifies the dependency state for
each term in the MPC where setting an offset to
TRUE indicates that the term is dependent and
setting an offset to FALSE indicates that the
term is independent.
STRING term_coefficients(num_terms) This value specifies the coefficients for each
term in the MPC.
STRING node_select[](num_terms) This value specifies the identifiers for the nodes
used for each term in the MPC.
STRING freedom_select[](num_terms) This value specifies the degrees of freedom for
each term in the MPC.
Output:
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-1 This is an internal status condition. There is no corresponding status message in the
message database.
1 This is an internal status condition. There is no corresponding status message in the
message database.
1018 PCL Reference Manual
Create Action

Remarks:

This function will display an information popup form indicating that the MPC has been created.
Example:

None.

fem_create_mpc_sliding_surface (mpc_id, tolerance, coord_option,


coord_frame, normal_axis,
dependent_region, independent_region)

Description:
This function will create and display a sliding surface nodal MPC.
Input:
INTEGER mpc_id This value specifies the ID value to be used to identify the
created MPC.
REAL tolerance This value specifies the tolerance used when comparing
the coordinates of the FEM nodes in the dependent and
independent regions. This argument must have a positive,
nonzero value.
STRING coord_option[31] This value specifies that a coordinate system is to be user
specified or internally created. This argument accepts
“User Specified” and “Automatic” as the only valid
setting.
STRING coord_frame[] This value specifies the normal coordinate frame. This
argument is used only when the input value coord_option
is set to “User Specified”.
STRING normal_axis[31] This value specifies the axis that is normal to every FEM
node. This argument accepts “Axis 1”, “Axis 2”, and
“Axis 3” as the only valid settings. This argument is used
only when the input value coord_option is set to “User
Specified”.
STRING dependent_region[] This value specifies a selection of entities that defines the
dependent region. Entities in this region can be 2D
element edges, 2D elements, 3D element faces, 3D surface
edges, and 3D surfaces.
STRING independent_region[] This value specifies a selection of entities that defines the
independent region. Entities in this region can be 2D
element edges, 2D elements, 3D element faces, 3D surface
edges, and 3D surfaces.
Chapter 4: Finite Element Functions 1019
Create Action

Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function will match finite element nodes associated to the entities in the dependent region to the
finite element nodes in the independent region. This match is made by comparing the x, y, and z
coordinates of the finite element nodes in the two regions.
The MPC will match the degree of freedom that is normal to the surface of a finite element node in the
dependent region to its matching finite element node in the independent region.
The normal degree of freedom can be supplied by the calling function by setting the input value
coord_option to “User Specified”, setting the input value coord_frame in an appropriate manner, and
defining the normal axis of the supplied coordinate system by setting the input value normal_axis. The
normal degree of freedom can also be internally calculated by setting the input value coord_option to
“Automatic”. The normal degree of freedom will then be calculated by creating a coordinate frame for
every node with the z axis set to be normal to the surface of the node. The degrees of freedom along the
z axis of the computed coordinate frame will then be used in matching the finite element nodes in the
dependent and independent regions.
This function can display an information popup indicating that the MPC and possible a coordinate frame
has been created.
Example:

Please see fem_create_mpc_sliding_surface.


1020 PCL Reference Manual
Create Action

db_update_mesh_params (smooth_factor, maximum_cycles,


acceleration_factor, termination_factor,
triangular_surf_mesh, triangle_rectangle)

Description:
This function will update isometric mesh parameters in the database.
Input:
REAL smooth_factor This value specifies the weighting factor for smoothing a
mesh. This value can range from 0.0 to 1.0.
INTEGER maximum_cycles This value specifies the maximum number of smoothing
cycles.
REAL acceleration_factor This value specifies the smoothing acceleration factor
which ranges from 0.0 to 1.0.
REAL termination_factor This value specifies the smoothing termination factor
which ranges from 0.0 to 0.2.
INTEGER triangular_surf_mesh This value specifies the mesh pattern for surfaces with a
triangular shape and can have a value of either 1 or 2.
INTEGER triangle_rectangle This value specifies the triangular element pattern for
rectangular surfaces and can have a value that ranges from
1 to 4.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
13000004 Duplicate entry exists in table
13000007 An unspecified database error occurred
13000047 Mesh not found

Remarks:

The input values to this function are not range checked. Calling this function with out of range values
will cause problems with functions that make use of this information from the database.
Example:

None.
Chapter 4: Finite Element Functions 1021
Create Action

fem_create_mesh_2curve_1 (curve1_select, curve2_select, size_method,


flag, global_edge_length, num_along_curve,
num_across_curve, element_topology,
node_select, element_select,
anly_coord_frame, ref_coord_frame,
num_fem_nodes, num_fem_elements,
fem_nodes_created, fem_elements_created)

Description:
This function will create a FEM surface mesh between two curves using an isometric meshing
operation.
Input:
STRING curve1_select[] This value specifies a selection of entities that
defines the first set of curves.
STRING curve2_select[] This value specifies a selection of entities that
defines the second set of curves.
INTEGER size_method This value specifies the method used to determine
the size of the mesh. Setting this value to 1 will
allow the function to use the input values
num_along_curve and num_across_curve. Setting
this value to anything other than 1 will allow the
input value global_edge_length to be used.
INTEGER flag This value to use new numbering control scheme.
REAL global_edge_length This value specifies the global element edge length
used in creating the mesh.
INTEGER num_along_curve This value specifies the number of mesh elements
created along the curves defining the area where
the mesh will be placed.
INTEGER num_across_curve This value specifies the number of elements
created across the curves defining the area where
the mesh will be placed.
STRING element_topology[31] This value specifies the topology of the element to
be created. See the remarks below.
STRING node_select[] This value specifies an optional selection of node
identifiers.
STRING element_select[] This value specifies an optional selection of
element identifiers.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
1022 PCL Reference Manual
Create Action

STRING ref_coord_frame[] This value specifies an identifier for the reference


coordinate frame.
Output:
INTEGER num_fem_nodes This value returns the number of FEM nodes
created.
INTEGER num_fem_elements This value returns the number of elements created.
STRING fem_nodes_created This value returns a description of the FEM nodes
[VIRTUAL] created.
STRING fem_elements_created This value returns a description of the elements
[VIRTUAL] created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function can create duplicate surfaces.


Space is internally allocated for the string returned by the output values fem_nodes_created and
fem_elements_created. It is the responsibility of the calling function to free the allocated string storage
space.
The input value element_topology can have the following values:

Topology Value Topology Value

Quad4 Tria3
Quad5 Tria4
Quad8 Tria6
Quad9 Tria7
Quad12 Tria9
Quad16 Tria13

Example:

Please see fem_create_mesh_2curve_1.


Chapter 4: Finite Element Functions 1023
Create Action

fem_create_mesh_curv_1 (curve_select, flag, global_edge_length,


element_topology, node_select, element_select,
anly_coord_frame, ref_coord_frame,
num_fem_nodes, num_fem_elements,
fem_nodes_created, fem_elements_created)

Description:
This function will create a FEM curve mesh using an isometric meshing operation.
Input:
STRING curve_select[] This value specifies a selection of curves to be
meshed.
INTEGER flag This value to use new numbering control scheme.
REAL global_edge_length This value specifies the global element edge length to
be used for the mesh. This value must be greater than
0.
STRING element_topology[31] This value specifies the topology of the elements to
be created and can be set to “Bar2”, “Bar3”, and
“Bar4” only.
STRING node_select[] This value specifies an optional selection of FEM
node identifiers.
STRING element_select[] This value specifies an optional selection of element
identifiers.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
STRING ref_coord_frame[] This value specifies an identifier for the reference
coordinate frame.
Output:
INTEGER num_fem_nodes This value returns the number of FEM nodes created
by this function.
INTEGER num_fem_elements This value returns the number of elements created by
this function.
STRING fem_nodes_created This value returns a description of the FEM nodes
[VIRTUAL] created.
STRING fem_elements_created This value returns a description of the elements
[VIRTUAL] created.
1024 PCL Reference Manual
Create Action

Remarks:

Space is internally allocated for the string returned by the output values fem_nodes_created and
fem_elements_created. It is the responsibility of the calling function to free the allocated string storage
space.
Example:

Please see fem_create_mesh_curv_1.

fem_create_mesh_sol_3 (mesher, options_control, solid_select, num_values,


value_array, element_topology, node_select,
element_select, anly_coord_frame, ref_coord_frame,
num_fem_nodes, num_fem_elements,
fem_nodes_created, fem_elements_created)

Description:
This function will create a FEM solid mesh.
Input:
STRING mesher[31] This value specifies the type of mesher to be used
to create the FEM mesh and can be set to either
“IsoMesh” or “TetHybrid”.
INTEGER options_control This value specifies the use of various options
influencing the creation of the FEM mesh.
STRING solid_select[] This value specifies a selection of solids to be
meshed.
INTEGER num_values This value specifies the number of entries in the
input value value_array.
REAL value_array(num_values) Values used by the meshers.
STRING element_topology[31] This value specifies the topology of the elements to
be created. See the remarks below.
STRING node_select[] This value specifies an optional selection of FEM
node identifiers.
STRING element_select[] This value specifies an optional selection of
element identifiers.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
STRING ref_coord_frame[] This value specifies an identifier for the reference
coordinate frame.
Chapter 4: Finite Element Functions 1025
Create Action

Output:
INTEGER num_fem_nodes This value returns the number of FEM nodes
created by this function.
INTEGER num_fem_elements This value returns the number of elements created
by this function.
STRING fem_nodes_created This value returns a description of the FEM nodes
[VIRTUAL] created.
STRING fem_elements_created This value returns a description of the elements
[VIRTUAL] created.

Remarks:

Space is internally allocated for the string returned by the output values fem_nodes_created and
fem_elements_created. It is the responsibility of the calling function to free the allocated string storage
space.
The input value element_topology can have the following values:

Type Value Type Value

Tet4 Wedge20
Tet5 Wedge21
Tet10 Wedge24
Tet11 Wedge52
Tet14 Hex8
Tet15 Hex9
Tet16 Hex20
Tet40 Hex21
Wedge6 Hex26
Wedge7 Hex27
Wedge15 Hex32
Wedge16 Hex64

Example:

Please see fem_create_mesh_sol_3.


1026 PCL Reference Manual
Create Action

fem_create_mesh_sol_5 (solid_list, mesher_pick, elem_topo,


mesher_val_qtt, ac_mesher_val, flags,
FMF_perform, FMF_make_dup_node,
FMF_stop_when_interf_meshed,
FMF_use_prox_tol, FMF_prox_tol,
FMF_solid_neighbors, node_list, elem_list,
a_coord_frame, r_coord_frame, num_nodes,
num_elems, nodes_created, elems_created)

Description:
This function will call the appropriate solid mesher.
Input:
STRING solid_list[] List of solids to be meshed. Ex: “Solid 1:3”
STRING mesher_pick[] Mesher to be used: “IsoMesh”, “TetState”, “TetAries” or
“TetHybrid” (same mesher, different names), or “HexMesh.”
STRING elem_topo[] Element topology (i.e. “Tet4”, “Tet10”, “Tet16”).
INTEGER mesher_val_qtt Number of values in ac_mesher_val().
STRING ac_mesher_val[] Note that NUMVAL=4
(1:NUMVAL)
(1) : Global Edge Length

(2) : Maximum h/L curvature error.

(3) : Minimum Edge Length as a ratio of the Global Edge


Length.

(4) : 0.0
Chapter 4: Finite Element Functions 1027
Create Action

INTEGER flags = 0 as default

+= 4 (FEM_MF_CREATE_P_ELEMENTS_F) --> Create P-


Elements.

+= 1 (FEM_MF_PREVIEW_ON_F) --> Do a preview.

+= 16384
(FEM_MF_USE_NEW_NUMBERING_CONTROL_F)

--> To use the new numbering control (we always


want this).

+= 1048576 (FEM_MF_GRADE_MESH_F) --> Allow for


mesh internal coarsening.

+= 16 (FEM_MF_CURVATURE_CHECK_F) --> Perform


mesh curvature check.

+= 512 (FEM_MF_ALLOW_TRIS_IN_QUAD_MESH_F)

--> If we allow Tris in Quad meshes.


INTEGER FMF_perform Note: FMF_ stands for “force-matched face.”
Force faces to match when they are non-congruent or doubled.
This is known as assembly meshing.

1--> YES 0--> NO


INTEGER FMF_make_dup_ For force-matched faces, create duplicate nodes.
node
1--> YES 0-> NO
INTEGER FMF_stop_when_ For force-matched solid faces, stop and return 2D meshes once
interf_meshed established.

1--> YES 0--> NO


INTEGER FMF_use_prox_to For force-matched solid faces, to determine matching solid
l faces. A temporary parasolid geometric imprinting is always
performed, but we should always use a proximity tolerance as
well (used at geometric vertices and edge midpoints).

1--> YES 0--> NO


REAL FMF_prox_tol For force-matched solid faces, this is the proximity tolerance
value used to determine if they should match or not.
1028 PCL Reference Manual
Create Action

STRING FMF_solid_neigh For force-matched solid faces, this is a list of neighboring solids
bors[] for which we will attempt to match existing meshed faces.
Matching faces are determined by a proximity tolerance
(FMF_prox_tol) on geometric vertices and edge midpoints. Ex:
“Solid 4:5”
STRING node_list[] List of output node IDs. Ex: “Node 1:100”
STRING elem_list[] List of output element IDs. Ex: “Elm 1:100”
STRING a_coord_frame[] Analysis coordinate frame. Ex: “Coord 0”
STRING r_coord_frame[] Reference coordinate frame. Ex: “Coord 0”
Output:
INTEGER num_nodes Number of nodes created.
INTEGER num_elems Number of elements created.
STRING nodes_created [] IDs of nodes created. Ex: “Node 1:100”

Allocation is done within, you need to release with


sys_free_string().
STRING elems_created [] IDs of elements created. Ex: “Elm 1:100”

Allocation is done within, you need to release with


sys_free_string().

Remarks:

Space is internally allocated for the string returned by the output values nodes_created and
elems_created. It is the responsibility of the calling function to free the allocated string storage space.
The input value elem_topo can have the following values:

Type Value Type Value

Tet4 Wedge20
Tet5 Wedge21
Tet10 Wedge24
Tet11 Wedge52
Tet14 Hex8
Tet15 Hex9
Tet16 Hex20
Tet40 Hex21
Wedge6 Hex26
Chapter 4: Finite Element Functions 1029
Create Action

Wedge7 Hex27
Wedge15 Hex32
Wedge16 Hex64

Example:

Please see fem_create_mesh_sol_5.

fem_create_mesh_surf_3 (mesher, options_control, surface_select,


num_values, value_array, element_topology,
node_select, element_select,
anly_coord_frame, ref_coord_frame,
num_fem_nodes, num_fem_elements,
fem_nodes_created, fem_elements_created)

Description:
This function will create a FEM surface mesh.
Input:
STRING mesher[31] This value specifies the type of mesher to be used
to create the FEM mesh and can be set to either
“IsoMesh” or “Paver”.
INTEGER options_control This value specifies the use of various options
influencing the creation of the FEM mesh. See the
remarks below. Multiple options can be set by
adding together the values for the different options.
For example: setting this input value to 9748
would turn on all of the options.
STRING surface_select[] This value specifies a selection of surfaces to be
meshed.
INTEGER num_values This value specifies the number of entries in the
input value value_array. This value should be set to
1 if the input value mesher is set to “IsoMesh” and
4 if the input value mesher is set to “Paver”.
1030 PCL Reference Manual
Create Action

STRING value_array(num_values)[] This value specifies the global edge length in offset
1, the allowable curvature error for the curvature
check in offset 2, the minimum desired edge length
for the mesh in offset 3, and the maximum desired
edge length for the mesh in offset four. The global
edge length must be greater than 0.0. The
allowable curvature error can range from 0.0 to
0.25. The desired edge length values must both be
greater than zero and the maximum value must be
greater than the minimum value. Offset 1 is used
only when the input value mesher”is set to
“IsoMesh” and the offsets 2, 3, and 4 are used only
when the input value mesher is set to “Paver”.
STRING element_topology[31] This value specifies the topology of the elements to
be created. See the remarks below.
STRING node_select[] This value specifies an optional list of FEM nodes.
STRING element_select[] This value specifies an optional list of elements.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
STRING ref_coord_frame[] This value specifies an identifier for the reference
coordinate frame.
Output:
INTEGER num_fem_nodes This value returns the number of FEM nodes
created by this function.
INTEGER num_fem_elements This value returns the number of elements created
by this function.
STRING fem_nodes_created This value returns a description of the FEM nodes
[VIRTUAL] created.
STRING fem_elements_created This value returns a description of the elements
[VIRTUAL] created.

Remarks:

Space is internally allocated for the string returned by the output values fem_nodes_created and
fem_elements_created. It is the responsibility of the calling function to free the allocated string storage
space.
Chapter 4: Finite Element Functions 1031
Create Action

The integer input value options_control can have the following values:

Value Option Description


4 Create a p-element mesh to be created.
16 Do a curvature check operation.
512 Allow triangular elements in a quad mesh
1024 Use the global space only.
8192 Use the desired edge lengths

The string input array value_array can have the following values:

0 Global Length
1 Maximum Deviation
2 Minimum Length
3 Maximum Length

The input value element_topology can have the following values:

Type Value Type Value


Quad4 Tria3
Quad5 Tria4
Quad8 Tria6
Quad9 Tria7
Quad12 Tria9
Quad16 Tria13

Example:

Please see fem_create_mesh_surf_3.


1032 PCL Reference Manual
Create Action

fem_create_mesh_surf_4 (mesher_pick, flag, surface_list, num_val,


val_array_str, elem_topo, node_list,
elem_list, a_coord_frame, r_coord_frame,
num_nodes, num_elems, nodes_created,
elems_created)

Description:
This function will deal with the various meanings of the val_array data.
Input:
STRING mesher_pick[] Mesher to be used: “IsoMesh” or “Paver”.
INTEGER flag Flag word, not used yet.

The integer input value flag can have the following


values:

Value Option Description

4 Create a p-element mesh to be created.

16 Do a curvature check operation.

512 Allow triangular elements in a quad mesh

1024 Use the global space only.

8192 Use the desired edge lengths


STRING surface_list[] List of surfaces to be meshed.
INTEGER num_val Number of float values.
STRING val_array_str[] String values.

The string input array val_array_str can have the


following values:

0 Global Length

1 Maximum Deviation

2 Minimum Length

3 Maximum Length
STRING elem_topo[] Element topology (i.e.; “Quad4”).
STRING node_list[] List of output node IDs.
STRING elem_list[] List of output element IDs.
Chapter 4: Finite Element Functions 1033
Create Action

STRING a_coord_frame[] Analysis coordinate frame.


STRING r_coord_frame[] Reference coordinate frame.
Output:
INTEGER num_nodes Number of nodes created.
INTEGER num_elems Number of elements created.
STRING nodes_created [] IDs of nodes created.
STRING elems_created [] IDs of elements created.

Remarks:

Space is internally allocated for the string returned by the output values nodes_created and
elems_created. It is the responsibility of the calling function to free the allocated string storage space.
The input value elem_topo can have the following values:

Type Value Type Value


Quad4 Tria3
Quad5 Tria4
Quad8 Tria6
Quad9 Tria7
Quad12 Tria9
Quad16 Tria13

Example:

Please see fem_create_mesh_surf_4


1034 PCL Reference Manual
Create Action

fem_create_mesh_quad_4 ( in_elem_list, bndy_vert_list,


bndy_edge_list, bndy_seed_list,
hard_node_list, hard_edge_list,
soft_edge_list, hard_elem_list,
user_node_id_list, user_elem_id_list,
elem_type, elem_size, int_param,
feature_param, num_out_elems,
num_out_nodes, out_elem_list,
out_node_list )

Description:
These functions will convert an input shell mesh to a quad/tria mesh.
Input:
STRING in_elem_list A list of element ids ( "ELEM2D" ). If the "Guide
elements" integer parameter ( offset 16 )
= 0 these are the elements on the input mesh.
= 1 these are the guiding elements for the elements ids to
be obtained from groups.
STRING bndy_vert_list A list of 4 or less node ids defining the boundary verticies
used for iso-meshing. See the "Use iso-meshing" ( offset 3
) integer parameter.
STRING bndy_edge_list A list of bar element ids defining input boundary edges.
STRING bndy_seed_list A list of node ids defining boundary seeds. These
boundary seeds may or may not be on the input mesh
defined for in_elem_list. See the "Seed type" integer
parameter ( offset 1 ).
STRING hard_node_list A list of node ids for defining hard nodes. The nodes may
or may not be on the input mesh and or the boundary of the
input mesh.
STRING hard_edge_list A list of bar element ids defining hard edges. The end
nodes of the hard edges may or may not be on the input
mesh and or the boundary of the of the input mesh.
STRING soft_edge_list A list of bar element ids defining soft edges. The end
nodes of the soft edges may or may not be on the input
mesh and or the boundary of the of the input mesh.
STRING file_name The input data file name.
STRING user_node_id_list A list of output node ids defined by the user.
STRING user_elem_id_list A list of output element ids defined by the user.
STRING elem_type The output element type. Currently only "Quad4" and
"Tria3" are supported.
Chapter 4: Finite Element Functions 1035
Create Action

REAL elem_size The created element length.


INTEGER int_param This value provides integer parameters. The
fem_create_mesh_mom ( ) function call accepts a
maximum of 30 integer parameters. The
fem_create_mesh_quad_4 ( ) function call accepts a
maximum of 8 integer parameters and should be
considered to be OBSOLETE. See integer parameter
definitions in Notes below.
REAL feature_param This value provides real parameters. The
fem_create_mesh_mom ( ) function call accepts a
maximum of 30 real parameters. The
fem_create_mesh_quad_4 ( ) function call accepts a
maximum of 8 real parameters and should be considered
to be OBSOLETE. See feature parameter definitions in
Notes below.
Output:
INTEGER num_out_elems The number of elements created.
INTEGER num_out_nodes The number of nodes created.
STRING out_elem_list A list of the created element ids.
[ VIRTUAL ]
STRING out_node_list A list of the created node ids.
[ VIRTUAL ]
INTEGER <return value> A value of zero if the function executed correctly.

Remarks:

The input data includes hard edges and soft edges:


• hard edge: A hard edge or its projection onto the input mesh will be preserved on the output
mesh.
• soft edge: A soft edge is an edge on a soft feature line. Only two end nodes on a soft line will be
preserved on the output mesh and the program will re-create nodes along the soft line.
• The fem_create_mesh_mom () function call accepts a maximum of 30 integer and real
parameters.
• The fem_create_mesh_quad_4 () function call accepts a maximum of 8 integer and real
parameters.
• The fem_create_mesh_quad_4 () function call is OBSOLETE.
1036 PCL Reference Manual
Create Action

• Integer parameter definitions by offset:


[1] Seed type.
= 0 uniform boundary seeding.
= 1 curvature based boundary seeding (not supported yet).
= 2 use existing boundary nodes as seeds.
= 3 use input boundary seeds defined by bndy_seed_list and bndy_edge_list.
[2] Delete the input mesh.
= 0 No
= 1 Yes
[3] Use iso-meshing.
= 0 Do not use iso-meshing.
= 1 Use iso-meshing to mesh 3 or 4 sided region.
[4] Feature flag for automatic feature recognition.
= 0 The flag is off
= 1 Define the hard/soft edges/nodes based on the
feature angle, feature size and feature radius.
[5] Seed preview flag.
= 0 The flag is off;
= 1 Return seeds and vertices on the boundary/feature curves.
= 2 Return seeds and vertices on the boundary/feature curves
and modified input mesh.
= 3 Return modified input mesh after seeding.
= 4 Return seeds and vertices on the boundary/feature curves
and congruent input mesh.
= 5 Return congruent input mesh after seeding.
[6] Size type
= 0 Uniform size control.
= 1 Curvature based size control for surfaces and curves,
TriaMesh only.
= 2 Surface curvature size control, no curve curvature,
TriaMesh only.
= 3 Input size control, currently not supported.
Chapter 4: Finite Element Functions 1037
Create Action

[7] Projection type


= -1 No projection.
= 0 Project on input mesh, default option.
= 1 Project on input mesh, default option.
= 2 Project on geometry.
= 3 Project on bi-linear Coons patches.
= 4 Project on bi-cubic Coons patches, currently not supported.
[8] Mesh attribute type.
= 0 No attriabute.
= 1 Defined by property ids.
= 2 Defined by geometry ids.
= 3 Defined by group ids.
= 4 Defined by congruent regions.
= 5 Defined by tes-surface.
= 6 Defined by input data file.
[9] Client id.
= 0 Unknown.
= 1 GS-Mesher.
= 2 Tet-mesher.
= 3 Patran.
= 4 SuperForge.
= 5 AutoForge.
= 6 Mentet.
= 8 SuperForm.
= 9 Chrysler BIW batch.
= 10 Advance Surface Meshing,
= 11 Mesh On Mesh.
= 12 Sheetbody Meshing.
= 13 Hybrid Quad Mesh.
1038 PCL Reference Manual
Create Action

[10] Feature suppression flag. This is bit field allowing


for definition of multiple features for suppression.
= 0 Feature suppression is turned off.
= 1 MOM_SUPPRESS_HOLE; Suppress holes.
= 2 MOM_SUPPRESS_FACE; Suppress faces.
= 32 MOM_SUPP_KEEP_FILET; Suppress filets.
[11] Small hole patterns.
= 0 Do nothing.
= 1 Add washer to small holes.
[12] Number of nodes on hole.
[13] Minimum number of nodes on hole.
[14] Quality check
= 0 Off
= 1 On
[15] Cross face fixing.
= 0 Off
= 1 On
[16] Guide elements.
= 0 Get mesh element ids directly from the in_elem_list.
= 1 Get mesh element ids from groups using guiding elements.
[17] Output attribute type.
= 0 As input attribute type.
= 3 Defined by group ids.
[18] Topo preview flag.
= 0 Off.
= 1 On.
[19] Suppress face criteria. This a bit field allowing
multiple face types to be suppressed.
= 0 MOM_ET_CRITERIA_ALL_OFF.
= 1 MOM_ET_FACE_SIZE_ON.
= 2 MOM_ET_FACE_ANGLE_ON.
= 4 MOM_ET_FACE_4SIDE_ON.
= 8 MOM_ET_FACE_PERIMETER_ON.
= 4095 MOM_ET_CRITERIA_ALL_ON.
Chapter 4: Finite Element Functions 1039
Create Action

[20] tsurf_node_flag (not used).


[21] The number of washer rows along small holes.
[22] The method used to compute washer rows.
[23] Mesh types
= 0 MOM_MIXED_TRIAS_N_QUADS.
= 1 MOM_ALL_QUADS.
= 2 MOM_MIXED_TRIAS_N_QUADS.
= 3 MOM_ALL_TRIAS (Tria3).
= 4 MOM_QUAD_DOMINANT.
• Feature parameter definitions by offset:
If the "Feature flag for automatic feature recognition" integer parameter ( offset 4 ) is on, use
feature angle to define soft edges and vertices on the mesh.
[1] Feature edge angle.
[2] Feature vertex angle.
[3] Suppression size for the smallest size of faces to suppress.
[4] Suppression radius for the smallest hole size to suppress.
[5] Maximum element size for curvature size control.
[6] Minimum element size for curvature size control.
[7] Chordal deviation ratio for curvature size control.
[8] Transition ratio.
[9] Bend radius.
[10] Tria percent.
[11] Suppression edge angel.
[12] Suppression vertical angle.
[13] Suppression perimeter.
[14] Fillet angle.
[15] Small hole perimeter for washers.
[16] Washer width.
[17] Washer width factor.
1040 PCL Reference Manual
Create Action

fem_create_mshctl_surface.exec (surface_list, global_edge_length)

Description:
This function creates a surface mesh control that will be used to mesh the interior of the surface. The
mesh length given in the Create-Mesh form will continue to drive the element edge lengths on the
boundary of the surfaces selected for meshing, irrespective of the mesh control applied to the
surfaces.
Input:
STRING surface_list[VIRTUAL] This value specifies the list of surfaces to which
surface mesh control must be applied.
STRING global_edge_length Global element length for the surfaces in
surface_list
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

fem_create_surface_mesh_control (surface_list, num_int_arg, int_arg_list,


num_float_arg, float_arg_list)

Description:
This function creates a surface mesh control that will be used to mesh the interior of the surface. The
mesh length given in the Create-Mesh form will continue to drive the element edge lengths on the
boundary of the surfaces selected for meshing, irrespective of the mesh control applied to the surfaces.
Input:
STRING surface_list[VIRTUAL] This value specifies the list of surfaces to which
surface mesh control must be applied.
INTEGER num_int_arg This value specifies the number of arguments in
the input array int_arg_list.
Chapter 4: Finite Element Functions 1041
Create Action

INTEGER int_arg_list(4) This value specifies an array of integer values. The


delimiter for each argument is a comma (,). The
items in order in the list are as follows:

Mesher Type: 1= Iso mesher, and 2 = Paver.

Global Space Meshing Only: 1 = True, and 0 =


False.

Curvature Refinement: 1 = True, and 0 = False.

p-Element Mesh: 1 = True, and 0 = False.


INTEGER num_float_arg This value specifies the number of arguments in
the input array float_arg_list.
REAL float_arg_list(3) This value specifies an array of real (float) values.
The delimiter for each item is a comma (,). The
items in order in the list are as follows:

Global element length for the surfaces in


surface_list

The next two fields are not used currently.


Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Example:

Please see fem_create_surface_mesh_control.


1042 PCL Reference Manual
Create Action

fem_mom_region_mesh ( surf_list, feature_curve_list,


feature_vertex_list, iso_mesh_flag,
feature_flag, seed_type, num_val,
val_array_str, elem_topo, node_list,
elem_list, num_nodes, num_elems,
nodes_created, elems_created )

Description:
This function will create a shell mesh on a congruent surfaced model and preserve the feature curves
and feature vertices on the output mesh.
Input:
STRING surf_list The list of surface to be meshed.
STRING feature_curve_list The list of curves to be preserved.
STRING feature_vertex_list The list of vertices on the boundary of the region or
feature curves to be preserved.
INTEGER iso_mesh_flag A value of 0 will turn this feature off. If the flag is on
or 1, the program will iso-mesh a 3/4 sided region. The
first 3/4 vertices on the feature_vertex_list will be the
vertices of the region.
INTEGER feature_flag A value of 0 will turn this feature off. If the flag is on
or 1, the program will define the feature edge/vertex
based on the feaure_edge_angle and
feature_vertex_angle.
INTEGER seed_type The following values can be used:

0 Uniform boundary seeding.


1 Curvature based boundary seeding.
2 Keep all boundary vertices.
INTEGER num_val The number of offsets in the val_array_str array of
strings. This value must be greater than 0 and less than
or equal to 6.
STRING val_array_str An array of strings providing input real values. The
offsets are to be used as follows:

Offset Description
1 Element size
2 Height/Length ratio
3 "Minimum size"/"Element Size" ratio
4 Maximum size
5 Feature edge angle
6 Feature vertex angle
Chapter 4: Finite Element Functions 1043
Create Action

STRING elem_topo Element topology: "Quad" or "Tria"


STRING node_list List of output node IDs.
STRING elem_list List of output element IDs.
Output:
INTEGER num_nodes The number of nodes created.
INTEGER num_elems The number of elements created.
STRING nodes_created The ids of nodes created.
STRING elems_created The ids of elements created.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

fem_prj_nod_surf_norm (node_select, surface_select)

Description:
This function will project FEM nodes onto surfaces using the closest approach method.
Input:
STRING node_select[] This value specifies a selection of FEM nodes to be
projected onto the surfaces.
STRING surface_select[] This value specifies a selection of surfaces on which
the FEM nodes will be projected.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function will create FEM points on surfaces using the closest approach method. This method works
by placing a point at the intersection of a vector through a point from the input value node_select with a
surface from the input value surface_select. The vector is created so that it is normal to the surface at its
point of intersection with the surface.
Example:

Please see fem_prj_nod_surf_norm.


1044 PCL Reference Manual
Create Action

fem_prj_nod_surf_vect (node_select, surface_select, projection_option,


projection_vector, coord_frame)

Description:
This function will project FEM nodes onto surfaces using one of three possible methods.
Input:
STRING node_select[] This value specifies a selection of FEM nodes to be
projected onto the surfaces.
STRING surface_select[] This value specifies a selection of surfaces on
which the FEM nodes will be projected.
INTEGER projection_option This value specifies the method to be used in
projecting the FEM nodes onto the surfaces: 1 =
the closest approach method, 2 = use a vector
projection method, and 3 = the view vector
method.
STRING projection_vector[] This value specifies the projection vector used
when the input value projection_option is set to 2.
STRING coord_frame[] This value specifies the coordinate frame used with
the input value projection_vector. This value is
only used when the input value projection_option
is set to 2.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function will create finite element points on surfaces using one of three methods. The closest
approach method will place a point at the intersection of a vector through a point from the input value
node_select with a surface from the input value surface_select. The vector is created so that it is normal
to the surface at its point of intersection with the surface.
The second method, the vector projection method, will use the input value projection_vector to define a
vector through a point from the input value node_select. This will allow a node point to be created at the
point where the vector intersects a surface specified by the input value surface_select.
The third, or view vector method, is very much like the vector projection method except that the view
vector is used instead of the input value projection_vector.
Chapter 4: Finite Element Functions 1045
Create Action

Example:

Please see fem_prj_nod_surf_vect.

fem_prj_nod_curve_norm (node_select, curve_select)

Description:
This function will project FEM nodes onto curves using the closest approach method.
Input:
STRING node_select[] This value specifies a selection of FEM nodes to be projected
onto the curves.
STRING curve_select[] This value specifies a selection of curves onto which the FEM
nodes will be projected.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function will create FEM points on curves using the closest approach method. This method works
by placing a point at the intersection of a vector through a point from the input value node_select with a
curve from the input value curve_select. The vector is created so that it is normal to the surface of the
curve at its point of intersection with the curve.
Example:

Please see fem_prj_nod_curve_norm.


1046 PCL Reference Manual
Create Action

fem_prj_nod_cplane (node_select, direction, constant_value,


coord_frame)

Description:
This function will project FEM nodes onto a constant plane.
Input:
STRING node_select[] This value specifies a selection of FEM nodes to be
projected onto the plane.
INTEGER direction This value specifies the direction of a vector used to
project the nodes onto the plane and is normal to that
plane. This value can be set to 1= X axis, 2 = Y axis, or 3
= Z axis.
REAL constant_value This value specifies the distance from the origin along the
axis specified by the input value direction at which the
constant plane is defined.
STRING coord_frame[] This value specifies the coordinate frame for the input
value node_select and the constant plane.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Example:

Please see fem_prj_nod_cplane.


Chapter 4: Finite Element Functions 1047
Create Action

mesh_seed_create (curve_select, seed_option, num_seeds, ratio,


length_1, length_2)

Description:
This function will create and display FEM mesh seeds on a selection of curves based on a uniform, a
one-way bias, or a two-way bias mesh seed spacing.
Input:
STRING curve_select[] This value specifies a selection of curves to be seeded.
INTEGER seed_option This value specifies the options for this function. See the
remarks below.
INTEGER num_seeds This value specifies the number of seeds per edge for use
when the input value seed_option is set to 1, 3, or 5.
REAL ratio This value specifies the length ratio used when the input value
seed_option is set to 3 or 5. This value must be greater than 0.
REAL length_1 This value specifies the first element length used when the
input value seed_option is set to 2, 4, or 6. This value must be
greater than 0.
REAL length_2 This value specifies the second element length used when the
input value seed_option is set to 4 or 6. This value must be
greater than the input value “length_1”.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The integer input value seed_option can have the following values:

Value Description
1 Space the mesh seeds in a uniform manner using the input value num_seeds to
define the number of mesh seeds per edge.
2 Space the mesh seeds in a uniform manner using the input value length_1 to define
the distance between the mesh seeds.
3 Space the mesh seeds using a one way bias defined by the input values length_1
and ratio.
4 Space the mesh seeds using a one way bias defined by the input value length_2
divided by the input value length_1.
1048 PCL Reference Manual
Create Action

5 Space the mesh seeds using a two way bias defined by the input value num_seeds
and ratio.
6 Space the mesh seeds using a two way bias defined by the input value length_2
divided by the input value length_1.

Placing a one way bias on the mesh seeds will cause them to be placed closer together towards one end
of an edge. A two way bias will space the mesh seeds further apart at the center of an edge and closer
together towards the ends of the edge.
Example:

Please see mesh_seed_create.


Chapter 4: Finite Element Functions 1049
Create Action

mesh_seed_create_curv_based (curve_select, element_length_type,


allow_curve_error, constraint_option,
minimum_id_length, maximum_id_length,
minimum_number, maximum_number)

Description:
This function will create and display FEM mesh seeds on a selection of curves based on the allowable
curve error and either the number of mesh seeds per element or the length of an element.
Input:
STRING curve_select[] This value specifies a selection of curves to be
seeded.
STRING element_length_type[31] This value specifies an element length type of either
“Uniform” or “Variable”.
REAL allow_curve_error This value specifies the allowable curvature error
which must be greater than 0.
STRING constraint_option[31] This value specifies the element constraint option of
either “Length” or “Number”. This value is used to
select between the use of the input values
minimum_id_length and maximum_id_length or
minimum_number and maximum_number.
REAL minimum_id_length This value specifies the minimum length of an
element that will be seeded. This value must be equal
to or greater than 0 and is used only when the input
value constraint_option is set to “Length”.
REAL maximum_id_length This value specifies the maximum length of an
element that will be seeded. This value must be
greater than the input value minimum_id_length and
is used only when the input value constraint_option
is set to “Length”.
INTEGER minimum_number This value specifies the minimum number of mesh
seeds that will be placed on an element. This value
must be greater than 0 and is used only when the
input value constraint_option is set to “Number”.
INTEGER maximum_number This value specifies the maximum number of mesh
seeds that will be placed on an element. This value
must be greater than the input value
minimum_number and is used only when the input
value constraint_option is set to “Number”.
1050 PCL Reference Manual
Create Action

Output:
None.
Error Conditions:
None.

Example:

Please see mesh_seed_create_curv_based.

mesh_seed_create_tabular (curve_select, coord_type, num_entries,


table_of_values)

Description:
This function will create and display FEM mesh seeds at specific points on a selection of curves using
a table of either percentage values of the arc length or of the parametric length of a curve.
Input:
STRING curve_select[] This value specifies a selection of curves to be
seeded.
STRING coord_type[] This value specifies the coordinate type used
in the input value table_of_values and can be
set to either “Arc Length” or “Parametric”.
INTEGER num_entries This value specifies the number of entries in
the input value table_of_values.
REAL table_of_values(num_entries + 2) This value specifies a table of either
percentage values of the arc length or of the
parametric length of a curve. The number of
offsets allocated for this array should be two
greater than the input value num_entries to
allow for the inclusion of the values 0.0 and
1.0. All entries in this table can range from 0.0
to 1.0.
Output:
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in the
message database.
Chapter 4: Finite Element Functions 1051
Create Action

Example:

Please see mesh_seed_create_tabular.

mesh_seed_create_tabular2 (curve_select, coord_type, num_entries,


table_of_values)

Description:
This function will create and display FEM mesh seeds at specific points on a selection of curves
using a table of either percentage values of the arc length or of the parametric length of a curve.
Input:
STRING curve_select[] This value specifies a selection of curves to be
seeded.
STRING coord_type[] This value specifies the coordinate type used
in the input value table_of_values and can be
set to either “Arc Length” or “Parametric”.
INTEGER num_entries This value specifies the number of entries in
the input value table_of_values.
STRING table_of_values(num_entries + 2)
This value specifies a table of either
percentage values of the arc length or of the
parametric length of a curve. The number of
offsets allocated for this array should be two
greater than the input value num_entries to
allow for the inclusion of the values 0.0 and
1.0. All entries in this table can range from 0.0
to 1.0. Table_of_values is a string array so
that each element can support unevaluated
PCL expressions.
Output:
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message
in the message database.

Example:

None.
1052 PCL Reference Manual
Create Action

mesh_seed_create_tabular_points (curve_list, point_list, tolerance)

Description:
This function will create a mesh seed on a curve or an edge using the nodes, points or locations
provided in the point_list. The points (nodes) should lie within tolerance specified.
Input:
STRING curve_list[VIRTUAL] This value specifies a list of curves or edges on
which mesh seed needs to be created.
STRING point_list[VIRTUAL] This value specifies the list of locations. This value
could be nodes, points, or [x y z] locations.
REAL tolerance This value specifies the tolerance within which the
items in the input value point_list should lie with
respect to the curve to create a tabular mesh seed.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
MSG_FEM_SEED_00_ADDED - Arc length ratio 0.0 added to seed table for start point of curve.

MSG_FEM_SEED_10_ADDED - Arc length ratio 1.0 added to seed table for end point of curve.

While the above two can be ignored all other error messages should be handled as the situation
warrants.

See the Status Messages for information on any error values returned by this function.

Example:

Please see mesh_seed_create_tabular_points.


Chapter 4: Finite Element Functions 1053
Create Action

mesh_seed_display_mgr.init ()

Description:
This function will initialize the mesh seed display manager.
Input:
None.
Output:
None.
Error Conditions:
None.

Remarks:

This function must be called before any other call is made to the mesh seed display manager.
Example:

Please see mesh_seed_display_mgr.init.

mesh_seed_display_mgr.plot ()

Description:
This function will display all visible mesh seeds in the current viewport.
Input:
None.
Output:
None.
Error Conditions:
None.

Example:

Please see mesh_seed_display_mgr.plot.


1054 PCL Reference Manual
Create Action

mesh_seed_display_mgr_erase ()

Description:
This function will erase all visible mesh seeds in the current viewport.
Input:
None.
Output:
None.
Error Conditions:
None.

Remarks:

This function does not modify the mesh seeds defined in the database, it just erases the mesh seeds from
the current viewport.
Example:

Please see mesh_seed_display_mgr_erase.

mesh_seed_display_mgr.refresh ()

Description:
This function will refresh the mesh seed shown in the current viewport if the mesh seeds are displayed.
Input:
None.
Output:
None.
Error Conditions:
None.

Example:

Please see mesh_seed_display_mgr.refresh.


Chapter 4: Finite Element Functions 1055
Transform Action

Transform Action
This section is used to describe some of the functions used to mirror, rotate, and translate finite element
model nodes, elements, multi-point constraints (MPCs), meshes, and mesh seeds.

fem_transform_elems_mirror_1 (new_eid_list, plane_list, offset,


reverse_elems, flag, elem_list,
created_nids, created_eids, deleted_nids,
deleted_eids)

Description:
This function will do a mirror translation on selected elements.
Input:
STRING new_eid_list[] This value specifies a selection of element identifiers
to be assigned to the newly created elements.
STRING plane_list[] This value specifies an identifier for the plane around
which the mirror transformation will be made.
REAL offset This value specifies an offset from the mirror
transformation plane.
LOGICAL reverse_elems This value specifies, when set to TRUE, that the
mirrored elements are to be reversed after mirror
transformation has been done. Setting this value to
TRUE will ensure that the jacobian values for solid
elements will remain positive. Setting this value to
FALSE may allow the creation of elements with
negative jacobian values.
INTEGER flag This value specifies, when set to 1, that the original
elements and nodes from which the sweep operation
was made will be deleted. When set to 2 this value
uses the new numbering control scheme and when set
to 3, uses the new id offset method.
STRING elem_list[] This value specifies a list of elements to mirror.
Output:
STRING created_nids[VIRTUAL] This value returns a description of the created nodes.
STRING created_eids[VIRTUAL] This value returns a description of the created
elements.
STRING deleted_nids[VIRTUAL] This value returns a description of the deleted nodes.
STRING deleted_eids[VIRTUAL] This value returns a description of the deleted
elements.
1056 PCL Reference Manual
Transform Action

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output values created_nids, created_eids,
deleted_nids, and deleted_eids. It is the responsibility of the calling function to free the allocated string
storage space.
This function can create and delete elements that are stored in the database and displayed in a viewport.
Example:

Please see fem_transform_elems_mirror_1.

fem_transform_elems_rotate_1 (rotate_elem_select, axis_select,


rotation_angle, offset_angle,
ref_coord_frame, repeat_number, flag,
element_select, nodes_created,
elements_created, nodes_deleted,
elements_deleted)

Description:
This function will do a rotation translation on the input list of elements.
Input:
STRING rotate_elem_select[] This value specifies a selection of element
identifiers to be assigned to the newly created
elements.
STRING axis_select[] This value specifies an identifier for the axis
around which the rotation translation will take
place.
REAL rotation_angle This value specifies the angle of rotation in
degrees.
REAL offset_angle This value specifies the offset angle for the rotation
translation in degrees.
STRING ref_coord_frame[] This value specifies an identifier for the reference
coordinate frame.
INTEGER repeat_number This value specifies the number of times to repeat
the rotation translation.
Chapter 4: Finite Element Functions 1057
Transform Action

INTEGER flag This value specifies, when set to 1, that the original
elements and nodes from which the sweep
operation was made will be deleted. When set to 2
this value uses the new numbering control scheme
and when set to 4, uses the new id offset method.
STRING element_select[] This value specifies a list of elements to rotate.
Output:
STRING nodes_created[VIRTUAL] This value returns a description of the created
nodes.
STRING elements_created[VIRTUAL] This value returns a description of the created
elements.
STRING nodes_deleted[VIRTUAL] This value returns a description of the deleted
nodes.
STRING elements_deleted[VIRTUAL] This value returns a description of the deleted
elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output values nodes_created, elements_created,
nodes_deleted, and elements_deleted. It is the responsibility of the calling function to free the allocated
string storage space.
This function can create and delete elements that are stored in the database and displayed in a viewport.
Example:

Please see fem_transform_elems_rotate_1.


1058 PCL Reference Manual
Transform Action

fem_transform_nodes_mirror_1 (new_nid_list, plane_list, offset, flag,


node_list, created_nids, deleted_ids)

Description:
This function will do a mirror translation on the input list of nodes.
Input:
STRING new_nid_list[] This value specifies a selection of node identifiers
to be assigned to the newly created nodes.
STRING plane_list[] This value specifies an identifier for the axis
around which the mirror translation will take place.
REAL offset This value specifies an offset from the mirror
transformation plane.
INTEGER flag This value specifies, when set to 1, that the original
elements and nodes from which the sweep
operation was made will be deleted. When set to 2
this value uses the new numbering control scheme
and when set to 3, uses the new id offset method.
STRING node_list[] This value specifies a list of nodes to mirror.
Output:
STRING created_nids[VIRTUAL] This value returns a description of the created
nodes.
STRING deleted_ids[VIRTUAL] This value returns a description of the deleted
nodes.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output values created_nids and deleted_ids. It
is the responsibility of the calling function to free the allocated string storage space.
This function can create and delete elements that are stored in the database and displayed in a viewport.
Example:

Please see fem_transform_nodes_rotate_1.


Chapter 4: Finite Element Functions 1059
Transform Action

fem_transform_nodes_rotate_1 (rotate_node_select, axis_select,


rotation_angle, offset_angle,
ref_coord_frame, repeat_number, flag,
node_select, nodes_created,
nodes_deleted)

Description:
This function will do a rotation translation on the input list of nodes.
Input:
STRING rotate_node_select[] This value specifies a selection of node identifiers
to be assigned to the newly created nodes.
STRING axis_select[] This value specifies an identifier for the axis
around which the rotation translation will take
place.
REAL rotation_angle This value specifies the angle of rotation in
degrees.
REAL offset_angle This value specifies the offset angle for the rotation
translation in degrees.
STRING ref_coord_frame[] This value specifies an identifier for the reference
coordinate frame.
INTEGER repeat_number This value specifies the number of times to repeat
the rotation translation.
INTEGER flag This value specifies, when set to 1, that the original
elements and nodes from which the sweep
operation was made will be deleted. When set to 2
this value uses the new numbering control scheme
and when set to 4, uses the new id offset method.
STRING node_select[] This value specifies a list of elements to rotate.
Output:
STRING nodes_created[VIRTUAL] This value returns a description of the created
nodes.
STRING nodes_deleted[VIRTUAL] This value returns a description of the deleted
nodes.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
1060 PCL Reference Manual
Transform Action

Remarks:

Space is internally allocated for the string returned by the output values nodes_created, and
nodes_deleted. It is the responsibility of the calling function to free the allocated string storage space.
This function can create and delete elements that are stored in the database and displayed in a viewport.
Example:

Please see fem_transform_nodes_rotate_1.

fem_translate_nodes_1 (trans_node_select, vector_select,


ref_coord_frame, repeat_number,
transform_type, delete_parents, node_select,
nodes_created, nodes_deleted)

Description:
This function will do a translation operation on the input list of nodes.
Input:
STRING trans_node_select[] This value specifies a selection of node identifiers
to be assigned to the newly created nodes.
STRING vector_select[] This value specifies an identifier for the vector
describing the direction and distance used for the
translation operation.
STRING ref_coord_frame[] This value specifies an identifier for the reference
coordinate frame.
INTEGER repeat_number This value specifies the number of times to repeat
the translation operation.
LOGICAL transform_type This value specifies, when set to TRUE, that the
local coordinate system will used to interpret the
input value vector_select. If this value is set to
FALSE it will be assumed that the input value
vector_select specifies a vector in cartesian
coordinates.
INTEGER flag This value specifies, when set to 1, that the original
elements and nodes from which the sweep
operation was made will be deleted. When set to 2
this value uses the new numbering control scheme
and when set to 4, uses the new id offset method.
STRING node_select[] This value specifies a list of nodes to translate.
Output:
Chapter 4: Finite Element Functions 1061
Transform Action

STRING nodes_created[VIRTUAL] This value returns a description of the created


nodes.
STRING nodes_deleted[VIRTUAL] This value returns a description of the deleted
nodes.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output values nodes_created, and
nodes_deleted. It is the responsibility of the calling function to free the allocated string storage space.
This function can create and delete elements that are stored in the database and displayed in a viewport.
Example:

Please see fem_translate_nodes_1.

fem_translate_nodes_2 (trans_node_select, vector_select,


vector_magnitude, reverse_dir, ref_coord_frame,
repeat_number, transform_type, delete_parents,
node_select, nodes_created, nodes_deleted)

Description:
This function will do a translation operation on the input list of nodes.
Input:
STRING assigned_ids[] This value specifies a selection of node identifiers
to be assigned to the newly created nodes. Default
"#" (Next available id)
STRING vector_select[] This value specifies an identifier for the vector
describing the direction and distance used for the
translation operation. Default "<1 0 0>"
REAL magnitude The distance to translate in the specified vector
direction. Default is the magnitude of the direction
vector, e.g. 1.
LOGICAL reverse_dir This value specifies, when set to TRUE, to
translate in the negative direction of the translation
vector. If FALSE, in the positive direction. Default
is FALSE
1062 PCL Reference Manual
Transform Action

STRING ref_coord_frame[] This value specifies an identifier for the reference


coordinate frame. Default is "Coord 0".
INTEGER repeat_number This value specifies the number of times to repeat
the translation operation. Default is 1
LOGICAL transform_type This value specifies, when set to TRUE, that the
local coordinate system will be used to interpret
the input value vector_select. If this value is set to
FALSE, it will be assumed that the input value
vector_select specifies a vector in cartesian
coordinates. Default is FALSE.
INTEGER flag This value specifies, when set to 1, that the original
nodes from which the transform operation was
made will be deleted. When set to 2 this value uses
the new numbering control scheme and when set to
4, uses the new id offset method. Default is 2
STRING node_select[] This value specifies a list of nodes to translate.
Output:
STRING nodes_created[VIRTUAL] This value returns a description of the created
nodes.
STRING nodes_deleted[VIRTUAL] This value returns a description of the deleted
nodes.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output values nodes_created and
nodes_deleted. It is the responsibility of the calling function to free the allocated string storage space.
This function can create and delete elements that are stored in the database and displayed in a viewport.

fem_translate_elems_1 (trans_elem_select, vector_select, ref_coord_frame,


repeat_number, transform_type, flag, elem_select,
nodes_created, elements_created, nodes_deleted,
elements_deleted)

Description:
This function will do a translation operation on the input list of elements.
Chapter 4: Finite Element Functions 1063
Transform Action

Input:
STRING trans_elem_select[] This value specifies a selection of element
identifiers to be assigned to the newly created
elements.
STRING vector_select[] This value specifies an identifier for the vector
describing the direction and distance used for the
translation operation.
STRING ref_coord_frame[] This value specifies an identifier for the reference
coordinate frame.
INTEGER repeat_number This value specifies the number of times to repeat
the translation operation.
LOGICAL transform_type This value specifies, when set to TRUE, that the
local coordinate system will used to interpret the
input value vector_select. If this value is set to
FALSE it will be assumed that the input value
vector_select specifies a vector in cartesian
coordinates.
INTEGER flag This value specifies, when set to 1, that the
original elements and nodes from which the sweep
operation was made will be deleted. When set to 2
this value uses the new numbering control scheme
and when set to 4, uses the new id offset method.
STRING elem_select[] This value specifies a list of elements to translate.
Output:
STRING nodes_created[VIRTUAL] This value returns a description of the created
nodes.
STRING elements_created[VIRTUAL] This value returns a description of the created
elements.
STRING nodes_deleted[VIRTUAL] This value returns a description of the deleted
nodes.
STRING elements_deleted[VIRTUAL] This value returns a description of the deleted
elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
1064 PCL Reference Manual
Transform Action

Remarks:

Space is internally allocated for the string returned by the output values nodes_created, elements_created,
nodes_deleted, and elements_deleted. It is the responsibility of the calling function to free the allocated
string storage space.
This function can create and delete elements that are stored in the database and displayed in a viewport.
Example:

Please see fem_translate_elems_1.

fem_translate_elems_2 (trans_elem_select, vector_select,


vector_magnitude, reverse_dir,
ref_coord_frame, repeat_number,
transform_type, flag, elem_select,
nodes_created, elements_created,
nodes_deleted, elements_deleted)

Description:
This function will do a translation operation on the input list of elements.
Input:
STRING trans_elem_select[] This value specifies a selection of element
identifiers to be assigned to the newly created
elements.
STRING vector_select[] This value specifies an identifier for the vector
direction used for the translation operation.
REAL vector_magnitude This value specifies an identifier for the vector
magnitude used for the translation operation.
LOGICAL reverse_dir This value specifies, when set to TRUE, that the
vector direction will be reversed. If this vale is
set to FALSE, vector direction will not be
reversed.
STRING ref_coord_frame[] This value specifies an identifier for the
reference coordinate frame.
INTEGER repeat_number This value specifies the number of times to
repeat the translation operation.
LOGICAL transform_type This value specifies, when set to TRUE, that the
local coordinate system will be used to interpret
the input value vector_select. If this value is set
to FALSE, it will be assumed that the input
value vector_select specifies a vector in
cartesian coordinates.
Chapter 4: Finite Element Functions 1065
Transform Action

INTEGER flag This value specifies, when set to 1, that the


original elements and nodes from which the
sweep operation was made will be deleted.
When set to 2 this value uses the new
numbering control scheme and when set to 4,
uses the new id offset method.
STRING elem_select[] This value specifies a list of elements to
translate.
Output:
STRING nodes_created[VIRTUAL] This value returns a description of the created
nodes.
STRING elements_created[VIRTUAL] This value returns a description of the created
elements.
STRING nodes_deleted[VIRTUAL] This value returns a description of the deleted
nodes.
STRING elements_deleted[VIRTUAL] This value returns a description of the deleted
elements.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output values nodes_created, elements_created,
nodes_deleted, and elements_deleted. It is the responsibility of the calling function to free the allocated
string storage space.
This function can create and delete elements that are stored in the database and displayed in a viewport.
1066 PCL Reference Manual
Sweep Action

Sweep Action
This section is used to describe some of the functions used to duplicate and/or translate finite element
model nodes, elements, multi-point constraints (MPCs), meshes, and mesh seeds through the use of
sweep operations.
Sweeping elements is the process of creating higher order elements by sweeping a lower order element
through a prescribed path. Therefore, a hexagonal element may be created by sweeping a quadrilateral
element through space, the edges of the hexagonal being defined by the corners of the quadrilateral as its
nodes move along the path. Ten methods for defining the swept paths are provided: arc, extrude, glide,
glide-guide, normal, radial cylindrical, radial spherical, spherical theta, vector field and loft.

fem_sweep_arc_1 (sweep_elem_select, sweep_node_select, arc_angle,


arc_coord_frame, axis_rotation, offset_angle, flag,
entity_select, num_topologies, sweep_topologies,
anly_coord_frame, ref_coord_frame, mesh_control_type,
mesh_control, num_nodes, num_elements,
nodes_created, elements_created)

Description:
This function will create elements by using the arc sweep method.
Input:
STRING sweep_elem_select[] This value specifies a selection of element identifiers
to be assigned to the newly created elements.
STRING sweep_node_select[] This value specifies a selection of node identifiers to
be assigned to the newly created nodes.
STRING arc_angle[] This value specifies the range of the arc swept in
degrees.
STRING arc_coord_frame[] This value specifies an identifier for the coordinate
frame in which the axis of rotation is defined.
STRING axis_rotation[] This value specifies an identifier for the axis of
rotation in the input value arc_coord_frame around
which the arc sweep operation will take place.
STRING offset_angle[] This value specifies the offset angle in degrees
between the location of the entities on which the
sweep operation will take place and the location
along the arc where the entities created by the sweep
operation will be placed.
INTEGER flag This value specifies, when set to 1, that the original
elements and nodes from which the sweep operation
was made will be deleted. When set to 2 this value
uses the new numbering control scheme.
Chapter 4: Finite Element Functions 1067
Sweep Action

STRING entity_select[] This value specifies a list of entities on which the


sweep operation will take place.
INTEGER num_topologies This value specifies the number of sweep topology
conversion pairs and should be set to the value 10.
STRING sweep_topologies[] This value specifies an array of selections of
(num_topologies) elements used to define the relationship between the
types of entities on which the sweep operation will
take place and the entities that the sweep operation
will create from those entities. The offset into the
array is used to define the type of entity from which
the geometry will be extended and the value at that
offset will define the entity created from the starting
geometric type. See the “Sweep Function Input
Value Tables” at the end of this section for a list of
values that can be used with this argument.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
STRING ref_coord_frame[] This value specifies an identifier for the reference
coordinate frame.
STRING mesh_control_type[] This value specifies the type of mesh control to be
used with the arc sweep operation. See the “Sweep
Function Input Value Tables” at the end of this
section for a list of values that can be used with this
argument.
STRING mesh_control[](6) This value specifies mesh control parameters. See
the “Sweep Function Input Value Tables” at the end
of this section for a list of values that can be used
with this argument.
Output:
INTEGER num_nodes This value returns the number of nodes created by
the sweep operation.
INTEGER num_elements This value returns the number of elements created by
the sweep operation.
STRING nodes_created[VIRTUAL] This value returns a description of the created nodes.
STRING elements_created This value returns a description of the created
[VIRTUAL] elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
1068 PCL Reference Manual
Sweep Action

Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used to implement the functionality behind the form accessed by the “Finite Elements”
switch bar selection when the “Action:” switch is set to “Sweep”, the “Object:” switch is set to
“Element”, and the “Method” switch is set to “Arc”.
Space is internally allocated for the string returned by the output values nodes_created and
elements_created. It is the responsibility of the calling function to free the allocated string storage space.
This function can create and delete elements and nodes that are stored in the database and displayed in a
viewport.
Example:

Please see fem_sweep_arc_1.

fem_sweep_cylinder_radial_1 (sweep_elem_select, sweep_node_select,


cyl_coord_frame, axis_cylinder,
radial_distance, offset_distance, flag,
entity_select, num_topologies,
sweep_topologies, anly_coord_frame,
ref_coord_frame, mesh_control_type,
mesh_control, num_nodes,
num_elements, nodes_created,
elements_created)

Description:
This function will create elements by using the radial cylindrical sweep method. This operation will
create entities by sweeping along a cylindrical radius that passes through the selected entities and is
normal to the cylinder axis.
Input:
STRING sweep_elem_select[] This value specifies a selection of element
identifiers to be assigned to the newly created
elements.
STRING sweep_node_select[] This value specifies a selection of node identifiers
to be assigned to the newly created nodes.
STRING cyl_coord_frame[] This value specifies an identifier for the
coordinate frame in which the cylinder axis is
defined.
Chapter 4: Finite Element Functions 1069
Sweep Action

STRING axis_cylinder[] This value specifies an identifier for the cylinder


axis from which a cylindrical radius will be
projected.
STRING radial_distance[] This value will specify the distance along the
cylindrical radius where the created entities will
be placed. This value must represent a real number
greater than 0.
STRING offset_distance[] This value will specify an offset distance along the
cylindrical radius between the entities on which
the sweep operation will take place and the
location along the cylindrical radius where the
entities created by the sweep operation will be
placed. This value must represent a real number
equal to or greater than zero.
INTEGER flag This value specifies, when set to 1, that the
original elements from which the sweep operation
was made will be deleted. When set to 2 this value
uses the new numbering control scheme.
STRING entity_select[] This value specifies a list of entities on which the
sweep operation will take place.
INTEGER num_topologies This value specifies the number of sweep
topology conversion pairs and should be set to the
value 10.
STRING sweep_topologies[] This value specifies an array of selections of
(num_topologies) elements used to define the relationship between
the types of entities on which the sweep operation
will take place and the entities that the sweep
operation will create from those entities. The
offset into the array is used to define the type of
entity from which the geometry will be extended
and the value at that offset will define the entity
created from the starting geometric type. See the
“Sweep Function Input Value Tables” at the end
of this section for a list of values that can be used
with this argument.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
STRING ref_coord_frame[] This value specifies an identifier for the reference
coordinate frame.
1070 PCL Reference Manual
Sweep Action

STRING mesh_control_type[] This value specifies the type of mesh control to be


used with the arc sweep operation. See the “Sweep
Function Input Value Tables” at the end of this
section for a list of values that can be used with
this argument.
STRING mesh_control[](6) This value specifies mesh control parameters. See
the “Sweep Function Input Value Tables” at the
end of this section for a list of values that can be
used with this argument.
Output:
INTEGER num_nodes This value returns the number of nodes created by
the sweep operation.
INTEGER num_elements This value returns the number of elements created
by the sweep operation.
STRING nodes_created[VIRTUAL] This value returns a description of the created
nodes.
STRING elements_created[VIRTUAL] This value returns a description of the created
elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used to implement the functionality behind the form accessed by the “Finite Elements”
switch bar selection when the “Action:” switch is set to “Sweep”, the “Object:” switch is set to
“Element”, and the “Method” switch is set to “Radial Cyl.”.
Space is internally allocated for the string returned by the output values nodes_created and
elements_created. It is the responsibility of the calling function to free the allocated string storage space.
This function can create and delete elements and nodes that are stored in the database and displayed in a
viewport.
Example:

Please see fem_sweep_cylinder_radial_1.


Chapter 4: Finite Element Functions 1071
Sweep Action

fem_sweep_extrude_1 (sweep_elem_select, sweep_node_select,


vector_coord_frame, vector_direction,
extrusion_distance, offset_distance, flag,
entity_select, num_topologies, sweep_topologies,
anly_coord_frame, ref_coord_frame,
mesh_control_type, mesh_control, num_nodes,
num_elements, nodes_created, elements_created)

Description:
This function will create elements by using the extrude sweep method.
Input:
STRING sweep_elem_select[] This value specifies a selection of element
identifiers to be assigned to the newly created
elements.
STRING sweep_node_select[] This value specifies a selection of node
identifiers to be assigned to the newly created
nodes.
STRING vector_coord_frame[] This value specifies an identifier for the
coordinate frame in which the axis of rotation is
defined.
STRING vector_direction[] This value specifies a vector that defines the
direction in which the extrusion operation will
create new entities.
STRING extrusion_distance[] This value specifies the distance along the
extrusion vector over which new entities will be
created.
STRING offset_distance[] This value specifies the distance between the
location of the entities on which the sweep
operation will take place and the location along
the extrusion vector where the entities created
by the sweep operation will be placed.
INTEGER flag This value specifies, when set to 1, that the
original elements from which the sweep
operation was made will be deleted. When set to
2 this value uses the new numbering control
scheme.
STRING entity_select[] This value specifies a list of entities on which
the sweep operation will take place.
1072 PCL Reference Manual
Sweep Action

INTEGER num_topologies This value specifies the number of sweep


topology conversion pairs and should be set to
the value 10.
STRING sweep_topologies[] This value specifies an array of selections of
(num_topologies) elements used to define the relationship
between the types of entities on which the
sweep operation will take place and the entities
that the sweep operation will create from those
entities. The offset into the array is used to
define the type of entity from which the
geometry will be extended and the value at that
offset will define the entity created from the
starting geometric type. See the “Sweep
Function Input Value Tables” at the end of this
section for a list of values that can be used with
this argument.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
STRING ref_coord_frame[] This value specifies an identifier for the
reference coordinate frame.
STRING mesh_control_type[] This value specifies the type of mesh control to
be used with the arc sweep operation. See the
“Sweep Function Input Value Tables” at the end
of this section for a list of values that can be
used with this argument.
STRING mesh_control[](6) This value specifies mesh control parameters.
See the “Sweep Function Input Value Tables” at
the end of this section for a list of values that can
be used with this argument.
Output:
INTEGER num_nodes This value returns the number of nodes created
by the sweep operation.
INTEGER num_elements This value returns the number of elements
created by the sweep operation.
STRING nodes_created[VIRTUAL] This value returns a description of the created
nodes.
STRING elements_created[VIRTUAL] This value returns a description of the created
elements.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Chapter 4: Finite Element Functions 1073
Sweep Action

Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used to implement the functionality behind the form accessed by the “Finite Elements”
switch bar selection when the “Action:” switch is set to “Sweep”, the “Object:” switch is set to
“Element”, and the “Method” switch is set to “Extrude”.
Space is internally allocated for the string returned by the output values nodes_created and
elements_created. It is the responsibility of the calling function to free the allocated string storage space.
This function can create and delete elements and nodes that are stored in the database and displayed in a
viewport.
Example:

Please see fem_sweep_extrude_1.

fem_sweep_glide_1 (sweep_elem_select, sweep_node_select,


glide_coord_frame, glide_type, glide_curve,
glide_beginning, glide_end, reverse_glide, offset_glide,
glide_parameter, glide_pnts_parametric, flag,
entity_select, num_topologies, sweep_topologies,
anly_coord_frame, ref_coord_frame, mesh_control_type,
mesh_control, num_nodes, num_elements,
nodes_created, elements_created)

Description:
This function will create elements by using the glide sweep method.
Input:
STRING sweep_elem_select[] This value specifies a selection of element identifiers
to be assigned to the newly created elements.
STRING sweep_node_select[] This value specifies a selection of node identifiers to be
assigned to the newly created nodes.
STRING glide_coord_frame[] This value specifies an identifier for the coordinate
frame in which the glide points are defined.
STRING glide_type[] This value specifies the type of glide operation that
will take place. Currently only the case insensitive
value “FIXED” is allowed.
STRING glide_curve[] This value specifies the curve used for the gliding
offset, the glide direction tangent, and the glide frame
origin.
1074 PCL Reference Manual
Sweep Action

STRING glide_beginning[] This value specifies a point that defines the beginning
of the glide curve. This value is used to define an offset
along the glide curve for the start of placement of
entities created by the sweep operation.
STRING glide_end[] This value specifies a point that defines the end of the
glide curve.
LOGICAL reverse_glide This value specifies, when set to TRUE, that the
direction of the glide path along the glide curve be
reversed.
LOGICAL offset_glide This value specifies, when set to TRUE, the use of an
offset for the entities created along the glide curve by
the sweep operation defined by either the input value
glide_beginning or by the input value glide_end,
depending on the input value reverse_glide.
LOGICAL glide_parameter This value specifies, when set to TRUE, that the glide
operation will take place in the curve parameter space
rather than the arc length space.
LOGICAL glide_pnts_parametric This value specifies, when set to TRUE, that the
beginning and the end point for the glide curve are
defined as curve parametric locations rather than as
points in the global coordinate frame.
INTEGER flag This value specifies, when set to 1, that the original
elements and nodes from which the sweep operation
was made will be deleted. When set to 2 this value uses
the new numbering control scheme.
STRING entity_select[] This value specifies a list of entities on which the
sweep operation will take place.
INTEGER num_topologies This value specifies the number of sweep topology
conversion pairs and should be set to the value 10.
STRING sweep_topologies[] This value specifies an array of selections of elements
(num_topologies) used to define the relationship between the types of
entities on which the sweep operation will take place
and the entities that the sweep operation will create
from those entities. The offset into the array is used to
define the type of entity from which the geometry will
be extended and the value at that offset will define the
entity created from the starting geometric type. See the
“Sweep Function Input Value Tables” at the end of this
section for a list of values that can be used with this
argument.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
Chapter 4: Finite Element Functions 1075
Sweep Action

STRING ref_coord_frame[] This value specifies an identifier for the reference


coordinate frame.
STRING mesh_control_type[] This value specifies the type of mesh control to be used
with the arc sweep operation. See the “Sweep Function
Input Value Tables” at the end of this section for a list
of values that can be used with this argument.
STRING mesh_control[](6) This value specifies mesh control parameters. See the
“Sweep Function Input Value Tables” at the end of this
section for a list of values that can be used with this
argument.
Output:
INTEGER num_nodes This value returns the number of nodes created by the
sweep operation.
INTEGER num_elements This value returns the number of elements created by
the sweep operation.
STRING nodes_created[VIRTUAL] This value returns a description of the created nodes.
STRING elements_created This value returns a description of the created
[VIRTUAL] elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used to implement the functionality behind the form accessed by the “Finite Elements”
switch bar selection when the “Action:” switch is set to “Sweep”, the “Object:” switch is set to
“Element”, and the “Method” switch is set to “Glide”.
Space is internally allocated for the string returned by the output values nodes_created and
elements_created. It is the responsibility of the calling function to free the allocated string storage space.
This function can create and delete elements and nodes that are stored in the database and displayed in a
viewport.
Example:

Please see fem_sweep_glide_1.


1076 PCL Reference Manual
Sweep Action

fem_sweep_glide_guide_1 (sweep_elem_select,
sweep_node_select, glide_coord_frame,
glide_curve, glide_beginning, glide_end,
reverse_glide, offset_glide,
glide_parameter, glide_pnts_parametric,
flag, entity_select, guide_curve,
guide_beginning, guide_end,
reverse_guide, offset_guide,
guide_parameter, guide_pnts_parameter,
preserve_guide_axis, num_topologies,
sweep_topologies, anly_coord_frame,
ref_coord_frame, mesh_control_type,
mesh_control, num_nodes,
num_elements, nodes_created,
elements_created)

Description:
This function will create elements by using the glide-guide sweep method.
Input:
STRING sweep_elem_select[] This value specifies a selection of element
identifiers to be assigned to the newly created
elements.
STRING sweep_node_select[] This value specifies a selection of node identifiers
to be assigned to the newly created nodes.
STRING glide_coord_frame[] This value specifies an identifier for the
coordinate frame in which the glide points are
defined.
STRING glide_curve[] This value specifies the curve used for the gliding
offset, the glide direction tangent, and the glide
frame origin.
STRING glide_beginning[] This value specifies a point that defines the
beginning of the glide curve. This value is used to
define an offset along the glide curve for the start
of placement of entities created by the sweep
operation.
STRING glide_end[] This value specifies a point that defines the end of
the glide curve.
LOGICAL reverse_glide This value specifies, when set to TRUE, that the
direction of the glide path along the glide curve be
reversed.
Chapter 4: Finite Element Functions 1077
Sweep Action

LOGICAL offset_glide This value specifies, when set to TRUE, that the
use of an offset for the entities created along the
glide curve by the sweep operation be defined by
either the input value glide_beginning or by the
input value glide_end, depending on the input
value reverse_glide.
LOGICAL glide_parameter This value specifies, when set to TRUE, that the
glide operation will take place in the curve
parameter space rather than the arc length space.
LOGICAL glide_pnts_parametric This value specifies, when set to TRUE, that the
beginning and the end point for the glide curve are
defined as curve parametric locations rather than
as points in the global coordinate frame.
INTEGER flag This value specifies, when set to 1, that the
original elements and nodes from which the sweep
operation was made will be deleted. When set to 2
this value uses the new numbering control
scheme.
STRING entity_select[] This value specifies a list of entities on which the
sweep operation will take place.
STRING guide_curve[] This value specifies the curve used to guide the
glide frame orientation as the sweep operation
glides along the glide curve.
STRING guide_beginning[] This value specifies a point that defines the
beginning of the guide curve.
STRING guide_end[] This value specifies a point that defines the end of
the guide curve.
LOGICAL reverse_guide This value specifies, when set to TRUE, that the
direction of the guide path along the guide curve
be reversed.
LOGICAL offset_guide This value specifies, when set to TRUE, that the
use of an offset for the entities created along the
guide curve by the sweep operation be defined by
either the input value guide_beginning or the input
value guide_end.
LOGICAL guide_parameter This value specifies, when set to TRUE, that the
guide operation will take place in the curve
parameter space rather than the arc length space.
1078 PCL Reference Manual
Sweep Action

LOGICAL guide_pnts_parameter This value specifies, when set to TRUE, that the
beginning and the end point for the guide curve are
defined as curve parametric locations rather than
as points in the global coordinate frame.
LOGICAL preserve_guide_axis This value specifies, when set to TRUE, that the
guide curve reference direction rather than the
glide curve tangent direction be used when
rotating the glide frame orientation along the
guide path.
INTEGER num_topologies This value specifies the number of sweep
topology conversion pairs and should be set to the
value 10.
STRING sweep_topologies[] This value specifies an array of selections of
(num_topologies) elements used to define the relationship between
the types of entities on which the sweep operation
will take place and the entities that the sweep
operation will create from those entities. The
offset into the array is used to define the type of
entity from which the geometry will be extended
and the value at that offset will define the entity
created from the starting geometric type. See the
“Sweep Function Input Value Tables” at the end
of this section for a list of values that can be used
with this argument.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
STRING ref_coord_frame[] This value specifies an identifier for the reference
coordinate frame.
STRING mesh_control_type[] This value specifies the type of mesh control to be
used with the arc sweep operation. See the “Sweep
Function Input Value Tables” at the end of this
section for a list of values that can be used with
this argument.
STRING mesh_control[](6) This value specifies mesh control parameters. See
the “Sweep Function Input Value Tables” at the
end of this section for a list of values that can be
used with this argument.
Output:
INTEGER num_nodes This value returns the number of nodes created by
the sweep operation.
INTEGER num_elements This value returns the number of elements created
by the sweep operation.
Chapter 4: Finite Element Functions 1079
Sweep Action

STRING nodes_created[VIRTUAL] This value returns a description of the created


nodes.
STRING elements_created[VIRTUAL] This value returns a description of the created
elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used to implement the functionality behind the form accessed by the “Finite Elements”
switch bar selection when the “Action:” switch is set to “Sweep”, the “Object:” switch is set to
“Element”, and the “Method” switch is set to “Glide - Guide”.
Space is internally allocated for the string returned by the output values nodes_created and
elements_created. It is the responsibility of the calling function to free the allocated string storage space.
This function can create and delete elements and nodes that are stored in the database and displayed in a
viewport.
Example:

Please see fem_sweep_glide_guide_1.


1080 PCL Reference Manual
Sweep Action

fem_sweep_loft_1 (sweep_elem_select, sweep_node_select, entity_select,


top_elements, start_element, start_element_top, flag,
auto_align, num_topologies, sweep_topologies,
anly_coord_frame, ref_coord_frame,
mesh_control_type, mesh_control, num_nodes,
num_elements, nodes_created, elements_created)

Description:
This function will create elements by using the loft sweep method.
Input:
STRING sweep_elem_select[] This value specifies a selection of element identifiers
to be assigned to the newly created elements.
STRING sweep_node_select[] This value specifies a selection of node identifiers to be
assigned to the newly created nodes.
STRING entity_select[] This value specifies a list of entities on which the
sweep operation will take place.
STRING top_elements[] This value specifies a selection of element identifiers
that define the top of the sweep operation.
STRING start_element[] This value specifies the starting element in the
selection of entities on which the sweep operation will
take place.
STRING start_element_top[] This value specifies the starting element in the
selection of element identifiers that define the top of
the sweep operation.
INTEGER flag This value specifies, when set to 1, that the original
elements and nodes from which the sweep operation
was made will be deleted. When set to 2 this value uses
the new numbering control scheme.
LOGICAL auto_align This value specifies, when set to TRUE, that the
starting elements specified by the input values
start_element and start_element_top will be aligned.
INTEGER num_topologies This value specifies the number of sweep topology
conversion pairs and should be set to the value 10.
Chapter 4: Finite Element Functions 1081
Sweep Action

STRING sweep_topologies[] This value specifies an array of selections of elements


(num_topologies) used to define the relationship between the types of
entities on which the sweep operation will take place
and the entities that the sweep operation will create
from those entities. The offset into the array is used to
define the type of entity from which the geometry will
be extended and the value at that offset will define the
entity created from the starting geometric type. See the
“Sweep Function Input Value Tables” at the end of this
section for a list of values that can be used with this
argument.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
STRING ref_coord_frame[] This value specifies an identifier for the reference
coordinate frame.
STRING mesh_control_type[] This value specifies the type of mesh control to be used
with the arc sweep operation. See the “Sweep Function
Input Value Tables” at the end of this section for a list
of values that can be used with this argument.
STRING mesh_control[](6) This value specifies mesh control parameters. See the
“Sweep Function Input Value Tables” at the end of this
section for a list of values that can be used with this
argument.
Output:
INTEGER num_nodes This value returns the number of nodes created by the
sweep operation.
INTEGER num_elements This value returns the number of elements created by
the sweep operation.
STRING nodes_created[VIRTUAL] This value returns a description of the created nodes.
STRING elements_created This value returns a description of the created
[VIRTUAL] elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:
1082 PCL Reference Manual
Sweep Action

This function is used to implement the functionality behind the form accessed by the “Finite Elements”
switch bar selection when the “Action:” switch is set to “Sweep”, the “Object:” switch is set to
“Element”, and the “Method” switch is set to “Loft”.
Space is internally allocated for the string returned by the output values nodes_created and
elements_created. It is the responsibility of the calling function to free the allocated string storage space.
This function can create and delete elements and nodes that are stored in the database and displayed in a
viewport.
Example:

Please see fem_sweep_loft_1.

fem_sweep_normal_1 (sweep_elem_select, sweep_node_select,


normal_distance, offset_distance,
reverse_normal, flag, entity_select,
num_topologies, sweep_topologies,
anly_coord_frame, ref_coord_frame,
mesh_control_type, mesh_control,
num_nodes, num_elements, nodes_created,
elements_created)

Description:
This function will create elements by using the normal sweep method.
Input:
STRING sweep_elem_select[] This value specifies a selection of element
identifiers to be assigned to the newly created
elements.
STRING sweep_node_select[] This value specifies a selection of node
identifiers to be assigned to the newly created
nodes.
STRING normal_distance[] This value specifies the distance along the
normal of each element selected for the sweep
operation over which the sweep operation will
create new elements.
STRING offset_distance[] This value specifies the distance between the
location of the entities on which the sweep
operation will take place and the location along
the element normals where the entities created
by the sweep operation will be placed.
LOGICAL reverse_normal This value specifies, when set to TRUE, that the
normals used by the sweep operation be
reversed.
Chapter 4: Finite Element Functions 1083
Sweep Action

INTEGER flag This value specifies, when set to 1, that the


original elements and nodes from which the
sweep operation was made will be deleted.
When set to 2 this value uses the new
numbering control scheme.
STRING entity_select[] This value specifies a list of entities on which
the sweep operation will take place.
INTEGER num_topologies This value specifies the number of sweep
topology conversion pairs and should be set to
the value 10.
STRING sweep_topologies[] This value specifies an array of selections of
(num_topologies) elements used to define the relationship
between the types of entities on which the
sweep operation will take place and the entities
that the sweep operation will create from those
entities. The offset into the array is used to
define the type of entity from which the
geometry will be extended and the value at that
offset will define the entity created from the
starting geometric type. See the “Sweep
Function Input Value Tables” at the end of this
section for a list of values that can be used with
this argument.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
STRING ref_coord_frame[] This value specifies an identifier for the
reference coordinate frame.
STRING mesh_control_type[] This value specifies the type of mesh control to
be used with the arc sweep operation. See the
“Sweep Function Input Value Tables” at the end
of this section for a list of values that can be
used with this argument.
STRING mesh_control[](6) This value specifies mesh control parameters.
See the “Sweep Function Input Value Tables” at
the end of this section for a list of values that can
be used with this argument.
Output:
INTEGER num_nodes This value returns the number of nodes created
by the sweep operation.
INTEGER num_elements This value returns the number of elements
created by the sweep operation.
1084 PCL Reference Manual
Sweep Action

STRING nodes_created[VIRTUAL] This value returns a description of the created


nodes.
STRING elements_created[VIRTUAL] This value returns a description of the created
elements.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used to implement the functionality behind the form accessed by the “Finite Elements”
switch bar selection when the “Action:” switch is set to “Sweep”, the “Object:” switch is set to
“Element”, and the “Method” switch is set to “Normal”.
Space is internally allocated for the string returned by the output values nodes_created and
elements_created. It is the responsibility of the calling function to free the allocated string storage space.
This function can create and delete elements and nodes that are stored in the database and displayed in a
viewport.
Example:

Please see fem_sweep_normal_1.

fem_sweep_normal_2 (sweep_elem_select, sweep_node_select,


normal_distance, offset_distance,
reverse_normal, flag, ignore_geometry,
entity_select, num_topologies,
sweep_topologies, anly_coord_frame,
ref_coord_frame, mesh_control_type,
mesh_control, num_nodes, num_elements,
nodes_created, elements_created)

Description:
This function will create elements by using the normal sweep method.
Input:
STRING sweep_elem_select[] This value specifies a selection of element
identifiers to be assigned to the newly created
elements.
STRING sweep_node_select[] This value specifies a selection of node identifiers
to be assigned to the newly created nodes.
Chapter 4: Finite Element Functions 1085
Sweep Action

STRING normal_distance[] This value specifies the distance along the normal
of each element selected for the sweep operation
over which the sweep operation will create new
elements.
STRING offset_distance[] This value specifies the distance between the
location of the entities on which the sweep
operation will take place and the location along
the element normals where the entities created by
the sweep operation will be placed.
LOGICAL reverse_normal This value specifies, when set to TRUE, that the
normals used by the sweep operation be reversed.
INTEGER flag This value specifies, when set to 1, that the
original elements and nodes from which the sweep
operation was made will be deleted. When set to 2
this value uses the new numbering control
scheme.
LOGICAL ignore_geometry If this value is set to TRUE, the geometry is
ignored.
STRING entity_select[] This value specifies a list of entities on which the
sweep operation will take place.
INTEGER num_topologies This value specifies the number of sweep
topology conversion pairs and should be set to the
value 10.
STRING sweep_topologies[] This value specifies an array of selections of
(num_topologies) elements used to define the relationship between
the types of entities on which the sweep operation
will take place and the entities that the sweep
operation will create from those entities. The
offset into the array is used to define the type of
entity from which the geometry will be extended
and the value at that offset will define the entity
created from the starting geometric type. See the
“Sweep Function Input Value Tables” at the end
of this section for a list of values that can be used
with this argument.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
STRING ref_coord_frame[] This value specifies an identifier for the reference
coordinate frame.
1086 PCL Reference Manual
Sweep Action

STRING mesh_control_type[] This value specifies the type of mesh control to be


used with the arc sweep operation. See the “Sweep
Function Input Value Tables” at the end of this
section for a list of values that can be used with
this argument.
STRING mesh_control[](6) This value specifies mesh control parameters. See
the “Sweep Function Input Value Tables” at the
end of this section for a list of values that can be
used with this argument.
Output:
INTEGER num_nodes This value returns the number of nodes created by
the sweep operation.
INTEGER num_elements This value returns the number of elements created
by the sweep operation.
STRING nodes_created[VIRTUAL] This value returns a description of the created
nodes.
STRING elements_created[VIRTUAL] This value returns a description of the created
elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used to implement the functionality behind the form accessed by the “Finite Elements”
switch bar selection when the “Action:” switch is set to “Sweep”, the “Object:” switch is set to
“Element”, and the “Method” switch is set to “Normal”.
Space is internally allocated for the string returned by the output values nodes_created and
elements_created. It is the responsibility of the calling function to free the allocated string storage space.
This function can create and delete elements and nodes that are stored in the database and displayed in a
viewport.
Example:

Please see fem_sweep_normal_1 (p. 769) in the PCL Reference Manual Examples.
Chapter 4: Finite Element Functions 1087
Sweep Action

fem_sweep_sphere_angle_1 (sweep_elem_select, sweep_node_select,


sphere_coord_frame, axis_spherical,
sweep_angle, angle_offset, flag,
entity_select, num_topologies,
sweep_topologies, anly_coord_frame,
ref_coord_frame, mesh_control_type,
mesh_control, num_nodes, num_elements,
nodes_created, elements_created)

Description:
This function will create elements by using the spherical theta sweep method. This operation will
create entities by sweeping a spherical radius that passes through the selected entities and is normal
to the axis of the sphere through which the spherical radius is swept around the axis of the sphere.
Input:
STRING sweep_elem_select[] This value specifies a selection of element
identifiers to be assigned to the newly created
elements.
STRING sweep_node_select[] This value specifies a selection of node
identifiers to be assigned to the newly created
nodes.
STRING sphere_coord_frame[] This value specifies an identifier for the
coordinate frame in which the spherical axis is
defined.
STRING axis_spherical[] This value specifies an identifier for the
spherical axis from which a spherical radius will
be projected.
STRING sweep_angle[] This value specifies the angle to be swept by the
spherical radius in degrees.
STRING angle_offset[] This value will specify an angle in degrees
defining an offset along the spherical radius
between the entities on which the sweep
operation will take place and the location along
the cylindrical radius where the entities created
by the sweep operation will be placed.
INTEGER flag This value specifies, when set to 1, that the
original elements and nodes from which the
sweep operation was made will be deleted.
When set to 2 this value uses the new
numbering control scheme.
STRING entity_select[] This value specifies a list of entities on which
the sweep operation will take place.
1088 PCL Reference Manual
Sweep Action

INTEGER num_topologies This value specifies the number of sweep


topology conversion pairs and should be set to
the value 10.
STRING sweep_topologies[] This value specifies an array of selections of
(num_topologies) elements used to define the relationship
between the types of entities on which the
sweep operation will take place and the entities
that the sweep operation will create from those
entities. The offset into the array is used to
define the type of entity from which the
geometry will be extended and the value at that
offset will define the entity created from the
starting geometric type. See the “Sweep
Function Input Value Tables” at the end of this
section for a list of values that can be used with
this argument.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
STRING ref_coord_frame[] This value specifies an identifier for the
reference coordinate frame.
STRING mesh_control_type[] This value specifies the type of mesh control to
be used with the arc sweep operation. See the
“Sweep Function Input Value Tables” at the end
of this section for a list of values that can be
used with this argument.
STRING mesh_control[](6) This value specifies mesh control parameters.
See the “Sweep Function Input Value Tables” at
the end of this section for a list of values that can
be used with this argument.
Output:
INTEGER num_nodes This value returns the number of nodes created
by the sweep operation.
INTEGER num_elements This value returns the number of elements
created by the sweep operation.
STRING nodes_created[VIRTUAL] This value returns a description of the created
nodes.
STRING elements_created[VIRTUAL] This value returns a description of the created
elements.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Chapter 4: Finite Element Functions 1089
Sweep Action

Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used to implement the functionality behind the form accessed by the “Finite Elements”
switch bar selection when the “Action:” switch is set to “Sweep”, the “Object:” switch is set to
“Element”, and the “Method” switch is set to “Sph. Theta”.
Space is internally allocated for the string returned by the output values nodes_created and
elements_created. It is the responsibility of the calling function to free the allocated string storage space.
This function can create and delete elements and nodes that are stored in the database and displayed in a
viewport.
Example:

Please see fem_sweep_sphere_angle_1 (p. 771) in the PCL Reference Manual Examples.

fem_sweep_sphere_radial_1 (sweep_elem_select, sweep_node_select,


sphere_coord_frame, sphere_center,
radial_distance, offset_distance, flag,
entity_select, num_topologies,
sweep_topologies, anly_coord_frame,
ref_coord_frame, mesh_control_type,
mesh_control, num_nodes, num_elements,
nodes_created, elements_created)

Description:
This function will create elements by using the radial spherical method. This operation will create
entities by sweeping along a spherical radius that passes from the center of a sphere and through the
entities selected for this sweep operation.
Input:
STRING sweep_elem_select[] This value specifies a selection of element identifiers
to be assigned to the newly created elements.
STRING sweep_node_select[] This value specifies a selection of node identifiers to
be assigned to the newly created nodes.
STRING sphere_coord_frame[] This value specifies an identifier for the coordinate
frame in which the sphere axis is defined.
STRING sphere_center[] This value specifies a point that will be used as the
center of a sphere from which a spherical radius will
be projected.
1090 PCL Reference Manual
Sweep Action

STRING radial_distance[] This value will specify the distance along the
spherical radius where the created entities will be
placed.
STRING offset_distance[] This value will specify an offset distance along the
spherical radius between the entities on which the
sweep operation will take place and the location
along the spherical radius where the entities created
by the sweep operation will be placed.
INTEGER flag This value specifies, when set to 1, that the original
elements and nodes from which the sweep operation
was made will be deleted. When set to 2 this value
uses the new numbering control scheme.
STRING entity_select[] This value specifies a list of entities on which the
sweep operation will take place.
INTEGER num_topologies This value specifies the number of sweep topology
conversion pairs and should be set to the value 10.
STRING sweep_topologies[] This value specifies an array of selections of
(num_topologies) elements used to define the relationship between the
types of entities on which the sweep operation will
take place and the entities that the sweep operation
will create from those entities. The offset into the
array is used to define the type of entity from which
the geometry will be extended and the value at that
offset will define the entity created from the starting
geometric type. See the “Sweep Function Input
Value Tables” at the end of this section for a list of
values that can be used with this argument.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
STRING ref_coord_frame[] This value specifies an identifier for the reference
coordinate frame.
STRING mesh_control_type[] This value specifies the type of mesh control to be
used with the arc sweep operation. See the “Sweep
Function Input Value Tables” at the end of this
section for a list of values that can be used with this
argument.
STRING mesh_control[](6) This value specifies mesh control parameters. See
the “Sweep Function Input Value Tables” at the end
of this section for a list of values that can be used
with this argument.
Chapter 4: Finite Element Functions 1091
Sweep Action

Output:
INTEGER num_nodes This value returns the number of nodes created by
the sweep operation.
INTEGER num_elements This value returns the number of elements created by
the sweep operation.
STRING nodes_created[VIRTUAL] This value returns a description of the created nodes.
STRING elements_created This value returns a description of the created
[VIRTUAL] elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used to implement the functionality behind the form accessed by the “Finite Elements”
switch bar selection when the “Action:” switch is set to “Sweep”, the “Object:” switch is set to
“Element”, and the “Method” switch is set to “Radial Sph.”.
Space is internally allocated for the string returned by the output values nodes_created and
elements_created. It is the responsibility of the calling function to free the allocated string storage space.
This function can create and delete elements and nodes that are stored in the database and displayed in a
viewport.
Example:

Please see fem_sweep_sphere_radial_1.

fem_sweep_vector_field_1 (sweep_elem_select, sweep_node_select,


vector_field, field_scale_factor, offset_distance,
reverse_field, normalize_field, flag, entity_select,
num_topologies, sweep_topologies,
anly_coord_frame, ref_coord_frame,
mesh_control_type, mesh_control, num_nodes,
num_elements, nodes_created, elements_created)

Description:
This function will create elements by using the vector field sweep method.
Input:
1092 PCL Reference Manual
Sweep Action

STRING sweep_elem_select[] This value specifies a selection of element identifiers


to be assigned to the newly created elements.
STRING sweep_node_select[] This value specifies a selection of node identifiers to
be assigned to the newly created nodes.
STRING vector_field[] This value specifies the name of a vector field.
STRING field_scale_factor[] This value specifies a scaling factor to apply to the
vector field.
STRING offset_distance[] This value will specify an offset distance between
the entities on which the sweep operation will take
place and the location where the entities created by
the sweep operation will be placed.
LOGICAL reverse_field This value specifies, when set to TRUE, that the
direction of the vectors in the vector field be
reversed.
LOGICAL normalize_field This value specifies, when set to TRUE, that the
vectors in the vector field be normalized.
Normalizing the vectors in the vector field will allow
magnitude of the sweep operation to be a function of
the input value field_scale_factor only.
INTEGER flag This value specifies, when set to 1, that the original
elements and nodes from which the sweep operation
was made will be deleted. When set to 2 this value
uses the new numbering control scheme.
STRING entity_select[] This value specifies a list of entities on which the
sweep operation will take place.
INTEGER num_topologies This value specifies the number of sweep topology
conversion pairs and should be set to the value 10.
STRING sweep_topologies[] This value specifies an array of selections of
(num_topologies) elements used to define the relationship between the
types of entities on which the sweep operation will
take place and the entities that the sweep operation
will create from those entities. The offset into the
array is used to define the type of entity from which
the geometry will be extended and the value at that
offset will define the entity created from the starting
geometric type. See the “Sweep Function Input
Value Tables” at the end of this section for a list of
values that can be used with this argument.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame.
Chapter 4: Finite Element Functions 1093
Sweep Action

STRING ref_coord_frame[] This value specifies an identifier for the reference


coordinate frame.
STRING mesh_control_type[] This value specifies the type of mesh control to be
used with the arc sweep operation. See the “Sweep
Function Input Value Tables” at the end of this
section for a list of values that can be used with this
argument.
STRING mesh_control[](6) This value specifies mesh control parameters. See
the “Sweep Function Input Value Tables” at the end
of this section for a list of values that can be used
with this argument.
Output:
INTEGER num_nodes This value returns the number of nodes created by
the sweep operation.
INTEGER num_elements This value returns the number of elements created by
the sweep operation.
STRING nodes_created[VIRTUAL] This value returns a description of the created nodes.
STRING elements_created This value returns a description of the created
[VIRTUAL] elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
1094 PCL Reference Manual
Sweep Action

Remarks:

This function is used to implement the functionality behind the form accessed by the “Finite Elements”
switch bar selection when the “Action:” switch is set to “Sweep”, the “Object:” switch is set to
“Element”, and the “Method” switch is set to “Vector Field”.
Space is internally allocated for the string returned by the output values nodes_created and
elements_created. It is the responsibility of the calling function to free the allocated string storage space.
This function can create and delete elements and nodes that are stored in the database and displayed in a
viewport.
Example:

Please see fem_sweep_vector_field_1 (p. 776) in the PCL Reference Manual Examples.

Sweep Function Input Value Tables

The tables listed below describe the values that can be used with the sweep functions described in this
section of the chapter.

The sweep_topologies array of strings:


The input value sweep_topologies defines the following relationships between the original entities and
the created entities by being set to the following values:

Offset Value and the Created Element


Offset Original Element Type Type

1 Point “Bar2”
1 Point “Bar3”
1 Point “Bar4”
2 Bar2 “Quad4”
3 Bar3 “Quad8”
4 Bar4 “Quad12”
5 Tri3 “Wedge6”
6 Tri6 “Wedge15”
7 Tri9 “Wedge24”
8 Quad4 “Hex8”
9 Quad8 “Hex20”
10 Quad12 “Hex32”
Chapter 4: Finite Element Functions 1095
Sweep Action

The mesh_control_type string:


The input value mesh_control_type can have the following values:

“Uniform: Number of Elements”


“Uniform: Element Length”
“One_Way_Bias: Num Elems and L2/L1”
“One_Way_Bias: L1 and L2”
“Two_Way_Bias: Num Elems and L2/L1”
“Two_Way_Bias: L1 and L2”

The mesh_control array of strings:


The offsets for the input value mesh_control have the following uses:

Offset Description

1 This offset is used to define the number of elements created when the input value
mesh_control_type is set to “One_Way_Bias: Num Elems and L2/L1” or
“Two_Way_Bias: Num Elems and L2/L1”. This value must represent an integer that is
greater than 0.
2 This offset is used to define the ratio of L2/ L1 when the input value mesh_control_type
is set to “One_Way_Bias: Num Elems and L2/L1” or “Two_Way_Bias: Num Elems and
L2/L1”. This value must represent a real number that is greater than 0.
3 This offset is used to define the length of L1 when the input value mesh_control_type is
set to “One_Way_Bias: L1 and L2” or “Two_Way_Bias: L1 and L2”. This value must
represent a real number that is greater than 0.
4 This offset is used to define the length of L2 when the input value mesh_control_type is
set to “One_Way_Bias: L1 and L2” or “Two_Way_Bias: L1 and L2”. This value must
represent a real number that is greater than 0.
5 This offset is used to define the element length used when the input value
mesh_control_type is set to “Uniform: Element Length”. This value must represent a real
number that is greater than 0.
6 This offset is used to define the number of elements created when the input value
mesh_control_type is set to “Uniform: Number of Elements”. This value must represent
an integer that is greater than 0.
1096 PCL Reference Manual
Renumber Action

Renumber Action
This section is used to describe some of the functions used to renumber the identifiers used to reference
a selection of finite element model (FEM) nodes or elements.

fem_renum_elem_1 (original_selection, new_selection, flag,


created_selection)

Description:
This function will renumber a selection of element identifiers in either a consecutive manner beginning
with a starting element identifier or as directed by a selection of element identifiers.
Input:
STRING original_selection[] This value specifies a selection of element
identifiers that will be renumbered.
STRING new_selection[] This value specifies a selection of element
identifiers to which the original elements will be
renumbered. If there is only one element identifier
in the selection the original element identifiers
will be renumbered in a consecutive manner. If
more than one element identifier is provided, the
identifiers in the input value original_selection
will be renumbered to match the identifiers
specified by this input value.
INTEGER flag When set to 2, this value specifies use of the new
numbering control scheme. When set to 4, this
value specifies use of the new id offset method.
Output:
STRING created_selection[VIRTUAL] This value returns a description of the renumbered
element identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output value created_selection. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the element identifiers that are stored in the database and displayed in a
viewport.
Chapter 4: Finite Element Functions 1097
Renumber Action

Example:

Please see fem_renum_elem_1 (p. 779) in the PCL Reference Manual Examples.

fem_renum_node_1 (original_selection, new_selection, flag,


created_selection)

Description:
This function will renumber a selection of node identifiers in either a consecutive manner beginning
with a starting node identifier or as directed by a selection of node identifiers.
Input:
STRING original_selection[] This value specifies a selection of node identifiers
that will be renumbered.
STRING new_selection[] This value specifies a selection of node identifiers
to which the original nodes will be renumbered. If
there is only one node identifier in the selection
the original node identifiers will be renumbered in
a consecutive manner. If more than one node
identifier is provided, the identifiers in the input
value original_selection will be renumbered to
match the identifiers specified by this input value.
INTEGER flag When set to 2, this value specifies use of the new
numbering control scheme. When set to 4, this
value specifies use of the new id offset method.
Output:
INTEGER created_selection[VIRTUAL] This value returns a description of the renumbered
node identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Space is internally allocated for the string returned by the output value created_selection. It is the
responsibility of the calling function to free the allocated string storage space.
This function will update the node identifiers that are stored in the database and displayed in a viewport.
Example:

Please see fem_renum_node_1 (p. 780) in the PCL Reference Manual Examples.
1098 PCL Reference Manual
Renumber Action

fem_renum_conn (conn_list, new_id_list, flag, new_ids)

Description:
This function will renumber a selection of connectors.
Input:
STRING conn_list List of connectors to renumber (e.g. CONN 2 3
5:10)
STRING new_id_list List of IDs to be assigned (e.g. “500”)
INTEGER flag Control options (6=offset)
Output:
STRING new_idsirtual string containing a This value returns a description of the
list of new IDs renumbered node identifiers.
(e.g. “Connector 502 503
505:510).
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
• 0 Success
• -1 Memory error
• >0 Database error
Chapter 4: Finite Element Functions 1099
Disassociate Action

Disassociate Action
This section is used to describe some of the functions used to disassociate the identifiers used to reference
a selection of finite element model (FEM) nodes or elements.

fem_disassoc_geo (nodes, elements, geo_list)

Description:
This function will disassociate the FEM entities from the list of geometry in the input value geo_list.
Input:
LOGICAL nodes This value specifies, when set to TRUE, to
disassociate the nodes of the elements.
LOGICAL elements This value specifies, when set to TRUE, to
disassociate the elements.
STRING geo_list[VIRTUAL] This value specifies the list of geometry to
disassociate FEM from.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Example:

Please see fem_disassoc_geo (p. 782) in the PCL Reference Manual Examples.
1100 PCL Reference Manual
Disassociate Action

fem_disassoc_ids (option, fem_list)

Description:
This function will disassociate the FEM entities in the input value fem_list.
Input:
INTEGER option This value specifies an option to specify which FEM
entities to disassociate.
STRING fem_list[VIRTUAL] This value specifies a list of FEM entities to
disassociate.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Example:

Please see fem_disassoc_ids (p. 783) in the PCL Reference Manual Examples.
Chapter 4: Finite Element Functions 1101
Equivalence Action

Equivalence Action
This section is used to describe some of the functions used to reduce all of the finite element model nodes
that coexist at a point in the model space to a single node.

fem_equiv_all_group (group_id, num_groups,


tolerance_type, tolerance,
updated_tolerance, segment_id)

Description:
This function will reduce all nodes that coexist at single points to single nodes. The nodes are identi-
fied through an array of group ids.
Input:
INTEGER group_id(num_groups)
This value specifies an array of group ids identifying
the nodes to be reduced. This value is ignored if the in-
put value num_groups is set to zero.
INTEGER num_groups This value specifies the number of groups identifying
nodes to be reduced. If this value is set to zero, the en-
tire model will be reduced. This value must be equal to
or greater than zero and equal to or less than the number
of offsets defined for the input array group_id.
INTEGER tolerance_type This value specifies the type of tolerance geometry that
will be used to reduce nodes. All nodes that fit in the
tolerance region will be reduced to a single node. A cu-
bic tolerance geometry will be used if this value is set
to 1 and a spherical tolerance geometry will be used if
this value is set to 2.
REAL tolerance This value specifies the size of the tolerance region.
This value must greater than zero.
Output:
REAL updated_tolerance This value returns the size of the tolerance region, re-
calculated to prevent the collapse of element edges.
The input value tolerance is used as the starting value
for the algorithm used to calculate this value.
INTEGER segment_id This value returns the segment id for the graphics seg-
ment that needs to be cleared. This value will be set to
-1 if the graphics segment has already been cleared.
INTEGER <Return Value> This function returns a value of 0 when executed suc-
cessfully and a non zero value to indicate a change in
status or an error.
1102 PCL Reference Manual
Equivalence Action

Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function will display circles that highlight reduced nodes in the viewport.
All reduced nodes will retain the lowest value of the node ids in the tolerance region.
See the function description for the PCL function gm_segment_delete() for more information on graphics
segment identifiers.
Example:

Please see fem_equiv_all_group.


Chapter 4: Finite Element Functions 1103
Equivalence Action

fem_equiv_all_group2 (group_id, num_groups, tolerance_type, toler-


ance, verify, updated_tolerance, segment_id)

Description:
This function will reduce all nodes that coexist at single points to single nodes. The nodes are identi-
fied through an array of group ids. This function is identical to the fem_equiv_all_group() function
except for the addition of the input argument verify, which provides for user verification of the reduc-
tion process before the results are saved to the database.
Input:
INTEGER group_id(num_groups)
This value specifies an array of group ids identifying
the nodes to be reduced. This value is ignored if the
input value num_groups is set to zero.
INTEGER num_groups This value specifies the number of groups identifying
nodes to be reduced. If this value is set to zero, the en-
tire model will be reduced. This value must be equal
to or greater than zero and equal to or less than the
number of offsets defined for the input array
group_id.
INTEGER tolerance_type This value specifies the type of tolerance geometry
that will be used to reduce nodes. All nodes that fit in
the tolerance region will be reduced to a single node.
A cubic tolerance geometry will be used if this value
is set to 1 and a spherical tolerance geometry will be
used if this value is set to 2.
REAL tolerance This value specifies the size of the tolerance region.
This value must greater than zero.
LOGICAL verify This value specifies, when set to TRUE, that a popup
form will be used to get input from the user to either
save to the database or discard the reduction results.
If this value is set to FALSE, the reduction results
will be saved to the database without prompting from
the user.
Output:
REAL updated_tolerance This value returns the size of the tolerance region, re-
calculated to prevent the collapse of element edges.
The input value tolerance is used as the starting value
for the algorithm used to calculate this value.
1104 PCL Reference Manual
Equivalence Action

INTEGER segment_id This value returns the segment id for the graphics
segment that needs to be cleared. This value will be
set to -1 if the graphics segment has already been
cleared.
INTEGER <Return Value> This function returns a value of 0 when executed suc-
cessfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function will display circles that highlight reduced nodes in the viewport.
All reduced nodes will retain the lowest value of the node ids in the tolerance region.
See the function description for the PCL function gm_segment_delete() for more information on graphics
segment identifiers.
Example:

Please see fem_equiv_all_group2.


Chapter 4: Finite Element Functions 1105
Equivalence Action

fem_equiv_all_group3 (group_names, num_groups, crg, tolerance_type,


tolerance, verify, updated_tolerance, segment_id)

Description:
This function will reduce all nodes that coexist at single points to single nodes. The nodes are identified
through an array of group ids. This function is identical to the fem_equiv_all_group() function except
for the addition of the input argument verify, which provides for user verification of the reduction pro-
cess before the results are saved to the database and the use of group names instead of group ids.
Input:
STRING group_names[](num_groups)
This value specifies an array of group names identifying
the nodes to be reduced. This value is ignored if the input
value num_groups is set to zero.
INTEGER num_groups This value specifies the number of groups identifying
nodes to be reduced. If this value is set to zero, the entire
model will be reduced. This value must be equal to or
greater than zero and equal to or less than the number of
offsets defined for the input array group_names.
STRING crg This value specifies a string containing ids of group names
identifying the nodes to be excluded from the reduction
process.
STRING tolerance_type This value specifies the type of tolerance geometry that
will be used to reduce nodes. All nodes that fit in the toler-
ance region will be reduced to a single node. A cubic toler-
ance geometry will be used if this value is set to 1 and a
spherical tolerance geometry will be used if this value is set
to 2.
INTEGER tolerance This value specifies the size of the tolerance region. This
value must be greater than zero.
LOGICAL verify This value specifies, when set to TRUE, that a popup form
will be used to get input from the user to either save to the
database or discard the reduction results. If this value is set
to FALSE, the reduction results will be saved to the data-
base without prompting from the user.
Output:
REAL updated_tolerance This value returns the size of the tolerance region, recalcu-
lated to prevent the collapse of element edges. The input
value tolerance is used as the starting value for the algo-
rithm used to calculate this value.
1106 PCL Reference Manual
Equivalence Action

INTEGER segment_id This value returns the segment id for the graphics segment
that needs to be cleared. This value will be set to -1 if the
graphics segment has already been cleared.
INTEGER <Return Value> This function returns a value of 0 when executed success-
fully and a non zero value to indicate a change in status or
an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function will display circles that highlight reduced nodes in the viewport.
All reduced nodes will retain the lowest value of the node ids in the tolerance region.
See the function description for the PCL function gm_segment_delete() for more information on graphics
segment identifiers.
Example:

Please see fem_equiv_all_group3.


Chapter 4: Finite Element Functions 1107
Equivalence Action

fem_equiv_list (node_select, tolerance_type, tolerance,


updated_tolerance, segment_id)

Description:
This function will reduce all selected nodes that coexist at a single point to a single node.
Input:
STRING node_select[] This value specifies a selection of node identifiers defining
the nodes to be reduced.
INTEGER tolerance_type This value specifies the type of tolerance geometry that
will be used to reduce nodes. All nodes that fit in the toler-
ance region will be reduced to a single node. A cubic toler-
ance geometry will be used if this value is set to 1 and a
spherical tolerance geometry will be used if this value is set
to 2.
REAL tolerance This value specifies the size of the tolerance region. This
value must greater than zero.
Output:
REAL updated_tolerance This value returns the size of the tolerance region, recalcu-
lated to prevent the collapse of element edges. The input
value tolerance is used as the starting value for the algo-
rithm used to calculate this value.
INTEGER segment_id This value returns the segment id for the graphics segment
that needs to be cleared. This value will be set to -1 if the
graphics segment has already been cleared.
INTEGER <Return Value> This function returns a value of 0 when executed success-
fully and a non zero value to indicate a change in status or
an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function will display circles that highlight reduced nodes in the viewport.
All reduced nodes will retain the lowest value of the node ids in the tolerance region.
See the function description for the PCL function gm_segment_delete() for more information on graphics
segment identifiers.
Example:

Please see fem_equiv_list.


1108 PCL Reference Manual
Equivalence Action

fem_equiv_list2 (node_select, tolerance_type, tolerance, verify,


updated_tolerance, segment_id)

Description:
This function will reduce all selected nodes that coexist at a single point to a single node. This function
is identical to the fem_equiv_list() function except for the addition of the input argument verify, which
provides for user verification of the reduction process before the results are saved to the database.
Input:
STRING node_select[] This value specifies a selection of node identifiers defin-
ing the nodes to be reduced.
INTEGER tolerance_type This value specifies the type of tolerance geometry that
will be used to reduce nodes. All nodes that fit in the tol-
erance region will be reduced to a single node. A cubic
tolerance geometry will be used if this value is set to 1 and
a spherical tolerance geometry will be used if this value is
set to 2.
REAL tolerance This value specifies the size of the tolerance region. This
value must greater than zero.
LOGICAL verify This value specifies, when set to TRUE, that a popup
form will be used to get input from the user to either save
to the database or discard the reduction results. If this val-
ue is set to FALSE, the reduction results will be saved to
the database without prompting from the user.
Output:
REAL updated_tolerance This value returns the size of the tolerance region, recal-
culated to prevent the collapse of element edges. The in-
put value tolerance is used as the starting value for the
algorithm used to calculate this value.
INTEGER segment_id This value returns the segment id for the graphics segment
that needs to be cleared. This value will be set to -1 if the
graphics segment has already been cleared.
INTEGER <Return Value> This function returns a value of 0 when executed success-
fully and a non zero value to indicate a change in status or
an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function will display circles that highlight reduced nodes in the viewport.
Chapter 4: Finite Element Functions 1109
Equivalence Action

All reduced nodes will retain the lowest value of the node ids in the tolerance region.
See the function description for the PCL function gm_segment_delete() for more information on graphics
segment identifiers.
Example:

Please see fem_equiv_list2.


1110 PCL Reference Manual
Equivalence Action

fem_equiv_list3 (node_select, exclude_select, tolerance_type, tolerance,


verify, updated_tolerance, segment_id)

Description:
This function will reduce all selected nodes that coexist at a single point to a single node. This func-
tion is identical to the fem_equiv_list2() function except for the addition of the input argument
exclude_select, which allows a selection of nodes to be excluded from the reduction process.
Input:
STRING node_select[] This value specifies a selection of node identifiers defin-
ing the nodes to be reduced.
STRING exclude_select[] This value specifies a selection of node identifiers defin-
ing the nodes to be excluded from the reduction process.
INTEGER tolerance_type This value specifies the type of tolerance geometry that
will be used to reduce nodes. All nodes that fit in the tol-
erance region will be reduced to a single node. A cubic
tolerance geometry will be used if this value is set to 1
and a spherical tolerance geometry will be used if this
value is set to 2.
REAL tolerance This value specifies the size of the tolerance region. This
value must greater than zero.
LOGICAL verify This value specifies, when set to TRUE, that a popup
form will be used to get input from the user to either save
to the database or discard the reduction results. If this val-
ue is set to FALSE, the reduction results will be saved to
the database without prompting from the user.
Output:
REAL updated_tolerance This value returns the size of the tolerance region, recal-
culated to prevent the collapse of element edges. The in-
put value tolerance is used as the starting value for the
algorithm used to calculate this value.
INTEGER segment_id This value returns the segment id for the graphics seg-
ment that needs to be cleared. This value will be set to -1
if the graphics segment has already been cleared.
INTEGER <Return Value> This function returns a value of 0 when executed success-
fully and a non zero value to indicate a change in status
or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Chapter 4: Finite Element Functions 1111
Equivalence Action

Remarks:

This function will display circles that highlight reduced nodes in the viewport.
All reduced nodes will retain the lowest value of the node ids in the tolerance region.
See the function description for the PCL function gm_segment_delete() for more information on graphics
segment identifiers.
Example:

Please see fem_equiv_list3.

fem_equiv_list_display.plot (plot_option, entity_type,


entity_selection)

Description:
This function controls the display of FEM elements and nodes.
Input:
STRING plot_option[9] This value specifies the plot option. See the remarks
below for a list of the value that can be used with this
argument.
INTEGER entity_type This value specifies the entity type for which the dis-
play will be modified. This argument can have the fol-
lowing values: 0 = both nodes and elements, 1 =
nodes, and 2 = elements.
Output:
STRING entity_selection[VIRTUAL]
This value returns a description of the entities that
have been modified by this function.
INTEGER <Return Value> This function returns a value of 0 when executed suc-
cessfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The string input value option can have the following values:
1112 PCL Reference Manual
Equivalence Action

Value Description

“init” This option will save the display and erase all of the entities of
the selected type from the current viewport.
“erase_all” This option will erase all of the entities of the selected type from
the current viewport.
“plot_all” This option will plot all of the saved entities of the selected type
in the current viewport.
“free_edge” This option will plot all of the saved entities of the selected type
associated to free edges.
“free_face” This option will plot all of the saved entities of the selected type
associated to free faces.
“restore” This option will restore the saved display.

Space is internally allocated for the string returned by the output value entity_selection. It is the
responsibility of the calling function to free the allocated string storage space.
Example:

Please see fem_equiv_list_display.plot.


Chapter 4: Finite Element Functions 1113
Equivalence Action

fem_equiv_preview (node_select, exclude_select, tolerance_type, toler-


ance, entity_type, updated_tolerance, segment_id,
nodes_previewed, elements_previewed,
nodes_reduced, elements_reduced)

Description:
This function will provide a preview of what happens if the selected nodes that coexist at a single point
are reduced to a single node. This function is similar to the fem_equiv_list3() function except that no
nodes will be deleted; they will only be displayed and marked on the screen.
Input:
STRING node_select[] This value specifies a selection of node identifiers
defining the nodes to be reduced.
STRING exclude_select[] This value specifies a selection of node identifiers
defining the nodes to be excluded from the reduction
process.
INTEGER tolerance_type This value specifies the type of tolerance geometry
that will be used to reduce nodes. All nodes that fit in
the tolerance region will be reduced to a single node.
A cubic tolerance geometry will be used if this value
is set to 1 and a spherical tolerance geometry will be
used if this value is set to 2.
REAL tolerance This value specifies the size of the tolerance region.
This value must greater than zero.
INTEGER entity_type This value specifies the entity type for which the dis-
play will be modified. This argument can have the
following values: 0 = both nodes and elements, 1 =
nodes, and 2 = elements.
Output:
REAL updated_tolerance This value returns the size of the tolerance region, re-
calculated to prevent the collapse of element edges.
The input value tolerance is used as the starting value
for the algorithm used to calculate this value.
INTEGER segment_id This value returns the segment id for the graphics
segment that needs to be cleared. This value will be
set to -1 if the graphics segment has already been
cleared.
STRING nodes_previewed[VIRTUAL]
This value returns a description of the nodes that
have been previewed.
STRING elements_previewed[VIRTUAL]
1114 PCL Reference Manual
Equivalence Action

This value returns a description of the elements that


have been previewed.
STRING nodes_reduced[VIRTUAL]
This value returns a description of the nodes that
have been reduced.
STRING elements_reduced[VIRTUAL]
This value returns a description of the elements that
have been reduced.
INTEGER <Return Value> This function returns a value of 0 when executed suc-
cessfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function will display circles that highlight reduced nodes in the viewport.
All reduced nodes will retain the lowest value of the node ids in the tolerance region.
See the function description for the PCL function gm_segment_delete() for more information on graphics
segment identifiers.
Space is internally allocated for the string returned by the output values nodes_reduced and
elements_reduced. It is the responsibility of the calling function to free the allocated string storage space.
Example:

Please see fem_equiv_preview.


Chapter 4: Finite Element Functions 1115
Optimize Action

Optimize Action
This section is used to describe some of the functions used to optimize entities in a finite element model.
The optimization process will renumber the nodes or elements of a model in such a way that the stiffness
matrix assembled in a finite element analysis can be solved by using a minimum of CPU time, memory,
and disk space.
1116 PCL Reference Manual
Optimize Action

fem_optimize (object, method, criterion, starting_id, bandwidth, profile,


maximum_wavefront, average_wavefront, rms_wavefront)

Description:
This function will renumber the nodes or elements in the model to minimize the time required to find
a finite element solution.
Input:
STRING object[8] This value specifies the type of entity to optimize. This ar-
gument can have the following values: “Nodes” or “Ele-
ments”.
STRING method[] This value specifies the type of optimization method used.
This argument can have the following values: “C” =
“Cuthill-McKee” method, “G” = “Gibbs-Poole-Stockm-
eyer”, or “B” = both methods.
STRING criterion[] This value specifies the minimization criterion used by the
optimization process. This argument can have the follow-
ing values: “RMS Wavefront”, ” Bandwidth”, “Max
Wavefront”, or “Profile”.
INTEGER starting_id This value specifies the id at which to start the renumber-
ing process.
Output:
INTEGER bandwidth(4) This value returns the bandwidth calculated both before
and after the optimization process is done. See the re-
marks listed below for a description of the use of each off-
set.
INTEGER profile(4) This value returns the profile calculated both before and
after the optimization process is done. See the remarks
listed below for a description of the use of each offset.
INTEGER maximum_wavefront(4)
This value returns the maximum wavefront value calcu-
lated both before and after the optimization process is
done. See the remarks listed below for a description of the
use of each offset.
REAL avgerage_wavefront(4)
This value returns the minimum wavefront value calculat-
ed both before and after the optimization process is done.
See the remarks listed below for a description of the use
of each offset.
Chapter 4: Finite Element Functions 1117
Optimize Action

REAL rms_wavefront(4) This value returns the root mean squared wavefront value
calculated both before and after the optimization process
is done. See the remarks listed below for a description of
the use of each offset.
INTEGER <Return Value> This function returns a value of 0 when executed success-
fully and a non zero value to indicate a change in status or
an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The offsets in the returned values bandwidth, profile, maximum_wavefront, average_wavefront, and
rms_wavefront have the following uses:
1118 PCL Reference Manual
Optimize Action

Off- Method Description


set

1 Cuthill-McKee This offset will list the value calculated when the
Cuthill-McKee method is selected but before the opti-
mization process takes place.
2 Cuthill-McKee This offset will list the value calculated when the
Cuthill-McKee method is selected but after the optimi-
zation process takes place.
1 Gibbs-Poole-Stockmeyer This offset will list the value calculated when the
Gibbs-Poole-Stockmeyer method is selected but be-
fore the optimization process takes place.
2 Gibbs-Poole-Stockmeyer This offset will list the value calculated when the
Gibbs-Poole-Stockmeyer method is selected but after
the optimization process takes place.
1 Both This offset will list the value calculated when the
Cuthill-McKee method is selected but before the opti-
mization process takes place.
2 Both This offset will list the value calculated when the
Cuthill-McKee method is selected but after the optimi-
zation process takes place.
3 Both This offset will list the value calculated when the
Gibbs-Poole-Stockmeyer method is selected but be-
fore the optimization process takes place.
4 Both This offset will list the value calculated when the
Gibbs-Poole-Stockmeyer method is selected but after
the optimization process takes place.

This function will update the current viewport to reflect the renumbering of the optimized nodes and
elements.
Example:

Please see fem_optimize.


Chapter 4: Finite Element Functions 1119
Verify Action

Verify Action
This section is used to describe some of the functions used to verify entities in a finite element model.
The verification of a finite element model consists of a number of different tests which can be performed
to check the validity of a finite element model. These tests include checks of element distortion, element
duplication, model boundaries, nodal connectivity, and node and element identifier numbering.
1120 PCL Reference Manual
Verify Action

fem_conn_fastener_verify (method, fmt, diameter, gs, ga, gb, pata,


patb)

Description:
This function will verify spot weld connector inputs.
Input:
STRING[] method The connector creation method (Projection or Axis).
STRING[] fmt The fastener format (PROP or ELEM).
REAL diameter The connector diameter.
STRING[] gs List of connector locations (nodes or xyz).
STRING[] ga List of surface A pierce nodes.
STRING[] gb List of surface B pierce nodes.
STRING[] pata List of surface A patch identifiers.
STRING[] patb List of surface B patch identifiers.
Output:
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
MSG_FEM_CONN_ZERO_DIAM
MSG_FEM_CONN_GS_OR_GA_REQD
MSG_FEM_CONN_ALIGN_GA_GB_REQD
MSG_FEM_CONN_PATA_PATB_REQD
MSG_FEM_CONN_BAD_POINT_PATCH
MSG_FEM_CONN_GS_NODE_ID_REQD
MSG_FEM_CONN_PROP_NOT_FOUND

fem_conn_spotweld_verify (method, fmt, diameter, gs, ga, gb, pata,


patb, sptyp)

Description:
This function will verify spot weld connector inputs.
Input:
STRING[] method The connector creation method (Projection or Axis).
STRING[] fmt The weld format (ELPAT, PARTPAT, ALIGN,
ELEMID, or GRIDID).
REAL diameter The spot weld diameter.
STRING[] gs List of connector locations (nodes or xyz).
Chapter 4: Finite Element Functions 1121
Verify Action

STRING[] ga List of surface A pierce nodes.


STRING[] gb List of surface B pierce nodes.
STRING[] pata List of surface A patch identifiers.
STRING[] patb List of surface B patch identifiers.
STRING[] sptyp Surface patch types (GRIDID format only).
Q4Q8 = quad4/quad8, Q4T6 = quad4/tri6, etc.
Output:
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
MSG_FEM_CONN_ZERO_DIAM
MSG_FEM_CONN_GS_OR_GA_REQD
MSG_FEM_CONN_ALIGN_GA_GB_REQD
MSG_FEM_CONN_PATA_PATB_REQD
MSG_FEM_CONN_BAD_POINT_PATCH
MSG_FEM_CONN_GS_NODE_ID_REQD
MSG_FEM_CONN_PROP_NOT_FOUND
1122 PCL Reference Manual
Verify Action

fem_verify_display (group_name, table_id, best_value, worst_value, threshold,


render_style)

Description:
This function will display a graphics table of the results of an element verification procedure. It will
make use of a threshold value to identify elements that have failed.
Input:
STRING group_name[31] This value specifies the label of the group to which the
results will be assigned.
INTEGER table_id This value specifies the id for a graphic table that will
be assigned to the group specified by the input value
group_name.
REAL best_value This value specifies the best value in the graphic table.
REAL worst_value This value specifies the worst value in the graphic table.
REAL threshold This value specifies the threshold for all elements that
have failed the verification process. Any entry with a
value greater than the threshold value will be shown as
an element that has failed.
STRING render_style[31] This value specifies the render style assigned to each
element. This value should be set to “ELEMFILL”. See
the remarks below for a table of allowed values.
Output:
None.
Error Conditions:
None.

Remarks:

This function will assign a table of verification results to either a group or to all of the entities in the model
depending on the display method that has been set.
The input value render_style can have the following values:
Chapter 4: Finite Element Functions 1123
Verify Action

Render Style

“WIREFRAME” “HIDDEN” “SHADED”


“FRINGE” “FRINGE/LIGHT” “ELEMFILL”
“CONTOUR”

Example:

Please see fem_verify_display.

fem_verify_ids_display (group_name, table_id, minimum_value,


maximum_value, render_style)

Description:
This function will display a graphics table of the results of an element verification procedure without
the use of a threshold value.
Input:
STRING group_name[31] This value specifies the label of the group to which the
results will be assigned.
INTEGER table_id This value specifies the id for a graphic table that will be
assigned to the group specified by the input value
group_name.
REAL minimum_value This value specifies the minimum value in the graphic
table.
REAL maximum_value This value specifies the maximum value in the graphic
table.
STRING render_style[31] This value specifies the render style assigned to each
element. This value should be set to “ELEMFILL”. See
the remarks below for a table of allowed values.
Output:
None.
Error Conditions:
None.

Remarks:

This function will assign a table of verification results to either a group or to all of the entities in the model
depending on the display method that has been set.
The input value render_style can have the following values:
1124 PCL Reference Manual
Verify Action

Render Style

“WIREFRAME” “HIDDEN” “SHADED”


“FRINGE” “FRINGE/LIGHT” “ELEMFILL”
“CONTOUR”

Example:

Please see fem_verify_ids_display.


Chapter 4: Finite Element Functions 1125
Verify Action

fem_verify_display.plot (option, table_id, threshold, entities_failed)

Description:
This function will display the entities that have failed an element verification procedure as a high
lighted wireframe.
Input:
STRING option[] This value specifies the type of plot to be
displayed: “plot_failed” to plot only the elements
that have failed the verification process and are
members of the current group, or “restore” to
restore the original viewport display.
INTEGER table_id This value specifies the id for a graphics table that
will be assigned to the current group.
REAL threshold This value specifies the threshold for all elements
that will be colored as elements that have failed the
verification process.
Output:
STRING entities_failed [VIRTUAL]
This value will return a description of the elements
in the current group that have failed the element
verification process when the input value option is
set to “plot_failed”. If the input value option is not
set to “plot_failed” this value will return the initial
value set by the calling function.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
None.

Remarks:

This function will return a value of zero and will do nothing if the input value option is not set to either
“plot_failed” or “restore”.
Space is internally allocated for the string returned by the output value entities_failed when the input
value option is set to “plot_failed”. It is the responsibility of the calling function to free the allocated
string storage space.
Example:

Please see fem_verify_display.plot.


1126 PCL Reference Manual
Verify Action

fem_verify_draw_normal_vectors (segment_id)

Description:
This function will draw normal vectors on all shell or surface elements in the current group.
Input:
INTEGER segment_id This value specifies the graphics segment id for
the graphics segment in which the normal vectors
will be drawn.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
None.

Remarks:

See the description for the function gm_segment_create() in the PCL Customization manual for more
information on the use of graphics segments.
Example:

Please see fem_verify_draw_normal_vectors.


Chapter 4: Finite Element Functions 1127
Verify Action

fem_verify_el_ids (group_name, minimum_value, minimum_id, maximum_value,


maximum_id, table_id)

Description:
This function will load the graphic display tables with the id values of all of the elements in the
current group as scalar results values.
Input:
None.
Output:
STRING group_name[31] This value will return a description of the group to
which the id value information has been applied.
REAL minimum_value This value will return the minimum id value.
INTEGER minimum_id This value will return the id of the element with the
minimum id value.
REAL maximum_value This value will return the maximum id value.
INTEGER maximum_id This value will return the id of the element with the
maximum id value.
INTEGER table_id This value returns the id for the table of element id
values.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Element”, and the test is set to “IDs”.
Use the fem_verify_ids_display() function to display the graphics display tables produced by this
function.
Example:

Please see fem_verify_el_ids.


1128 PCL Reference Manual
Verify Action

fem_verify_elem_conect (reverse, entities_failed)

Description:
This function will test solid elements for proper connectivity.
Input:
LOGICAL reverse This value specifies, when set to TRUE, that any
elements that are found with a negative volume
should be reversed so that the volume is positive.
When this value is set to false, elements will be
allowed to retain negative volume values.
Output:
STRING entities_failed [VIRTUAL]
This value will return a description of the
elements in the current group that have failed the
element verification process.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Element”, and the test is set to “Connectivity”.
Space is internally allocated for the string returned by the output value entities_failed. It is the
responsibility of the calling function to free the allocated string storage space.
Example:

Please see fem_verify_elem_conect.


Chapter 4: Finite Element Functions 1129
Verify Action

fem_verify_elem_jacobratio (group_name minimum_value, minimum_id,


maximum_value, maximum_id, table_id)

Description:
This function will load the graphic display tables with the Jacobian ratio values of all of the elements
in the current group.
Input:
None.
Output:
STRING group_name[31] This value will return a description of the group
to which the Jacobian ratio information has been
applied.
REAL minimum_value This value will return the minimum Jacobian
ratio value.
INTEGER minimum_id This value will return the id of the element with
the minimum Jacobian ratio value.
REAL maximum_value This value will return the maximum Jacobian
ratio value.
INTEGER maximum_id This value will return the id of the element with
the maximum Jacobian ratio value.
INTEGER table_id This value returns the id for the table of element
Jacobian ratio values.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Element”, and the test is set to “Jacobian Ratio”.
Example:

Please see fem_verify_elem_jacobratio.


1130 PCL Reference Manual
Verify Action

fem_verify_elem_jacobzero (group_name, minimum_value, minimum_id,


maximum_value, maximum_id, table_id)

Description:
This function will load the graphic display tables with the Jacobian zero values of all of the elements
in the current group.
Input:
None.
Output:
STRING group_name[31] This value will return a description of the group
to which the Jacobian zero information has
been applied.
REAL minimum_value This value will return the minimum Jacobian
zero value.
INTEGER minimum_id This value will return the id of the element with
the minimum Jacobian zero value.
REAL maximum_value This value will return the maximum Jacobian
zero value.
INTEGER maximum_id This value will return the id of the element with
the maximum Jacobian zero value.
INTEGER table_id This value returns the id for the table of element
Jacobian zero values.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Element”, and the test is set to “Jacobian Zero”.
Example:

Please see fem_verify_elem_jacobzero


Chapter 4: Finite Element Functions 1131
Verify Action

fem_verify_element_duplicates (delete_elements, delete_high,


num_duplicates, kept_elements,
deleted_elements)

Description:
Check the entire database for duplicate elements and optionally delete them.
Input:
LOGICAL delete_elements This value specifies, when set to TRUE, that any
duplicate elements will be deleted. When this value is
set to FALSE, duplicate elements will not be deleted.
LOGICAL delete_high This value specifies, when set to TRUE, that the
elements with the higher identifier values will be
deleted from sets of duplicate elements. If this value is
set to FALSE, the duplicate elements with the lower
identifier values will be deleted from sets of duplicate
elements. Duplicate elements will be deleted only when
the input value delete_elements is set to TRUE.
Output:
INTEGER num_duplicates This value returns the number of duplicate elements
that where found.
STRING kept_elements[VIRTUAL]
This value returns a description of the elements that
where not deleted by the verification process.
STRING deleted_elements[VIRTUAL]
This value returns a description of the elements that
where deleted by the verification process.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Element”, and the test is set to “Duplicates”.

Space is internally allocated for the string returned by the output values kept_elements and
deleted_elements. It is the responsibility of the calling function to free the allocated string storage space.
1132 PCL Reference Manual
Verify Action

Example:

Please see fem_verify_element_duplicates.

fem_verify_element_normals (reverse_elements, color_code,


guide_element, group_name, table_id)

Description:
This function will verify the direction of the normal vectors for all shell elements in the current group.
Input:
LOGICAL reverse_elements This value specifies, when set to TRUE, that reversed
normals be flipped to match the direction specified by the
input value guide_element.
LOGICAL color_code This value specifies, when set to TRUE, that a results
table to be used for the element color coding to be
created.
STRING guide_element[] This value specifies the id for an element that is used to
define the desired normal direction.
Output:
STRING group_name[31] This value will return a description of the group to which
the normal vector information has been applied.
INTEGER table_id This value returns the id for the table of element normal
vector values.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Element”, and the test is set to “Normals”.
This function will not draw any normal vectors in the viewport.
Example:

Please see fem_verify_element_normals.


Chapter 4: Finite Element Functions 1133
Verify Action

fem_verify_get_graphset (display_method, group_name, render_style,


viewport_name, spectrum_setting)

Description:
This function will retrieve the graphics display settings that can be used to restore the graphics display
to its original state.
Input:
None.
Output:
INTEGER display_method This value returns the display method value: 1 =
entities, or 2 = groups.
STRING group_name[31] This value returns the name of the current group.
STRING render_style[31] This value returns the render style. See the remarks
below for a table of allowed values.
STRING viewport_name[31 This value returns the name of the current viewport.
]
INTEGER spectrum_setting This value returns TRUE or 1 if the current spectrum
settings are posted to the current viewport and FALSE
or 0 otherwise.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

See the description for the function fem_verify_reset_graphics() for more information.
The returned value render_style can have the following values:

Render Style

“WIREFRAME” “HIDDEN” “SHADED”


“FRINGE” “FRINGE/LIGHT” “ELEMFILL”
“CONTOUR”
1134 PCL Reference Manual
Verify Action

Example:

Please see fem_verify_get_graphset.

fem_verify_hex_all (threshold, num_failures, worst_value, worst_id)

Description:
This function will run all of the verification tests for all hexagonal elements in the current group and
highlight any elements that fail the tests.
Input:
REAL threshold(10) This value specifies the threshold comparison value for
all of the tests. See the remarks for a description of the
use of each offset in this array.
Output:
INTEGER num_failures(10) This value returns the number of elements that have
failed a test. See the remarks for a description of the use
of each offset in this array.
REAL worst_value(10) This value returns the value for the worst case value of
each test. See the remarks for a description of the use of
each offset in this array.
INTEGER worst_id(10) This value returns the id for the worst case element of
each test. See the remarks for a description of the use of
each offset in this array.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Hex”, and the test is set to “All”.
The real input value threshold uses the offsets in the array to specify the test failure threshold values for
the following finite model attributes:
Chapter 4: Finite Element Functions 1135
Verify Action

Offset Description

1 The aspect ratio or the length/height of the element with a range of 0 to 20.
2 The edge angle of the element with a range of 0 to 90 degrees.
3 The face skew angle of the element with a range of 0 to 90 degrees.
4 The face warp angle of the element with a range of 0 to 90 degrees.
5 The element twist angle with a range of 0 to 90 degrees.
6 The face taper value ranging from 0 to 1.
7 The normal offset value.
8 The tangent offset value.
9 Not used.
10 Not used.

The output values num_failures, worst_value, and worst_id all use array offsets in the in the following
manner:

Offset Description

1 The value for aspect ratio test.


2 The value for the edge angle test.
3 The value for the face skew angle test.
4 The value for the face warp angle test.
5 The value for the element twist angle test.
6 The value for the face taper test.
7 The value for the normal offset test.
8 The value for the tangent offset test.
9 The value for the Jacobian ratio test.
10 The value for the Jacobian zero test.

Example:

Please see fem_verify_hex_all.


1136 PCL Reference Manual
Verify Action

fem_verify_hex_aspect (normalize, threshold, group_name, minimum_value,


minimum_id, maximum_value, maximum_id, table_id)

Description:
This function will load the graphic display tables with the aspect ratio values of all of the hexagonal
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the aspect
ratio values loaded into the graphic display table are
calculated using this formula: 1 - width / length. The
standard aspect ratio values are calculated when this
value is set to FALSE using this formula: length /
width.
REAL threshold This value specifies the threshold of failure
comparison value. When the input value normalize is
set to TRUE, this value must be greater than 0.0 and
equal to or less than 1.0. When the input value
normalize is set to FALSE, this value must be greater
than 0.0 and less than or equal to 1.0 E +10.
Output:
STRING group_name[31] This value will return a description of the group to
which the test has been applied.
REAL minimum_value This value will return the minimum aspect ratio value.
INTEGER minimum_id This value will return the id of the element with the
minimum aspect ratio value.
REAL maximum_value This value will return the maximum aspect ratio value.
INTEGER maximum_id This value will return the id of the element with the
maximum aspect ratio value.
INTEGER table_id This value returns the id for the table of element aspect
ratio values.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Hex”, and the test is set to “Aspect”.
Chapter 4: Finite Element Functions 1137
Verify Action

This function will write the element number and the aspect ratio value for each element in the current
group that has exceeded the threshold value to the history window.
This function can display a percent complete popup form.
Example:

Please see fem_verify_hex_aspect.


1138 PCL Reference Manual
Verify Action

fem_verify_hex_edangle (normalize, threshold, group_name,


minimum_value, minimum_id, maximum_value,
maximum_id, table_id)

Description:
This function will load the graphic display tables with the edge angle values of all of the hexagonal
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the edge
angle values loaded into the graphic display table are
calculated using this formula: (90.0 - interior angle) /
90.0. The standard edge angle values are calculated
when this value is set to FALSE using this formula:
90.0 - interior angle.
REAL threshold This value specifies the threshold of failure
comparison value. When the input value normalize is
set to TRUE, this value must be greater than 0.0 and
equal to or less than 1.0. When the input value
normalize is set to FALSE, this value must be greater
than 0.0 and less than or equal to 120.0.
Output:
STRING group_name[31] This value will return a description of the group to
which the test has been applied.
REAL minimum_value This value will return the minimum edge angle value.
INTEGER minimum_id This value will return the id of the element with the
minimum edge angle value.
REAL maximum_value This value will return the maximum edge angle value.
INTEGER maximum_id This value will return the id of the element with the
maximum edge angle value.
INTEGER table_id This value returns the id for the table of element edge
angle values.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Chapter 4: Finite Element Functions 1139
Verify Action

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Hex”, and the test is set to “Edge Angle”.
Example:

Please see fem_verify_hex_edangle (p. 825) in the PCL Reference Manual Examples.
1140 PCL Reference Manual
Verify Action

fem_verify_hex_fskew (normalize, threshold, group_name,


minimum_value, minimum_id, maximum_value,
maximum_id, table_id)

Description:
This function will load the graphic display tables with the face skew values of all of the hexagonal
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the face skew
values loaded into the graphic display table are calculated
using this formula: (90.0 - interior angle) / 90.0. The
standard face skew values are calculated when this value
is set to FALSE using this formula: 90.0 - interior angle.
REAL threshold This value specifies the threshold of failure comparison
value. When the input value normalize is set to TRUE, this
value must be greater than 0.0 and equal to or less than 1.0.
When the input value normalize is set to FALSE, this value
must be greater than 0.0 and less than or equal to 90.0.
Output:
STRING group_name[31] This value will return a description of the group to which
the test has been applied.
REAL minimum_value This value will return the minimum face skew value.
INTEGER minimum_id This value will return the id of the element with the
minimum face skew value.
REAL maximum_value This value will return the maximum face skew value.
INTEGER maximum_id This value will return the id of the element with the
maximum face skew value.
INTEGER table_id This value returns the id for the table of element face skew
values.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Hex”, and the test is set to “Face Skew”.
Chapter 4: Finite Element Functions 1141
Verify Action

Example:

Please see fem_verify_hex_fskew.

fem_verify_hex_ftaper (normalize, threshold, group_name, minimum_value,


minimum_id, maximum_value, maximum_id,
table_id)

Description:
This function will load the graphic display tables with the face taper values of all of the hexagonal
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the face taper
values loaded into the graphic display table are calculated using
this formula: (90.0 - interior angle) / 90.0. The standard face
taper values are calculated when this value is set to FALSE
using this formula: 90.0 - interior angle.
REAL threshold This value specifies the threshold of failure comparison value.
When the input value normalize is set to TRUE, this value must
be greater than 0.0 and equal to or less than 1.0. When the input
value normalize is set to FALSE, this value must be greater than
0.0 and less than or equal to 2147483600.0.
Output:
STRING group_name[31] This value will return a description of the group to which the test
has been applied.
REAL minimum_value This value will return the minimum face taper value.
INTEGER minimum_id This value will return the id of the element with the minimum
face taper value.
REAL maximum_value This value will return the maximum face taper value.
INTEGER maximum_id This value will return the id of the element with the maximum
face taper value.
INTEGER table_id This value returns the id for the table of element face taper
values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:
1142 PCL Reference Manual
Verify Action

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Hex”, and the test is set to “Face Taper”.
Example:

Please see fem_verify_hex_ftaper.


Chapter 4: Finite Element Functions 1143
Verify Action

fem_verify_hex_fwarp (normalize, threshold, group_name,


minimum_value, minimum_id, maximum_value,
maximum_id, table_id)

Description:
This function will load the graphic display tables with the face warp values of all of the hexagonal
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the face warp
values loaded into the graphic display table are calculated using
this formula: (interior angle) / 15.0. The standard face warp
values are calculated when this value is set to FALSE using this
formula: interior angle.
REAL threshold This value specifies the threshold of failure comparison value.
When the input value normalize is set to TRUE, this value must
be greater than 0.0 and equal to or less than 1.0. When the input
value normalize is set to FALSE, this value must be greater than
0.0 and less than or equal to 90.0.
Output:
STRING group_name[31] This value will return a description of the group to which the
test has been applied.
REAL minimum_value This value will return the minimum face warp value.
INTEGER minimum_id This value will return the id of the element with the minimum
face warp value.
REAL maximum_value This value will return the maximum face warp value.
INTEGER maximum_id This value will return the id of the element with the maximum
face warp value.
INTEGER table_id This value returns the id for the table of element face warp
values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Hex”, and the test is set to “Face Warp”.
1144 PCL Reference Manual
Verify Action

Example:

Please see fem_verify_hex_fwarp.

fem_verify_hex_twist (normalize, threshold, group_name, minimum_value, minimum_id,


maximum_value, maximum_id, table_id)

Description:
This function will load the graphic display tables with the twist values of all of the hexagonal elements
in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the twist values
loaded into the graphic display table are calculated using this
formula: (interior angle) / 90.0. The standard twist values are
calculated when this value is set to FALSE using this formula:
interior angle.
REAL threshold This value specifies the threshold of failure comparison value.
When the input value normalize is set to TRUE, this value must
be greater than 0.0 and equal to or less than 1.0. When the input
value normalize is set to FALSE, this value must be greater than
0.0 and less than or equal to 90.0.
Output:
STRING group_name[31] This value will return a description of the group to which the
test has been applied.
REAL minimum_value This value will return the minimum twist value.
INTEGER minimum_id This value will return the id of the element with the minimum
twist value.
REAL maximum_value This value will return the maximum twist value.
INTEGER maximum_id This value will return the id of the element with the maximum
twist value.
INTEGER table_id This value returns the id for the table of element twist values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Hex”, and the test is set to “Twist”.
Chapter 4: Finite Element Functions 1145
Verify Action

Example:

Please see fem_verify_hex_twist.

fem_verify_midnode_normoff (threshold, group_name, minimum_value,


minimum_id, maximum_value,
maximum_id, table_id)

Description:
This function will load the graphic display tables with the midnode normal offset values of all of the
elements in the current group.
Input:
REAL threshold This value specifies the threshold of failure comparison value.
This value must be greater than 0.0 and equal to or less than 1.0.
Output:
STRING group_name[31] This value will return a description of the group to which the test
has been applied.
REAL minimum_value This value will return the minimum normal offset value.
INTEGER minimum_id This value will return the id of the element with the minimum
normal offset value.
REAL maximum_value This value will return the maximum normal offset value.
INTEGER maximum_id This value will return the id of the element with the maximum
normal offset value.
INTEGER table_id This value returns the id for the table of normal element offset
values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Midnode”, and the test is set to “Normal Offset”.
Example:

Please see fem_verify_midnode_normoff.


1146 PCL Reference Manual
Verify Action

fem_verify_midnode_tanoff (threshold, group_name, minimum_value,


minimum_id, maximum_value,
maximum_id, table_id)

Description:
This function will load the graphic display tables with the midnode tangent offset values of all of the
elements in the current group.
Input:
REAL threshold This value specifies the threshold of failure comparison
value. This value must be greater than 0.0 and equal to or less
than 1.0.
Output:
STRING group_name[31] This value will return a description of the group to which the
test has been applied.
REAL minimum_value This value will return the minimum tangent offset value.
INTEGER minimum_id This value will return the id of the element with the
minimum tangent offset value.
REAL maximum_value This value will return the maximum tangent offset value.
INTEGER maximum_id This value will return the id of the element with the
maximum tangent offset value.
INTEGER table_id This value returns the id for the table of tangent element
offset values.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Midnode”, and the test is set to “Tangent Offset”.

Example:

Please see fem_verify_midnode_tanoff.


Chapter 4: Finite Element Functions 1147
Verify Action

fem_verify_node_ids (group_name, minimum_value, minimum_id,


maximum_value, maximum_id, table_id)

Description:
This function will load the graphic display tables with the id values of all of the nodes in the current
group as scalar results values.
Input:
None.
Output:
STRING group_name[31] This value will return a description of the group to which the id
value information has been applied.
REAL minimum_value This value will return the minimum id value.
INTEGER minimum_id This value will return the id of the element with the minimum id
value.
REAL maximum_value This value will return the maximum id value.
INTEGER maximum_id This value will return the id of the element with the maximum id
value.
INTEGER table_id This value returns the id for the table of element id values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Node”, and the test is set to “Ids”.
Example:

Please see fem_verify_node_ids.


1148 PCL Reference Manual
Verify Action

fem_verify_quad_all (threshold, num_failures, worst_value, worst_id)

Description:
This function will run all of the verification tests for all quadrilateral elements in the current group
and highlight any elements that fail the tests.
Input:
REAL threshold(8) This value specifies the threshold comparison value for
all of the tests. See the remarks for a description of the
use of each offset in this array.
Output:
INTEGER num_failures(8) This value returns the number of elements that have
failed a test. See the remarks for a description of the use
of each offset in this array.
REAL worst_value(8) This value returns the value for the worst case value of
each test. See the remarks for a description of the use of
each offset in this array.
INTEGER worst_id(8) This value returns the id for the worst case element of
each test. See the remarks for a description of the use of
each offset in this array.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Quad”, and the test is set to “All”.
The input value threshold and the output value num_failures both use the values at the following offsets
for the following finite element model attributes:
Chapter 4: Finite Element Functions 1149
Verify Action

Offset Description.

1 The value for the aspect ratio test.


2 The value for the face warp angle test.
3 The value for the face skew angle test.
4 The value for the face taper test.
5 The value for the normal offset test.
6 The value for the tangent offset test.
7 Not used.
8 Not used.

The output values worst_value and worst_id both use the values at the following offsets to return
information about the following finite element model attributes
:

Offset Description.

1 The value for aspect ratio test.


2 The value for the face warp angle test.
3 The value for the face skew angle test.
4 The value for the face taper test.
5 The value for the normal offset test.
6 The value for the tangent offset test.
7 The value for the Jacobian ratio test.
8 The value for the Jacobian zero test.

Example:

Please see fem_verify_quad_all.


1150 PCL Reference Manual
Verify Action

fem_verify_quad_aspect (normalize, threshold, split, group_name,


minimum_value, minimum_id, maximum_value,
maximum_id, created_elements, created_nodes,
table_id)

Description
:
This function will load the graphic display tables with the aspect ratio values of all of the quadrilateral
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the aspect ratio values
loaded into the graphic display table are calculated using this
formula: (1 - (h2 / h1)). The standard aspect ratio values are
calculated when this value is set to FALSE using this formula: (h1
/ h2).
REAL threshold This value specifies the threshold of failure comparison value.
When the input value normalize is set to TRUE, this value must be
greater than 0.0 and equal to or less than 1.0. When the input value
normalize is set to FALSE, this value must be greater than 0.0 and
less than or equal to 2147483600.0.
LOGICAL split This value specifies, when set to TRUE, that each quadrilateral
element that fails the test will be deleted and replaced with two
quadrilateral elements that split the original element across its
longer dimension.
Output:
STRING group_name[31] This value will return a description of the group to which the test
has been applied.
REAL minimum_value This value will return the minimum aspect ratio value.
INTEGER minimum_id This value will return the id of the element with the minimum
aspect ratio value.
REAL maximum_value This value will return the maximum aspect ratio value.
INTEGER maximum_id This value will return the id of the element with the maximum
aspect ratio value.
STRING created_elements[VIRTUAL]
This value returns a description of any elements that have been
created by this function.
STRING created_nodes[VIRTUAL]
This value returns a description of any nodes that have been
created by this function.
Chapter 4: Finite Element Functions 1151
Verify Action

INTEGER table_id This value returns the id for the table of element aspect ratio
values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Quad”, and the test is set to “Aspect”.
This function will list the element number, the aspect ratio value, and the threshold value for every
element whose aspect ratio exceeds the threshold value in the history window.
Space is internally allocated for the string returned by the output values created_elements and
created_nodes. It is the responsibility of the calling function to free the allocated string storage space.
This function can display a percent complete popup form.
Example:

Please see fem_verify_quad_aspect.


1152 PCL Reference Manual
Verify Action

fem_verify_quad_skew (normalize, threshold, split, group_name,


minimum_value, minimum_id, maximum_value,
maximum_id, created_elements, created_nodes,
table_id)

Description:
This function will load the graphic display tables with the skew angle values of all of the quadrilateral
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the skew angle
values loaded into the graphic display table are calculated using
this formula: ((90.0 - interior angle) / 90.0). The standard skew
angle values are calculated when this value is set to FALSE using
this formula: (90.0 - interior angle).
REAL threshold This value specifies the threshold of failure comparison value.
When the input value normalize is set to TRUE, this value must
be greater than 0.0 and equal to or less than 1.0. When the input
value normalize is set to FALSE, this value must be greater than
0.0 and less than or equal to 90.0.
LOGICAL split This value specifies, when set to TRUE, that each quadrilateral
element that fails the test will be deleted and replaced with two
triangular elements that split the original element along its shorter
diagonal dimension.
Output:
STRING group_name[31] This value will return a description of the group to which the test
has been applied.
REAL minimum_value This value will return the minimum skew angle value.
INTEGER minimum_id This value will return the id of the element with the minimum
skew angle value.
REAL maximum_value This value will return the maximum skew angle value.
INTEGER maximum_id This value will return the id of the element with the maximum
skew angle value.
STRING created_elements[VIRTUAL]
This value returns a description of any elements that have been
created by this function.
STRING created_nodes[VIRTUAL]
This value returns a description of any nodes that have been
created by this function.
Chapter 4: Finite Element Functions 1153
Verify Action

INTEGER table_id This value returns the id for the table of element skew angle
values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Quad”, and the test is set to “Skew”.
This function will list the element number and the skew angle value for every element whose skew angle
exceeds the threshold value in the history window.
Space is internally allocated for the string returned by the output values created_elements and
created_nodes. It is the responsibility of the calling function to free the allocated string storage space.
This function can display a percent complete popup form.
Example:

Please see fem_verify_quad_skew.


1154 PCL Reference Manual
Verify Action

fem_verify_quad_taper (normalize, threshold, split, group_name,


minimum_value, minimum_id, maximum_value,
maximum_id, created_elements, created_nodes,
table_id)

Description
:
This function will load the graphic display tables with the taper angle values of all of the quadrilateral
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the taper angle
values loaded into the graphic display table are calculated using
this formula: (1- ((4.0 x interior angle) / quadrilateral area)). The
standard taper angle values are calculated when this value is set
to FALSE using this formula: ((4.0 x interior angle) /
quadrilateral area).
REAL threshold This value specifies the threshold of failure comparison value.
When the input value normalize is set to TRUE, this value must
be greater than 0.0 and equal to or less than 1.0. When the input
value normalize is set to FALSE, this value must be greater than
0.0 and less than or equal to 1.0.
LOGICAL split This value specifies, when set to TRUE, that each quadrilateral
element that fails the test will be deleted and replaced with two
quadrilateral elements.
Output:
STRING group_name[31] This value will return a description of the group to which the test
has been applied.
REAL minimum_value This value will return the minimum taper angle value.
INTEGER minimum_id This value will return the id of the element with the minimum
taper angle value.
REAL maximum_value This value will return the maximum taper angle value.
INTEGER maximum_id This value will return the id of the element with the maximum
taper angle value.
STRING created_elements[VIRTUAL]
This value returns a description of any elements that have been
created by this function.
STRING created_nodes[VIRTUAL]
This value returns a description of any nodes that have been
created by this function.
Chapter 4: Finite Element Functions 1155
Verify Action

INTEGER table_id This value returns the id for the table of element taper angle
values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Quad”, and the test is set to “Taper”.
This function will list the element number, the taper angle value, and the threshold value for every
element whose taper angle exceeds the threshold value in the history window.
Space is internally allocated for the string returned by the output values created_elements and
created_nodes. It is the responsibility of the calling function to free the allocated string storage space.
This function can display a percent complete popup form.
Example:

Please see fem_verify_quad_taper.


1156 PCL Reference Manual
Verify Action

fem_verify_quad_warp (normalize, threshold, split, group_name,


minimum_value, minimum_id, maximum_value,
maximum_id, created_elements, created_nodes,
table_id)

Description
:
This function will load the graphic display tables with the warp angle values of all of the quadrilateral
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the warp angle
values loaded into the graphic display table are calculated using
this formula: (interior angle / 15.0). The standard warp angle
values are calculated when this value is set to FALSE using this
formula: (interior angle).
REAL threshold This value specifies the threshold of failure comparison value.
When the input value normalize is set to TRUE, this value must
be greater than 0.0 and equal to or less than 1.0. When the input
value normalize is set to FALSE, this value must be greater than
0.0 and less than or equal to 90.0.
LOGICAL split This value specifies, when set to TRUE, that each quadrilateral
element that fails the test will be deleted and replaced with two
triangular elements.
Output:
STRING group_name[31] This value will return a description of the group to which the
test has been applied.
REAL minimum_value This value will return the minimum warp angle value.
INTEGER minimum_id This value will return the id of the element with the minimum
warp angle value.
REAL maximum_value This value will return the maximum warp angle value.
INTEGER maximum_id This value will return the id of the element with the maximum
warp angle value.
STRING created_elements[VIRTUAL]
This value returns a description of any elements that have been
created by this function.
STRING created_nodes[VIRTUAL]
This value returns a description of any nodes that have been
created by this function.
Chapter 4: Finite Element Functions 1157
Verify Action

INTEGER table_id This value returns the id for the table of element warp angle
values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Quad”, and the test is set to “Warp”.
This function will list the element number and the warp angle value for every element whose warp angle
exceeds the threshold value in the history window.
Space is internally allocated for the string returned by the output values created_elements and
created_nodes. It is the responsibility of the calling function to free the allocated string storage space.
This function can display a percent complete popup form.
Example:

Please see fem_verify_quad_warp.


1158 PCL Reference Manual
Verify Action

fem_verify_reset_graphics (render_style, group_name, spectrum_set,


viewport_name)

Description:
This function can be used to reset graphics parameters after the results of a finite element verification
operation has been displayed in a viewport.
Input:
STRING render_style[31] This value specifies the original render style. This value
will either be applied to the group named in the input value
group_name or to all of the entities in the model,
depending on the current display method setting. See the
remarks below for a table of allowed values.
STRING group_name[31] This value specifies the original group name to which the
render style will be applied.
INTEGER spectrum_set This value specifies the original spectrum setting which, if
set to TRUE or 1, will indicate that the current spectrum
settings are posted to the viewport. This value can be set to
FALSE or 0 to indicate that the current spectrum settings
are not posted to the viewport.
STRING viewport_name[31] This value specifies the original viewport name to which
the input value spectrum_set will be applied.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
None.

Remarks:

See the description for the function fem_verify_get_graphset() for more information.
Setting the input value spectrum_set to TRUE or 1 will not post the current spectrum settings to a
viewport, it will just place a setting in the database to indicate the post status of the spectrum settings.
The returned value render_style can have the following values:
Chapter 4: Finite Element Functions 1159
Verify Action

Render Style

“WIREFRAME” “HIDDEN” “SHADED”


“FRINGE” “FRINGE/LIGHT” “ELEMFILL”
“CONTOUR”

Example:

Please see fem_verify_reset_graphics.

fem_verify_tet_all (threshold, num_failures, worst_value, worst_id)

Description:
This function will run all of the verification tests for all tetrahedral elements in the current group
and highlight any elements that fail the tests.
Input:
REAL threshold(8) This value specifies the threshold comparison values
for all tests.
Output:
INTEGER num_failures(8) This value returns the number of elements failing the
tests.
REAL worst_value(8) This value returns the value at which worst case
occurred.
INTEGER worst_id(8) This value returns the identifiers for the worst case
elements that have failed the tests.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Tet”, and the test is set to “All”.
The input value threshold and the output value num_failures both use the values at the following offsets
for the following finite element model attributes:
1160 PCL Reference Manual
Verify Action

Offset Description.

1 The value for the aspect ratio test.


2 The value for the face warp angle test.
3 The value for the face skew angle test.
4 The value for the face taper test.
5 The value for the normal offset test.
6 The value for the tangent offset test.
7 Not used.
8 Not used.

The output values worst_value and worst_id both use the values at the following offsets to return
information about the following finite element model attributes:

Offset Description.

1 The value for aspect ratio test.


2 The value for the face warp angle test.
3 The value for the face skew angle test.
4 The value for the face taper test.
5 The value for the normal offset test.
6 The value for the tangent offset test.
7 The value for the Jacobian ratio test.
8 The value for the Jacobian zero test.

Example:

Please see fem_verify_tet_all.


Chapter 4: Finite Element Functions 1161
Verify Action

fem_verify_tet_aspect (normalize, threshold, group_name, minimum_value,


minimum_id, maximum_value, maximum_id, table_id)

Description:
This function will load the graphic display tables with the aspect ratio values of all of the tetrahedral
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the aspect ratio
values loaded into the graphic display table are calculated
using a normalization formula.
REAL threshold This value specifies the threshold of failure comparison
value. When the input value normalize is set to TRUE, this
value must be greater than 0.0 and equal to or less than 1.0.
When the input value normalize is set to FALSE, this value
must be greater than 0.0 and less than or equal to 1.0 E +10.
Output:
STRING group_name[31] This value will return a description of the group to which the
test has been applied.
REAL minimum_value This value will return the minimum aspect ratio value.
INTEGER minimum_id This value will return the id of the element with the minimum
aspect ratio value.
REAL maximum_value This value will return the maximum aspect ratio value.
INTEGER maximum_id This value will return the id of the element with the
maximum aspect ratio value.
INTEGER table_id This value returns the id for the table of element aspect ratio
values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Tet”, and the test is set to “Aspect”.
This function will write the element number and the aspect ratio value for each element in the current
group that has exceeded the threshold value to the history window.
This function can display a percent complete popup form.
1162 PCL Reference Manual
Verify Action

Example:

Please see fem_verify_tet_aspect.

fem_verify_tet_collapse (normalize, threshold, group_name,


minimum_value, minimum_id, maximum_value,
maximum_id, table_id)

Description:
This function will load the graphic display tables with the collapse values of all of the tetrahedral
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the collapse
values loaded into the graphic display table are calculated
using a normalization formula.
REAL threshold This value specifies the threshold of failure comparison value.
When the input value normalize is set to TRUE, this value
must be greater than 0.0 and equal to or less than 1.0. When the
input value normalize is set to FALSE, this value must be
greater than 0.0 and less than or equal to 1.0 E +10.
Output:
STRING group_name[31] This value will return a description of the group to which the
test has been applied.
REAL minimum_value This value will return the minimum collapse value.
INTEGER minimum_id This value will return the id of the element with the minimum
collapse value.
REAL maximum_value This value will return the maximum collapse value.
INTEGER maximum_id This value will return the id of the element with the maximum
collapse value.
INTEGER table_id This value returns the id for the table of element collapse
values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Tet”, and the test is set to “Collapse”.
Chapter 4: Finite Element Functions 1163
Verify Action

This function will write the element number and the collapse value for each element in the current group
that has exceeded the threshold value to the history window.
This function can display a percent complete popup form.
Example:

Please see fem_verify_tet_collapse.


1164 PCL Reference Manual
Verify Action

fem_verify_tet_edangle (normalize, threshold, group_name,


minimum_value, minimum_id, maximum_value,
maximum_id, table_id)

Description:
This function will load the graphic display tables with the edge angle values of all of the tetrahedral
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the edge angle
values loaded into the graphic display table are calculated
using a normalization formula.
REAL threshold This value specifies the threshold of failure comparison value.
When the input value normalize is set to TRUE, this value
must be greater than 0.0 and equal to or less than 1.0. When the
input value normalize is set to FALSE, this value must be
greater than 0.0 and less than or equal to 1.0 E +10.
Output:
STRING group_name[31] This value will return a description of the group to which the
test has been applied.
REAL minimum_value This value will return the minimum edge angle value.
INTEGER minimum_id This value will return the id of the element with the minimum
edge angle value.
REAL maximum_value This value will return the maximum edge angle value.
INTEGER maximum_id This value will return the id of the element with the maximum
edge angle value.
INTEGER table_id This value returns the id for the table of element edge angle
values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Tet”, and the test is set to “Edge Angle”.
This function will write the element number and the edge angle value for each element in the current
group that has exceeded the threshold value to the history window.
Chapter 4: Finite Element Functions 1165
Verify Action

This function can display a percent complete popup form.


Example:

Please see fem_verify_tet_edangle.

fem_verify_tet_fskew (normalize, threshold, group_name,


minimum_value, minimum_id, maximum_value,
maximum_id, table_id)

Description:
This function will load the graphic display tables with the face skew values of all of the tetrahedral
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the face skew
values loaded into the graphic display table are calculated
using a normalization formula.
REAL threshold This value specifies the threshold of failure comparison
value. When the input value normalize is set to TRUE, this
value must be greater than 0.0 and equal to or less than 1.0.
When the input value normalize is set to FALSE, this value
must be greater than 0.0 and less than or equal to 90.0.
Output:
STRING group_name[31] This value will return a description of the group to which the
test has been applied.
REAL minimum_value This value will return the minimum face skew value.
INTEGER minimum_id This value will return the id of the element with the
minimum face skew value.
REAL maximum_value This value will return the maximum face skew value.
INTEGER maximum_id This value will return the id of the element with the
maximum face skew value.
INTEGER table_id This value returns the id for the table of element face skew
values.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:
1166 PCL Reference Manual
Verify Action

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Tet”, and the test is set to “Edge Angle”.
This function will write the element number and the face skew value for each element in the current group
that has exceeded the threshold value to the history window.
This function can display a percent complete popup form.
Example:

Please see fem_verify_tet_fskew.

fem_verify_tria_all (threshold, num_failures, worst_value,


worst_id)

Description:
This function will run all of the verification tests for all triangular elements in the current group an
highlight any elements that fail the tests.
Input:
REAL threshold(6) This value specifies the threshold comparison value for all of
the tests. See the remarks for a description of the use of each
offset in this array.
Output:
INTEGER num_failures(6) This value returns the number of elements that have failed a
test. See the remarks for a description of the use of each offset
in this array.
REAL worst_value(6) This value returns the value for the worst case value of each
test. See the remarks for a description of the use of each offset
in this array.
INTEGER worst_id(6) This value returns the id for the worst case element of each
test. See the remarks for a description of the use of each offset
in this array.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Tria”, and the test is set to “All”.
Chapter 4: Finite Element Functions 1167
Verify Action

The input value threshold and the output value num_failures both use the values at the following offsets
for the following finite element model attributes.
:

Offset Description.

1 The value for the aspect ratio test.


2 The value for the face skew angle test.
3 The value for the normal offset test.
4 The value for the tangent offset test.
5 Not used.
6 Not used.

The output values worst_value and worst_id both use the values at the following offsets to return
information about the following finite element model attributes
:

Offset Description.

1 The value for aspect ratio test.


2 The value for the face skew angle test.
3 The value for the normal offset test.
4 The value for the tangent offset test.
5 The value for the Jacobian ratio test.
6 The value for the Jacobian zero test.

Example:

Please see fem_verify_tria_all.


1168 PCL Reference Manual
Verify Action

fem_verify_tria_aspect (normalize, threshold, group_name, minimum_value,


minimum_id, maximum_value, maximum_id, table_id)

Description:
This function will load the graphic display tables with the aspect ratio values of all of the triangular
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the aspect ratio
values loaded into the graphic display table are calculated
using a normalization formula.
REAL threshold This value specifies the threshold of failure comparison
value. When the input value normalize is set to TRUE, this
value must be greater than 0.0 and equal to or less than 1.0.
When the input value normalize is set to FALSE, this value
must be greater than 0.0 and less than or equal to 90.0.
Output:
STRING group_name[31] This value will return a description of the group to which
the test has been applied.
REAL minimum_value This value will return the minimum aspect ratio value.
INTEGER minimum_id This value will return the id of the element with the
minimum aspect ratio value.
REAL maximum_value This value will return the maximum aspect ratio value.
INTEGER maximum_id This value will return the id of the element with the
maximum aspect ratio value.
INTEGER table_id This value returns the id for the table of element aspect ratio
values.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Tria”, and the test is set to “Aspect”.
This function will write the element number, the aspect ratio value for each element in the current group
that has exceeded the threshold value, and the threshold value to the history window.
Chapter 4: Finite Element Functions 1169
Verify Action

This function can display a percent complete popup form.


Example:

Please see fem_verify_tria_aspect.

fem_verify_tria_skew (normalize, threshold, group_name, minimum_value,


minimum_id, maximum_value, maximum_id, table_id)

Description:
This function will load the graphic display tables with the skew angle values of all of the triangular
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the skew angle
values loaded into the graphic display table are calculated
using a normalization formula.
REAL threshold This value specifies the threshold of failure comparison
value. When the input value normalize is set to TRUE, this
value must be greater than 0.0 and equal to or less than 1.0.
When the input value normalize is set to FALSE, this value
must be greater than 0.0 and less than or equal to 90.0.
Output:
STRING group_name[31] This value will return a description of the group to which the
test has been applied.
REAL minimum_value This value will return the minimum skew angle value.
INTEGER minimum_id This value will return the id of the element with the minimum
skew angle value.
REAL maximum_value This value will return the maximum skew angle value.
INTEGER maximum_id This value will return the id of the element with the maximum
skew angle value.
INTEGER table_id This value returns the id for the table of element skew angle
values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Tria”, and the test is set to “Skew”.
1170 PCL Reference Manual
Verify Action

This function will write the element number, the skew angle value for each element in the current group
that has exceeded the threshold value, and the threshold value to the history window.
This function can display a percent complete popup form.
Example:

Please see fem_verify_tria_skew.

fem_verify_wedge_all (threshold, num_failures, worst_value, worst_id)

Description:
This function will run all of the verification tests for all wedge elements in the current group an
highlight any elements that fail the tests.
Input:
REAL threshold(10) This value specifies the threshold comparison value for all of
the tests. See the remarks for a description of the use of each
offset in this array.
Output:
INTEGER num_failures(10) This value returns the number of elements that have failed a
test. See the remarks for a description of the use of each offset
in this array.
REAL worst_value(10) This value returns the value for the worst case value of each
test. See the remarks for a description of the use of each offset
in this array.
INTEGER worst_id(10) This value returns the id for the worst case element of each
test. See the remarks for a description of the use of each offset
in this array.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

A wedge element has the following prismatic shape:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Wedge”, and the test is set to “All”.
The real input value threshold uses the offsets in the array to specify the test failure threshold values for
the following finite model attributes:
Chapter 4: Finite Element Functions 1171
Verify Action

Offset Description

1 The aspect ratio or the length/height of the element with a range of 0 to 20.
2 The edge angle of the element with a range of 0 to 90 degrees.
3 The face skew angle of the element with a range of 0 to 90 degrees.
4 The face warp angle of the element with a range of 0 to 90 degrees.
5 The element twist angle with a range of 0 to 90 degrees.
6 The face taper value ranging from 0 to 1.
7 The normal offset value.
8 The tangent offset value.
9 Not used.
10 Not used.

The output values num_failures, worst_value, and worst_id all use array offsets in the in the following
manner:

Offset Description

1 The value for aspect ratio test.


2 The value for the edge angle test.
3 The value for the face skew angle test.
4 The value for the face warp angle test.
5 The value for the element twist angle test.
6 The value for the face taper test.
7 The value for the normal offset test.
8 The value for the tangent offset test.
9 The value for the Jacobian ratio test.
10 The value for the Jacobian zero test.

Example:

Please see fem_verify_wedge_all.


1172 PCL Reference Manual
Verify Action

fem_verify_wedge_aspect (normalize, threshold, group_name,


minimum_value, minimum_id,
maximum_value, maximum_id, table_id)

Description:
This function will load the graphic display tables with the aspect ratio values of all of the wedge
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the aspect ratio
values loaded into the graphic display table are calculated
using a normalization formula.
REAL threshold This value specifies the threshold of failure comparison
value. When the input value normalize is set to TRUE, this
value must be greater than 0.0 and equal to or less than 1.0.
When the input value normalize is set to FALSE, this value
must be greater than 0.0 and less than or equal to 10.0 E
+10.
Output:
STRING group_name[31] This value will return a description of the group to which
the test has been applied.
REAL minimum_value This value will return the minimum aspect ratio value.
INTEGER minimum_id This value will return the id of the element with the
minimum aspect ratio value.
REAL maximum_value This value will return the maximum aspect ratio value.
INTEGER maximum_id This value will return the id of the element with the
maximum aspect ratio value.
INTEGER table_id This value returns the id for the table of element aspect ratio
values.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

A wedge element has the following prismatic shape:


Chapter 4: Finite Element Functions 1173
Verify Action

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Wedge”, and the test is set to “Aspect”.
This function will write the element number and the aspect ratio value for each element in the current
group that has exceeded the threshold value to the history window.
This function can display a percent complete popup form.
Example:

Please see fem_verify_wedge_aspect.


1174 PCL Reference Manual
Verify Action

fem_verify_wedge_edangle (normalize, threshold, group_name,


minimum_value, minimum_id, maximum_value,
maximum_id, table_id)

Description:
This function will load the graphic display tables with the face edge angle values of all of the wedge
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the face edge angle
values loaded into the graphic display table are calculated using
a normalization formula.
REAL threshold This value specifies the threshold of failure comparison value.
When the input value normalize is set to TRUE, this value must
be greater than 0.0 and equal to or less than 1.0. When the input
value normalize is set to FALSE, this value must be greater than
0.0 and less than or equal to 120.0
Output:
STRING group_name[31] This value will return a description of the group to which the
test has been applied.
REAL minimum_value This value will return the minimum face edge angle value.
INTEGER minimum_id This value will return the id of the element with the minimum
face edge angle value.
REAL maximum_value This value will return the maximum face edge angle value.
INTEGER maximum_id This value will return the id of the element with the maximum
face edge angle value.
INTEGER table_id This value returns the id for the table of element face edge angle
values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

A wedge element has the following prismatic shape:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Wedge”, and the test is set to “Edge Angle”.
Chapter 4: Finite Element Functions 1175
Verify Action

This function will write the element number and the face edge angle value for each element in the current
group that has exceeded the threshold value to the history window.
This function can display a percent complete popup form.
Example:

Please see fem_verify_wedge_edangle.


1176 PCL Reference Manual
Verify Action

fem_verify_wedge_fskew (normalize, threshold, group_name,


minimum_value, minimum_id, maximum_value,
maximum_id, table_id)

Description:
This function will load the graphic display tables with the face skew angle values of all of the wedge
elements in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the face skew
angle values loaded into the graphic display table are calculated
using a normalization formula.
REAL threshold This value specifies the threshold of failure comparison value.
When the input value normalize is set to TRUE, this value must
be greater than 0.0 and equal to or less than 1.0. When the input
value normalize is set to FALSE, this value must be greater than
0.0 and less than or equal to 90.0
Output:
STRING group_name[31] This value will return a description of the group to which the
test has been applied.
REAL minimum_value This value will return the minimum face skew angle value.
INTEGER minimum_id This value will return the id of the element with the minimum
face skew angle value.
REAL maximum_value This value will return the maximum face skew angle value.
INTEGER maximum_id This value will return the id of the element with the maximum
face skew angle value.
INTEGER table_id This value returns the id for the table of element face skew angle
values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

A wedge element has the following prismatic shape:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Wedge”, and the test is set to “Face Skew”.
Chapter 4: Finite Element Functions 1177
Verify Action

This function will write the element number and the face skew angle value for each element in the current
group that has exceeded the threshold value to the history window.
This function can display a percent complete popup form.
Example:

Please see fem_verify_wedge_fskew.


1178 PCL Reference Manual
Verify Action

fem_verify_wedge_ftaper (normalize, threshold, group_name,


minimum_value, minimum_id, maximum_value,
maximum_id, table_id)

Description:
This function will load the graphic display tables with the face taper values of all of the wedge elements
in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the face taper
values loaded into the graphic display table are calculated using
a normalization formula.
REAL threshold This value specifies the threshold of failure comparison value.
When the input value normalize is set to TRUE, this value must
be greater than 0.0 and equal to or less than 1.0. When the input
value normalize is set to FALSE, this value must be greater than
0.0 and less than or equal to 2147483600.0
Output:
STRING group_name[31] This value will return a description of the group to which the
test has been applied.
REAL minimum_value This value will return the minimum face taper value.
INTEGER minimum_id This value will return the id of the element with the minimum
face taper value.
REAL maximum_value This value will return the maximum face taper value.
INTEGER maximum_id This value will return the id of the element with the maximum
face taper value.
INTEGER table_id This value returns the id for the table of element face taper
values.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

A wedge element has the following prismatic shape:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Wedge”, and the test is set to “Face Taper”.
Chapter 4: Finite Element Functions 1179
Verify Action

This function will write the element number and the face taper value for each element in the current group
that has exceeded the threshold value to the history window.
This function can display a percent complete popup form.
Example:

Please see fem_verify_wedge_ftaper.


1180 PCL Reference Manual
Verify Action

fem_verify_wedge_fwarp (normalize, threshold, group_name,


minimum_value, minimum_id,
maximum_value, maximum_id, table_id)

Description:
This function will load the graphic display tables with the face warp values of all of the wedge elements
in the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the face
taper values loaded into the graphic display table are
calculated using a normalization formula.
REAL threshold This value specifies the threshold of failure comparison
value. When the input value normalize is set to TRUE,
this value must be greater than 0.0 and equal to or less
than 1.0. When the input value normalize is set to
FALSE, this value must be greater than 0.0 and less than
or equal to 90.0
Output:
STRING group_name[31] This value will return a description of the group to which
the test has been applied.
REAL minimum_value This value will return the minimum face warp value.
INTEGER minimum_id This value will return the id of the element with the
minimum face warp value.
REAL maximum_value This value will return the maximum face warp value.
INTEGER maximum_id This value will return the id of the element with the
maximum face warp value.
INTEGER table_id This value returns the id for the table of element face
warp values.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

A wedge element has the following prismatic shape:


Chapter 4: Finite Element Functions 1181
Verify Action

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Wedge”, and the test is set to “Face Warp”.
This function will write the element number and the face warp value for each element in the current group
that has exceeded the threshold value to the history window.
This function can display a percent complete popup form.
Example:

Please see fem_verify_wedge_fwarp.


1182 PCL Reference Manual
Verify Action

fem_verify_wedge_twist (normalize, threshold, group_name,


minimum_value, minimum_id, maximum_value,
maximum_id, table_id)

Description:
This function will load the graphic display tables with the twist values of all of the wedge elements in
the current group.
Input:
LOGICAL normalize This value specifies, when set to TRUE, that the twist
values loaded into the graphic display table are calculated
using a normalization formula.
REAL threshold This value specifies the threshold of failure comparison
value. When the input value normalize is set to TRUE, this
value must be greater than 0.0 and equal to or less than 1.0.
When the input value normalize is set to FALSE, this value
must be greater than 0.0 and less than or equal to 120.0
Output:
STRING group_name[31] This value will return a description of the group to which
the test has been applied.
REAL minimum_value This value will return the minimum twist value.
INTEGER minimum_id This value will return the id of the element with the
minimum twist value.
REAL maximum_value This value will return the maximum twist value.
INTEGER maximum_id This value will return the id of the element with the
maximum twist value.
INTEGER table_id This value returns the id for the table of element twist
values.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

A wedge element has the following prismatic shape:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Wedge”, and the test is set to “Twist”.
Chapter 4: Finite Element Functions 1183
Verify Action

This function will write the element number and the twist value for each element in the current group that
has exceeded the threshold value to the history window.
This function can display a percent complete popup form.
Example:

Please see fem_verify_wedge_twist.

verify_boundaries_display_mgr.erase ()

Description:
This function will erase the free boundary display in the viewport.
Input:
None.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Element”, and the test is set to “Boundaries”.

See the function verify_boundaries_display_mgr.plot() for more information.

Example:

Please see verify_boundaries_display_mgr.erase.


1184 PCL Reference Manual
Verify Action

verify_boundaries_display_mgr.plot (display_type)

Description:
This function will plot either the free faces or face edges of all of the elements in the model.
Input:
STRING display_type[10] This value specifies the property of the free elements to plot
and can be set to either “Free_Edges” or “Free_Faces”.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Verify”, the object is set to “Element”, and the test is set to “Boundaries”.
See the function verify_boundaries_display_mgr.erase() for more information.
Example:

Please see verify_boundaries_display_mgr.plot.


Chapter 4: Finite Element Functions 1185
Show Action

Show Action
This section is used to describe some of the functions used to show elements and nodes in a finite element
model.

fem_show_element_cs_plot.plot_elem_cs segment_id, c_elem_lp_str,


a_axis_show, a_axis_label_show,
a_axis_color, cs_def_type,
cs_origin_display_loc,
use_offset_1d_elem

Description:
Display element coordinate systems of selected element.
Input:
INTEGER segment_id Graphic segment ID
STRING c_elem_lp_st[] List processor string with list of elements
INTEGER a_axis_show(3) For each element direction (X/Y/Z) :
0 (FALSE) : Do not plot this axis.
1 (TRUE) : Plot this axis.
INTEGER a_axis_label_show(3) For each element direction (X/Y/Z) :
0 (FALSE) : Do not show axis label.
1 (TRUE) : Show axis label.
INTEGER a_axis_color(3): For each element direction (X/Y/Z) :
Color id (0-15)
INTEGER cs_def_type Element coordinate system definition :
1 : Patran
2 : MSC Nastran
3 : MSC.Marc
INTEGER cs_origin_display_loc element coordinate system origin display location :
1 : Patran definition of element centroid
2 : Selected analysis code element coordinate system
definition (cs_def_type) location.
INTEGER use_offset_1d_elem 0 : (FALSE) Do not consider 1d element (beam) offset for
CS display
1 : (TRUE) Consider 1d element (beam) offset for CS display
Output:
INTEGER <Return Value> Element coordinate system ploted on the selected elements.
1186 PCL Reference Manual
Show Action

Example:

Please see fem_show_element_cs_plot.plot_elem_cs.


Chapter 4: Finite Element Functions 1187
Modify Action

Modify Action
This section is used to describe some of the functions used to modify elements and nodes in a finite
element model.

del_2n_edge_for_all_elm (node_prefer_to_del_id,
node_prefer_to_keep_id, consider_geometry,
reason_why_not)

Description:
This function deletes an element edge for all Tet/Tri/Bar elements using it.
Input:
INTEGER node_prefer_to_del_id
This value specifies the Patran node id for deletion.
This should be the one you prefer to delete.
INTEGER node_prefer_to_keep_i
This value specifies the Patran node id for deletion.
d
This should be the one you prefer to keep.
INTEGER consider_geometry This value specifies the options : 1 (TRUE) if you wish
to consider geometry, otherwise, 0 (FALSE).
STRING reason_why_not This value specifies the virtual string containing : "" for
[VIRTUAL] this string if the edge was deleted. Otherwise (string
length greater than 0), this string holds the reason why
it cannot be deleted.
Output:
INTEGER <Return Value> This function returns a value of 0 if no error occurred.
1188 PCL Reference Manual
Modify Action

fem_conn_fastener_prop_modify (name, diameter, kti, kri, mass, mcid,


mflag, id)

Description:
This function modifies a fastener connector property record in the database.
Input:
STRING[] name The name of the connector property.
REAL diameter The connector diameter.
REAL(3) kti Stiffness values in directions 1 to 3.
REAL (3) kri Rotation stiffness values in directions 1 to 3.
REAL mass The lumped mass of the fastener.
INTEGER mcid The element stiffness coordinate system (-1 = use element
coordinate system).
INTEGER mflag Defines whether the coordinate system specified for mcid
is absolute (1) or relative (0).
Output:
INTEGER id The ID of the new connector property.
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
DbDuplicateEntry
DbMaterialNotFound

fem_conn_property_get (name, type, mat, rvals, ivals, id)

Description:
This function modifies a connector property record in the database.
Input:
STRING[] name The name of the connector property.
Output:
STRING[] type The type of connector property (General, Spot Weld).
STRING[] mat Name of the reference material property.
REAL() rvals Real property values (diameter, Idmin, Idmax, etc.).
INTEGER() ivals Integer property values.
INTEGER id The ID of the new connector property.
Chapter 4: Finite Element Functions 1189
Modify Action

INTEGER <Return Value> This function returns a value of 0 if successful.


Error Conditions:
DbRegionNotFound
DbPropValNotFound
DbMaterialNotFound
1190 PCL Reference Manual
Modify Action

fem_conn_property_modify (name, type, mat, rvals, ivals, id)

Description:
This function modifies a connector property record in the database.
Input:
STRING[] name The name of the connector property.
STRING[] type The type of connector property (Generl, Spot Weld).
STRING[] mat Name of the reference material property.
REAL() rvals Real property values (diameter, Idmin, Idmax, etc.).
INTEGER() ivals Integer property values.
Output:
INTEGER id The ID of the connector property.
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
DbRegionNotFound
DbPropValNotFound
DbMaterialNotFound

fem_conn_spotweld_modify (id, pname, method, fmt, gs, ga, gb, pata, patb,
sptyp)

Description:
This function modifies spot weld connectors (usually one at a time).
Input:
INTEGER id The starting id for the new connector(s).
STRING[] pname[] The connector property name.
STRING[] method The connector creation method (Projection or Axis).
STRING[] fmt The weld format (ELPAT, PARTPAT, ALIGN,
ELEMID, or GRIDID).
STRING[] gs List of connector locations (nodeds or xyz).
STRING[] ga List of surface A pierce nodes.
STRING[] gb List of surface B pierce nodes.
STRING[] pata List of surface A patch identifiers.
STRING[] patb List of surface B patch identifiers.
Chapter 4: Finite Element Functions 1191
Modify Action

STRING[] sptyp Surface patch types (GRIDID format only).


Q4Q8 = quad4/quad8, Q4T6 = quad4/tri6, etc.
Output:
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
MSG_FEM_CONN_ZERO_DIAM
MSG_FEM_CONN_GS_OR_GA_REQD
MSG_FEM_CONN_ALIGN_GA_GB_REQD
MSG_FEM_CONN_PATA_PATB_REQD
MSG_FEM_CONN_BAD_POINT_PATCH
MSG_FEM_CONN_GS_NODE_ID_REQD
MSG_FEM_CONN_PROP_NOT_FOUND
1192 PCL Reference Manual
Modify Action

fem_conn_spotweld_prop_modify (name, mat, diameter, imset, id)

Description:
This function modifies a spot weld connector property record in the database.
Input:
STRING[] name The name of the connector property.
STRING[] mat Name of the reference material property.
REAL diameter The connector diameter.
INTEGER imset The M-Set flag (0=OFF, 1=ON).
Output:
INTEGER id The ID of the new connector property.
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
DbDuplicateEntry
DbMaterialNotFound

fem_mod_elem_reverse (element_select, elements_reversed)

Description:
This function will reverse the connectivity of the specified elements, reversing the direction of
the normal vector for those elements.
Input:
STRING element_select[] This value specifies a selection of element identifiers to
be used for the elements being reversed.
Output:
STRING elements_reversed[VIRTUAL]
This value returns a description of the elements which
were reversed.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:
Chapter 4: Finite Element Functions 1193
Modify Action

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Modify”, the object is set to “Element”, and the method is set to “Reverse”.
Space is internally allocated for the string returned by the output value elements_reversed. It is the
responsibility of the calling function to free the allocated string storage space.
Example:

Please see fem_mod_elem_reverse.

fem_mod_elem_separate (element_select, node_select, seperation_option,


keep_association, num_nodes, nodes_created)

Description:
This function will separate elements at the specified nodes, edges or faces.
Input:
STRING element_select[] This value specifies a selection of element identifiers to be
used for the elements being separated. Element edges and
faces can also be specified with this value.
STRING node_select[] This value specifies a selection of nodes identifying where
the elements will be separated.
INTEGER seperation_option This value specifies the method used to separate elements
from nodes. See the remarks below for more information.
LOGICAL keep_association This value specifies, when set to TRUE, that new nodes that
are created will maintain an association to the model
geometry.
Output:
INTEGER num_nodes This value returns the number of nodes created.
STRING nodes_created[VIRTUAL]
This value returns a description of the nodes created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Modify”, the object is set to “Element”, and the method is set to “Separate”.
1194 PCL Reference Manual
Modify Action

Space is internally allocated for the string returned by the output value nodes_created. It is the
responsibility of the calling function to free the allocated string storage space.
The integer input value seperation_option can have the following values:

Value Description

1 Separate elements at the nodes specified by the input value node_select.


2 Separate elements at the element edges specified by the input value element_select.
3 Separate element faces at the element faces specified in the input value element_select.
4 Separate element faces at the free element edges specified in the input value
element_select.
5 Separate element faces at the free element faces specified in the input value
element_select.

Example:

Please see fem_mod_elem_separate.


Chapter 4: Finite Element Functions 1195
Modify Action

fem_mod_quad_split_nm (pattern, auto_manual, element_select,


orientation_element, num_selected,
num_orientation, num_nodes_created,
num_elems_created, num_nodes_deleted,
num_elems_deleted, nodes_created,
elements_created, nodes_deleted,
elements_deleted)

Description:
This function will split quadrilateral elements in a specified pattern using a selection of elements as
input.
Input:
STRING pattern[] This value specifies the pattern into which the quadrilateral
elements will be split and should always be set to “nm_quad”.
STRING auto_manual[] This value specifies, when set to “Manual”, that the number of
entities in the input value element_select be counted to
determine how many orientation edges will be needed. This
value can accept two values “Auto” or “Manual” and should be
set to “Auto” if the input values num_selected and
num_orientation equal each other.
STRING element_select[] This value specifies a selection of quadrilateral elements to be
split.
STRING orientation_element[] This value specifies a selection of elements that are used to
specify the orientation of the elements to be split.
INTEGER num_selected This value specifies the number of elements described in the
input value element_select.
INTEGER num_orientation This value specifies the number of element edges described in
the input value orientation_element.
Output:
INTEGER num_nodes_created This value returns the number of nodes created.
INTEGER num_elems_created This value returns the number of elements created.
INTEGER num_nodes_deleted This value returns the number of nodes deleted.
INTEGER num_elems_deleted This value returns the number of elements deleted.
STRING nodes_created[VIRTUAL]
This value returns a description of the created nodes.
STRING elements_created[VIRTUAL]
This value returns a description of the created elements.
STRING nodes_deleted[VIRTUAL]
This value returns a description of the deleted nodes.
STRING elements_deleted[VIRTUAL]
1196 PCL Reference Manual
Modify Action

This value returns a description of the deleted elements.


INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.

Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Modify”, the object is set to “Quad”, and the method is set to “Split”.
Space is internally allocated for the string returned by the output values nodes_created, elements_created,
nodes_deleted, and elements_deleted. It is the responsibility of the calling function to free the allocated
string storage space.
Example:

Please see fem_mod_quad_split_nm.


Chapter 4: Finite Element Functions 1197
Modify Action

fem_modify_nodes (node_select, new_node_id, ref_coord_frame,


anly_coord_frame, point_select, modify_options,
nodes_modified)

Description:
This function will modify specified node attributes.
Input:
STRING node_select[] This value specifies a selection of nodes to be modified.
STRING new_node_id[] This value specifies a selection of node identifiers to be
assigned to the modified nodes.
STRING ref_coord_frame[] This value specifies an identifier for the reference
coordinate frame assigned to the modified nodes.
STRING anly_coord_frame[] This value specifies an identifier for the analysis
coordinate frame assigned to the modified nodes.
STRING point_select This value specifies a selection of points to which the
modified nodes will be moved.
INTEGER modify_options(10) This value specifies the manner in which the node
attributes will be modifies. Each offset in the array of
values can be set to 1 to cause the attribute to be modified
or to 0 so that the attribute is not modified. See the remarks
below for more information.
Output:
STRING nodes_modified[VIRTUAL]
This value returns a description of the modified nodes.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Modify”, the object is set to “Node”, and the method is set to “Edit”, or “Move”.
Space is internally allocated for the string returned by the output value nodes_modified. It is the
responsibility of the calling function to free the allocated string storage space.
The input value modify_options uses the offsets of the array in the following manner:
1198 PCL Reference Manual
Modify Action

Offset Description

1 Modify the id values of the nodes.


2 Modify the analysis coordinate frame to which the nodes are
assigned.
3 Modify the reference coordinate frame to which the nodes are
assigned.
4 Modify the association of the nodes. This option is currently not
implemented.
5 Modify the location of the nodes.
6 Not used.
7 Not used.
8 Not used.
9 Not used.
10 Not used.

Example:

Please see fem_modify_nodes.


Chapter 4: Finite Element Functions 1199
Modify Action

fem_modify_nodes_offset (transformation_type, ref_coord_frame,


vector_direction, magnitude, reverse_direction,
node_select, nodes_modified)

Description:
This function will move nodes by a specified vector distance.
Input:
LOGICAL transformation_type This value specifies, when set to TRUE, that the move will be
curvilinear in the reference coordinate system. If this value is
set to FALSE, a cartesian move in the reference coordinate
frame will take place.
STRING ref_coord_frame[] This value specifies an identifier for the reference coordinate
frame in which the move will take place.
STRING vector_direction[] This value specifies a vector that defines the direction in which
the nodes will be moved. This vector does not affect the
distance that the move will take, only the direction.
STRING magnitude[] This value specifies how far the nodes will be moved. This
argument is ignored if “transformation_type” is set to TRUE.
LOGICAL reverse_direction This value specifies, when set to TRUE, that the direction of
the input value vector_direction be reversed.
STRING node_select[] This value specifies a selection of nodes to be modified.
Output:
STRING nodes_modified[VIRTUAL]
This value will return a description of the nodes that have been
modified.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Modify”, the object is set to “Node”, and the method is set to “Offset”.
Space is internally allocated for the string returned by the output value nodes_modified. It is the
responsibility of the calling function to free the allocated string storage space.
Example:

Please see fem_modify_nodes_offset.


1200 PCL Reference Manual
Modify Action

fem_modify_elems (new_element_id, new_shape, new_element_type,


current_node_select, new_node_select,
element_select, modify_options,
elements_modified)

Description:
This function will modify the specified element attributes.
Input:
STRING new_element_id[] This value specifies a selection of new element identifiers
to be assigned to the modifies elements.
STRING new_shape[] This value specifies a new element shape to assign to the
modified elements. See the remarks below for more
information. This value is currently not used.
STRING new_element_type[] This value specifies a new element topology to assign to the
modified elements. See the remarks below for more
information.
STRING current_node_select[] This value is a selection of nodes describing the current
element nodes to be modified.
STRING new_node_select[] This value is a selection of nodes describing the new
element nodes to which the modified elements will be
assigned.
STRING element_select[] This value specifies a selection of elements to be modified.
INTEGER modify_options(10) This value specifies the manner in which the node attributes
will be modifies. Each offset in the array of values can be
set to 1 to cause the attribute to be modified or to 0 so that
the attribute is not modified. See the remarks below for
more information.
Output:
STRING elements_modified[VIRTUAL]
This value returns a description of the modified elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Chapter 4: Finite Element Functions 1201
Modify Action

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Modify”, the object is set to “Element”, and the method is set to “Edit”.
Space is internally allocated for the string returned by the output value elements_modified. It is the
responsibility of the calling function to free the allocated string storage space.
The input value new_shape can be assigned the following values:

Point Bar Tria


Quad Tet Wed
Hex Any

The input value new_element_type can be assigned the following values:

Point Quad9 Hex21


Bar2 Quad12 Hex26
Bar3 Quad16 Hex27
Bar4 Tet4 Hex32
Tria3 Tet5 Hex64
Tria4 Tet10 Wedge6
Tria6 Tet11 Wedge7
Tria7 Tet14 Wedge15
Tria9 Tet15 Wedge16
Tria13 Tet16 Wedge20
Quad4 Hex8 Wedge21
Quad5 Hex9 Wedge24
Quad8 Hex20 Wedge52

The input value modify_options uses the offsets of the array in the following manner:
1202 PCL Reference Manual
Modify Action

Offset Description

1 Modify the id values of the elements.


2 Modify the topology of the elements.
3 Modify the association of the elements. This option is currently not
implemented.
4 Modify the connectivity of the elements.
5 Not used.
6 Not used.
7 Not used.
8 Not used.
9 Not used.
10 Not used.

Example:

Please see fem_modify_elems.


Chapter 4: Finite Element Functions 1203
Modify Action

fem_modify_mpc_nodal (mpc_id, constant, num_terms, dependency_flag,


coefficient, node_select, degrees_of_freedom)

Description:
This function will modify a multi-point constraint which is associated to the specified nodes.
Input:
INTEGER mpc_id This value specifies the id for the multi-point constraint to
be modified.
REAL constant This value specifies the constant term for the multi-point
constraint.
INTEGER num_terms This value specifies the number of terms defined for the
multi-point constraint.
LOGICAL dependency_flag(num_terms)
This value specifies the dependency state for each term of
the multi-point constraint. The term will be dependent if
the value in dependency_flag is set to TRUE and will be
independent if the array value is set to FALSE.
REAL coefficient(num_terms)
This value specifies the coefficient used with each term.
STRING node_select[](num_terms)
This value specifies a selection of nodes associated with
each term.
STRING degrees_of_freedom[](num_terms)
This value specifies the degrees of freedom for each term.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Modify”, and the object is set to “MPC”.
Example:

Please see fem_modify_mpc_nodal.


1204 PCL Reference Manual
Modify Action

fem_modify_mpc_nodal2 (mpc_id, constant, num_terms, dependency_flag,


coefficient, node_select, degrees_of_freedom)

Description:
This function will modify a multi-point constraint which is associated to the specified nodes.
Input:
INTEGER mpc_id This value specifies the id for the multi-point constraint to be
modified.
REAL constant This value specifies the constant term for the multi-point
constraint.
INTEGER num_terms This value specifies the number of terms defined for the multi-
point constraint.
LOGICAL dependency_flag(num_terms)
This value specifies the dependency state for each term of the
multi-point constraint. The term will be dependent if the value
in dependency_flag is set to TRUE and will be independent if
the array value is set to FALSE.
STRING coefficient(num_terms)
This value specifies the coefficient used with each term.
STRING node_select[](num_terms)
This value specifies a selection of nodes associated with each
term.
STRING degrees_of_freedom[](num_terms)
This value specifies the degrees of freedom for each term.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Modify,” and the object is set to “MPC.”
Example:

None
Chapter 4: Finite Element Functions 1205
Modify Action

fem_mod_bar_split (element_select, num_nodes_created,


num_elems_created, num_nodes_deleted,
num_elems_deleted, nodes_created, elements_created,
nodes_deleted, elements_deleted)

Description:
This function will split a set of bars in two.
Input:
STRING element_select[] This value specifies a selection of bars to be split.
Output:
INTEGER num_nodes_created This value returns the number of nodes created.
INTEGER num_elems_created This value returns the number of elements created.
INTEGER num_nodes_deleted This value returns the number of nodes deleted.
INTEGER num_elems_deleted This value returns the number of elements deleted.
STRING nodes_created[VIRTUAL]
This value returns a description of the created nodes.
STRING elements_created[VIRTUAL]
This value returns a description of the created elements.
STRING nodes_deleted[VIRTUAL]
This value returns a description of the deleted nodes.
STRING elements_deleted[VIRTUAL]
This value returns a description of the deleted elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Modify”, the object is set to “Bar”, and the method is set to “Split”.
Space is internally allocated for the string returned by the output values nodes_created, elements_created,
nodes_deleted, and elements_deleted. It is the responsibility of the calling function to free the allocated
string storage space.
Example:
1206 PCL Reference Manual
Modify Action

Please see fem_mod_bar_split.


Chapter 4: Finite Element Functions 1207
Modify Action

fem_mod_tria_split (pattern, auto_manual, element_select, orientation_node,


num_nodes_created, num_elems_created,
num_nodes_deleted, num_elems_deleted, nodes_created,
elements_created, nodes_deleted, elements_deleted)

Description
:
This function will split triangular elements in a specified pattern using a selection of elements and
nodes as input.
Input:
STRING pattern[] This value specifies the pattern into which the triangular
elements will be split. See the remarks below for more
information.
STRING auto_manual[] This value specifies, when set to “Manual”, that the number of
entities in the input value element_select be counted to
determine how many orientation edges will be needed. This
value can accept two values “Auto” or “Manual” and the
“Manual” setting is active only when the input value pattern is
set to either “2_tria” or “Mixed”.
STRING element_select[] This value specifies a selection of triangular elements to be
split.
STRING orientation_node[] This value specifies a selection of nodes that are used to specify
the orientation of the nodes in the elements to be split.
Output:
INTEGER num_nodes_created This value returns the number of nodes created.
INTEGER num_elems_created This value returns the number of elements created.
INTEGER num_nodes_deleted This value returns the number of nodes deleted.
INTEGER num_elems_deleted This value returns the number of elements deleted.
STRING nodes_created[VIRTUAL]
This value returns a description of the created nodes.
STRING elements_created[VIRTUAL]
This value returns a description of the created elements.
STRING nodes_deleted[VIRTUAL]
This value returns a description of the deleted nodes.
STRING elements_deleted[VIRTUAL]
This value returns a description of the deleted elements
1208 PCL Reference Manual
Modify Action

INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Modify”, the object is set to “Tria”, and the method is set to “Split”.
Space is internally allocated for the string returned by the output values nodes_created, elements_created,
nodes_deleted, and elements_deleted” It is the responsibility of the calling function to free the allocated
string storage space.
The input value pattern can have the following values:

2_tria Mixed
3_tria 3_quad
4_tria

Example:

Please see fem_mod_tria_split.


Chapter 4: Finite Element Functions 1209
Modify Action

fem_mod_quad_split (pattern, auto_manual, element_select, orientation_node,


orientation_element, num_nodes_created,
num_elems_created, num_nodes_deleted,
num_elems_deleted, nodes_created, elements_created,
nodes_deleted, elements_deleted)

Description:
This function will split quadrilateral elements in a specified pattern using a selection of elements and
nodes as input.
Input:
STRING pattern[] This value specifies the pattern into which the quadrilateral
elements will be split. See the remarks below for more
information.
STRING auto_manual[] This value specifies, when set to “Manual”, that the number
of entities in the input values orientation_node and
orientation_element be counted. The number of entities in
the input value orientation_node will be counted when the
input value pattern is set “2_tria” or “3_quad”. The number
of entities in the input value orientation_element will be
counted when the input value pattern is set to “2_quad” pr
“3_tria”. This value can accept two values, “Auto” or
“Manual”.
STRING element_select[] This value specifies a selection of quadrilateral elements to
be split.
STRING orientation_node[] This value specifies a selection of nodes that are used to
specify the orientation of the nodes in the elements to be
split.
STRING orientation_element[] This value specifies a selection of element edges that are
used to specify the orientation of the elements to be split.
Output:
INTEGER num_nodes_created This value returns the number of nodes created.
INTEGER num_elems_created This value returns the number of elements created.
INTEGER num_nodes_deleted This value returns the number of nodes deleted.
INTEGER num_elems_deleted This value returns the number of elements deleted.
STRING nodes_created[VIRTUAL]
This value returns a description of the created nodes.
STRING elements_created[VIRTUAL]
This value returns a description of the created elements.
1210 PCL Reference Manual
Modify Action

STRING nodes_deleted[VIRTUAL]
This value returns a description of the deleted nodes.
STRING elements_deleted[VIRTUAL]
This value returns a description of the deleted elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.

Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Modify”, the object is set to “Quad”, and the test is set to “Split”.
Space is internally allocated for the string returned by the output values nodes_created, elements_created,
nodes_deleted, and elements_deleted. It is the responsibility of the calling function to free the allocated
string storage space.
The input value pattern can have the following values:

2_quad 2_tria
3_quad 3_tria
4_quad 4_tria

Example:

Please see fem_mod_quad_split.


Chapter 4: Finite Element Functions 1211
Modify Action

improve_mesh_2 (input_data_qtt, ac_input_data, mesh_is_acceptable,


worst_tet_iter_info, elem_qual_val_min_old,
elem_qual_val_min_new, elem_improved_qtt,
reason_why_not)

Description:
This function allows users to improve a Tet mesh for Jacobian values.
Input:
INTEGER input_data_qtt This value specifies the quantity of input data strings in
ac_input_data.
STRING[]() ac_input_data This value specifies the input data items. The format for
each data item is : IDENTIFIER=VALUE. For more
information on each of these items, see the description
below where the string is found and its value passed to a
distinct variable.
Output:
LOGICAL mesh_is_acceptable This value will be set to TRUE if the mesh is acceptable;
FALSE if otherwise.
INTEGER worst_tet_iter_info This value returns the information on the number of
iterations performed. Possible values :

Positive (Good) : The quantity of iterations performed


before running out of elements which could be fixed.

Negative (Bad) : The quantity of iterations performed


before an interruption occurred. One may re-submit this
function in the later case.
REAL elem_qual_val_min_ol Old (before mesh improvements) minimum normalized
d global element quality found in the mesh.
REAL elem_qual_val_min_n New (after mesh improvements) minimum normalized
ew global element quality found in the mesh.
INTEGER elem_improved_qtt This value returns the quantity of elements which were not
acceptable, and which were improved. Note that this may
include new elements which were not in the original mesh,
as multiple passes are performed on the mesh.
STRING reason_why_not This value indicates the reason why a mesh improvement
[VIRTUAL] could not be attempted: Null string: A mesh enhancement
was attempted. String length greater than 0: Reason why a
mesh enhancement could not be attempted.
INTEGER <Return Value> This function returns a value of 0 if no error occurred.
1212 PCL Reference Manual
Modify Action

Remarks:

ac_input_data input examples:


Chapter 4: Finite Element Functions 1213
Modify Action

Identifier Typical Value, Description.


HardNode_LpStr "Node 1:5". List processor string for hard nodes ( not to be
modified )
SolidAndElem_LpStr "Solid 1 Elm 1:#". List processor string for the elements
to be considered for a potential improvement. Not only the
elements to be improved, but surrounding elements must be
supplied as this function will need to modify them. This list
of elements may partially fill a geometric entity, or span
across geometric boundaries.
Elements do not all have to be associated to geometry.

When geometric entities are supplied, the associated


elements will be considered in addition of those explicitly
supplied.
Dump_FN_FEM_Original "". File name to dump the p3->Aries original mesh to.
Empty string if dump not desired.
Dump_FN_FEM_Final "". File name to dump the p3->Aries final mesh to. Empty
string if dump not desired.
CR_Tet_NASTRAN_Verify "TRUE". TRUE if we wish to consider the "NASTRAN
Tet Collapse Ratio" criterion as a possible critical quality
criterion. FALSE otherwise.
CR_Tet_NASTRAN_ValAccept "0.01". For the "NASTRAN Tet Collapse Ratio" criterion.
Value which is acceptable. Worse is not acceptable.
CR_Tet_NASTRAN_Weight "1.0". For the "NASTRAN Tet Collapse Ratio" criterion.
The value supplied will dictate the weight of this
criterionwith respect to the others.
CR_Tet_NASTRAN_PowerExp "1.0". For the "NASTRAN Tet Collapse Ratio" criterion.
This value is the power exponent to be applied to the
normalized calculated value for this criterion. Typical
values :

1.0 : Linear variation of the normalized value (-1.0 is the


worst normalized value, 0.0 is the acceptance, 1.0 is the
best possible normalized value) with the (still) normalized
value considered for a weighted ponderation.

Above 1.0 : Increases the effect of being far from 0.0.

Under 1.0 : Decreases the effect of being far from 0.0.


DihedralMax_Tet_Verify "FALSE". TRUE if we wish to consider the "Tet
Maximum Dihedral Angle" criterion as a possible critical
quality criterion. FALSE otherwise.
1214 PCL Reference Manual
Modify Action

DihedralMax_Tet_ValAccept "0.0". For the "Tet Maximum Dihedral Angle" criterion.


Value which is acceptable. Worse is not acceptable.
DihedralMax_Tet_Weight "1.0". For the "Tet Maximum Dihedral Angle" criterion.
The value supplied will dictate the weight of this
criterionwith respect to the others.
DihedralMax_Tet_PowerExp "1.0". For the "Tet Maximum Dihedral Angle" criterion.
See CR_Tet_NASTRAN_PowerExp.
JacobianMinScaled_Verify "TRUE". TRUE if we wish to consider the "Minimum
Element Scaled Jacobian" criterion as a possible critical
quality criterion. FALSE otherwise.
JacobianMinScaled_ValAccept "1.0E-6". For the "Minimum Element Scaled Jacobian"
criterion. Value which is acceptable. Worse is not
acceptable.
JacobianMinScaled_Weight "1.0". For the "Minimum Element Scaled Jacobian"
criterion. The value supplied will dictate the weight of this
criterionwith respect to the others.
JacobianMinScaled_PowerExp "1.0". For the "Minimum Element Scaled Jacobian"
criterion. See CR_Tet_NASTRAN_PowerExp.
Chapter 4: Finite Element Functions 1215
Modify Action

JacobianMinScaled_ElemOrder "-1". Element shape function polynomial order.

1 : Linear

2 : Quadratic

3 : Cubic

4 : Quartic

5 : Quintic

Here is the list of supported polynomial orders for each


element shape :

Point : Any (only 1 gauss point will be considered).

Bar : 1 through 19

Tri : 1 through 5

Quad : 1 through 19

Tet : 1 through 3

Wedge : 1 through 5

Hex : 1 through 19

0..N : Order will be used as specified.

-1 (or any value less than 0 ): The elem_order will be set to


:

0 : For Point1.

1 : For Bar2, Tri3, Quad4, Tet4, Wedge6, Hex8.

2 : For Bar3, Tri6, Quad8, Tet10, Wedge15, Hex20.

3 : For Bar4, Tri9, Quad12, Tet16, Wedge24, Hex32.

Thus providing an accuracy sufficient for the element


topology.
1216 PCL Reference Manual
Modify Action

JacobianMinScaled_Para1dGpQt "1". Criterion for determining the quantity of Gauss-


tCrit Legendre quadrature integration points along a 1D
parametric direction.

0 : This function will establish a sufficient number of


Gauss-Legendre quadrature integration points such that the
accuracy (or error) of the quadrature will be for a
polynomial one degree higher than the element order (p) :

p : element polynomial shape function order.

O(h^q) : Order of the error of the quadrature (subsequent


integration).

Thus, to have a precision of the order O(h^p) the error order


O(h^q) must be :

q >= p+1

1 : Select the number of points based on a simple common


usage rule :

*p_gauss_point_qtt = elem_order + 1 ;

This criterion will have no influence on directions parallel


to a triangular face of a Tri/Tet/Wedge element.
JacobianMinScaled_ConsGpNode "2". In order to establish the minimum/maximum element
All scaled Jacobian, consider :

0 : Only the Gauss-Legendre quadrature integration points.

1 : Only the nodal positions.

2 : Both the Gauss-Legendre quadrature integration points


and nodal positions.
Chapter 4: Finite Element Functions 1217
Modify Action

ElemQual_CalcMode "0". This relates to the mode of combination of the


individual criterions to form an element global criterion
value.

0 : Worst applicable specific criterion normalized value.


Use specific criterion ponderation parameters :

CR_Tet_NASTRAN_Weight

CR_Tet_NASTRAN_PowerExp

DihedralMax_Tet_Weight

DihedralMax_Tet_PowerExp

JacobianMin_Weight

JacobianMin_PowerExp

for establishing the worst criterion normalized value. But


when establishing the global element quality normalized
value only the *_PowerExp (not the *_Weight ) is used to
keep the range of normalized value to be within -1..1.

1 : Ponderated value of all applicable criterions. Use


specific criterion ponderation parameters :

CR_Tet_NASTRAN_Weight

CR_Tet_NASTRAN_PowerExp

DihedralMax_Tet_Weight

DihedralMax_Tet_PowerExp

JacobianMin_Weight

JacobianMin_PowerExp

for establishing the worst criterion normalized value as a


ponderation of all applicable criterions.
ElemQual_Point_MultFactor "1.0". For Point elements. The value supplied is a
multiplication factor of an element's overall normalized
quality value according to its topology. Values supplied
should be : 0 < X <= 1.0 .
1218 PCL Reference Manual
Modify Action

ElemQual_Point_PowerExp "1.0". For Point elements. This value is the power


exponent to be applied to an element's overall normalized
quality value according to its topology. Typical values :

1.0 : Linear variation of the normalized value (-1.0 is the


worst normalized value, 0.0 is the acceptance, 1.0 is the
best possible normalized value) with the (still) normalized
value considered for a weighted ponderation.

Above 1.0 : Increases the effect of being far from 0.0.

Under 1.0 : Decreases the effect of being far from 0.0.


ElemQual_Bar_MultFactor "1.0". For Bar elements. See
ElemQual_Point_MultFactor.
ElemQual_Bar_PowerExp "1.0". For Bar elements. See
ElemQual_Point_PowerExp.
ElemQual_Tri_MultFactor "1.0". For Tri elements. See
ElemQual_Point_MultFactor
ElemQual_Tri_PowerExp "1.0". For Tri elements. See
ElemQual_Point_PowerExp.
ElemQual_Quad_MultFactor "1.0". For Quad elements. See
ElemQual_Point_MultFactor
ElemQual_Quad_PowerExp "1.0". For Quad elements. See
ElemQual_Point_PowerExp.
ElemQual_Tet_MultFactor "1.0". For Tet elements. See
ElemQual_Point_MultFactor
ElemQual_Tet_PowerExp "1.0". For Tet elements. See
ElemQual_Point_PowerExp.
ElemQual_Wedge_MultFactor "1.0". For Wedge elements. See
ElemQual_Point_MultFactor
ElemQual_Wedge_PowerExp "1.0". For Wedge elements. See
ElemQual_Point_PowerExp.
ElemQual_Hex_MultFactor "1.0". For Hex elements. See
ElemQual_Point_MultFactor
ElemQual_Hex_PowerExp "1.0". For Hex elements. See
ElemQual_Point_PowerExp.
Chapter 4: Finite Element Functions 1219
Modify Action

Mesh_BadElemClusterLayerQtt “-1”. Options:

-1 : Consider the whole mesh, not just clusters.

0 : Reduce the supplied elements list to only the bad ones.

N : Reduce the supplied elements list to only the bad ones


and N layers of element (in supplied list) around them.
Mesh_AssumePerfectMesh "1". Options :

1 : (TRUE) if we assume a perfect Aries mesh integrity :


No loose references...

0 : (FALSE) otherwise, and all loose reference


verifications will be performed at the cost of reducing
performance. Setting assume_perfect_mesh=0 for large
models (10k or more) can multiply the overall time
(establishing mesh data structure + fixing flat Tets) by a
factor of 5.
Mesh_TrackFeEntLife "0". Options :

1 : (TRUE) if we wish to track finite element entity


(node/element) creation and destruction (hence life). 4 files
will be created in the current directory where Patran is
launched : DebugNodeNew.txt DebugNodeDel.txt
DebugElemNew.txt DebugElemDel.txt . Those files will
hold references to node/elements by using their memory
adress and node coordinates (but no id). Note that node
coordinates can change due to projection onto geometric
entities. To compare these files, first sort them. This can
be a valuable tool for finding memory leaks.

0 : (FALSE) otherwise. No files created.


Mesh_ConsiderGeometry "1". Set to 1 (TRUE) if we wish to consider and respect
geometric boundaries. New elements will be associated to
geometry. 0 (FALSE) otherwise, in which case the new
elements will not be associated to geometry.
Mesh_MeshFillsSameDimGeom "0". Set to 1 (TRUE) if the mesh fills one or many
geometries of the same dimensionality. In this case, there
also should be elements in the supplied list without an
associated geometry, and the supplied list of elements must
fill geometries of the same dimensionality (solids in this
case). 0 (FALSE) otherwise.
1220 PCL Reference Manual
Modify Action

Mesh_WorstElemIterMax "-1". This serves to establish the maximum count of iteration for
modifying the mesh for each worst element found:

-2 : No limit on iterations.

-1 : No preset value. This will be automatically established.

0 : Only evaluate the state of the mesh perform no modification.

0<N : Accomplish N iterations for the worst element found. A


status on the mesh will be supplied N+1 times.
Mesh_GeomOriginForNodeProj "1". Origin of associated geometry :

0 : If no projection of nodal coordinates should be


performed. Otherwise (greater than 0) to specify how the
geometry reference was created (p_geom->id) in order to
select the proper projection functions.

1 : Created from Patran geometric entities.

2 : Created by the TE (Topology Engine). This is the case


for meshes created with the Aries (also known as Hybrid
mesher.
Mesh_EdgeDelMeshSpaceCheck "1". This only applies for edges on the mesh boundary
without an associated geometry of lower order than that of
the mesh. Options :

0 : Do not consider mesh space (length/area/volume)


variations.

1 : Prevent mesh space reduction due to an edge deletion.

2 : Prevent mesh space increase due to an edge deletion.

3 : Prevent mesh space reduction/increase due to an edge


deletion.
Mesh_ElemToleranceRatio "0.03". Tolerance ratio value for considering a spatial
match as a fraction of the longest edge of the element.
Mesh_PostMod_LinEdgeInBadJac "0". This is a flag for handling the remaining bad Jacobian
Elem elements at the end of the process (after the last
improvement iteration cycle). Options :

0 : Do not linearize edges of elements which are unfixable,


or elements which are bad after we reached maximum
iterations.

1 : Linearize...
Chapter 4: Finite Element Functions 1221
Modify Action

Mesh_ElemMaxImprvAttempts "-1". Maximum number of attempts allowed for an


element before accepting defeat to improve it.. Options :

-1 : No limit on attempts.

0<N : Maximum number of attempts allowed.


Mesh_ElemMaxGenerationLevel "-1". Maximum number of generations levels (child of...)
allowed for an element after which it will no longer be
considered for improvement. Original elements have a
generation level of 0. Options :

-1 : No limit on the number of generation levels.

0<N : Maximum number of generation levels.


Mesh_AllowLocElemTolRatio "1". Options :

1 : (TRUE) to allow this function to find another value for


Mesh_ElemToleranceRatio for individual element
which can not be fixed with the value supplied. This is
recommended.

0 : (FALSE) otherwise.
Mesh_HistSesInfoLevel "0". This will control the level of information sent to the
history window and session file during the improvement
processl. The levels are :

0 : No information.

1 : For each iteration or major step, provide a 1 line status.

2 : (same as 1) + Give more details, such as the reason why


Tet elements can not be improved.
Mesh_SaveOnlyMaxDimMesh "1". Options :

1 : TRUE if we only want to save to Patran database the


element of the same dimensionality as the highest element
dimensionality in the mesh, and their associated nodes.

0: FALSE otherwise.
1222 PCL Reference Manual
Modify Action

xample:

modify_mesh_seed (curve_list, input_option, num_elem, ratio,


length1, length2)

Description:
This function allows users to modify the mesh seed on a curve from type to another. For example, a
one way bias seeded edge can be converted to tabular. Users can modify seed on only one curve at a
time.
Input:
STRING curve_list[VIRTUAL] This value specifies a list of curves or edges on which mesh
seeds need to be modified.
INTEGER input_option This value specifies the input option. Valid values are: 1 =
uniform mesh seed with num_elem inputs, 3 = one-way-
biased mesh seed with num_elem and ratio inputs, and 5 =
two-way-biased mesh seed with num_elem and ratio inputs.
INTEGER num_elem This value specifies the number of elements for the curve.
REAL ratio This value specifies the ratio between the last element and the
first. (length2/length1)
REAL length1 This value specifies the length of the first element.
REAL length2 This value specifies the length of the last element.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Please see modify_mesh_seed.


Chapter 4: Finite Element Functions 1223
Modify Action

modify_mesh_seed_tabular (curve_list, coord_type, num_nodes,


node_locs, point_list)

Description:
This function will delete elements from the database and the graphics window.
Input:
STRING curve_list[VIRTUAL] This value specifies a list of curves or edges on which mesh
seeds need modified.
STRING coord_type[VIRTUA This value specifies the coordinate type. Valid values are:
L] ``Arc Length’’ and``Parametric’’.
INTEGER num_nodes This value specifies the number of nodes in the table.
(including 0.0 and 1.0)
REAL node_locs(VIRTUAL) This value specifies the node location values. (should be in
[0.0, 1.0])
STRING point_list[VIRTUAL] This value specifies the list of point locations.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Example:

Please see modify_mesh_seed_tabular.


1224 PCL Reference Manual
Modify Action

refine_mesh_1 ( node_lp_str, edge_length_max, consider_geometry,


reason_why_not )

Description:
This function will split all element edges which are longer than a specified value using the specified
node vertices.
Input:
STRING node_lp_str This value specifies a list processor string identifying nodes
used as element edge vertices. This string is used to identify
valid element edges to be considered for splitting.
REAL edge_length_max This value specifies, when positive, the desired maximum
edge length. A negative value will be used to specify a
fraction and can have a value between 0.0 and 0.1. The
absolute value of the negative input will be used to take the
fraction of the longest element edge using node vertices
amongst the supplied nodes.
INTEGER consider_geometry This value when set to one will specify the consideration of
geometry. New nodes will be projected and associated with
the appropriate geometry. New elements will be associated
to geometry. When this value is set to zero, geometry will be
ignored.
Output:
REAL edge_length_max This value will return the maximum edge length used to split
element edges.
STRING reason_why_not[VIRTUAL]
This value will return an empty string if the function
completes normally. Otherwise if the function fails this
string will specify the reason the operation could not be
completed.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This function may return a nonzero value if an error occurs.

Remarks:

This function is applicable to Linear/Quadratic/Cubic Bar/Tri/Tet meshes. The supported element


topologies are : Bar2, Bar3, Bar4, Tri3, Tri6, Tri9, Tet4, Tet10, Tet16. Bar/Tri/Tet elements will be
Chapter 4: Finite Element Functions 1225
Modify Action

simultaneously modified when they share edges or faces. This process is iterative, and each step re-
establishes the "next" longest edge to be split, considering the edge splits in the previous steps.

split_2n_edge_for_all_elm (node_a_id, node_b_id, param_pos,


consider_geometry, reason_why_not)

Description:
This function will split an element edge for all Tet/Tri/Bar elements using it.
Input:
INTEGER node_a_id
This value specifies the Patran first edge vertex node id.
INTEGER node_b_id
This value specifies the Patran second edge vertex node
id.
REAL param_pos This value specifies the parametric position for split.
Values range from 0.0 (1st node) to 1.0 (2nd node).
INTEGER consider_geometry This value specifies the options : 1 (TRUE) if you wish
to consider geometry; 0 (FALSE) otherwise.
STRING reason_why_not This value specifies the virtual string containing : "" for
[VIRTUAL] this string if the edge was split. Otherwise (string
length greater than 0), this string holds the reason why
it could not be split.
Output:
INTEGER <Return Value> This function returns a value of 0 if no error occurred.
1226 PCL Reference Manual
Modify Action

split_3n_face_for_all_elm (node_a_id, node_b_id, node_c_id, a_area_coors,


consider_geometry, reason_why_not)

Description:
This function will split an element triangular face for all Tet/Tri elements using it.
Input:
INTEGER node_a_id
This value specifies the Patran first triangular face vertex
node id.
INTEGER node_b_id
This value specifies the Patran second triangular face
vertex node id.
INTEGER node_c_id
This value specifies the Patran third triangular face
vertex node id.
REAL a_area_coors This value specifies the area coordinate parametric
position. Values range from 0.0 to 1.0. The sum of the 3
is equal to 1. The coordinates are normally called
L1/L2/L3, where each value is equal to the smaller
triangle area formed by the mid point and the triangle
edge opposite of the corner, divided by the area of the
whole triangle.
INTEGER consider_geometry This value specifies the options : 1 (TRUE) if we wish to
consider geometry; 0 (FALSE) otherwise.
STRING reason_why_not This value specifies the virtual string containing : "" for
[VIRTUAL] this string if the edge was split. Otherwise (string length
greater than 0) this string holds the reason why we could
not split it.
Output:
INTEGER <Return Value> This function returns a value of 0 if no error occurred.

str_from_real_signif_digit (value_real, significant_digit_qtt,


digits_before_decimal_qtt_max,
leading_0_after_decimal_qtt_max,
accept_non_0_int_simplification,
c_value_real)

Description:
This function will split an element edge for all Tet/Tri/Bar elements using it.
Chapter 4: Finite Element Functions 1227
Modify Action

Input:
REAL value_real This value specifies the numerical value.
INTEGER significant_digit_qtt This value specifies the quantity of significant digits
(must be equal or greater to 1). 4 is typical.
INTEGER digits_before_decimal_qtt_max
This value specifies the maximum number of digits
before the decimal point. 5 is typical.
INTEGER leading_0_after_decimal_qtt_max
This value specifies the maximum number of "0" after
the decimal point before the 1st significant digit. 3 is
typical
INTEGER accept_non_0_int_simplification
This value specifies the options (0 is typical) :

1 (TRUE) Case where we wish to consider an integer


notation for non-zero values that could be expressed in
a floating point notation. This simplification will only
occur if the value is exactly equal to its rounded integer
value. Note : Be aware that this kind of output may
easily vary according to the precision of the numerical
value.

0 (FALSE) otherwise. This is recommended for the


stability of the output string values.
Output:
STRING [64 ] c_value_real This value returns the string of characters representing
the numerical value.
INTEGER <Return Value> This function returns a value of 0 if no error occurred.
1228 PCL Reference Manual
Delete Action

Delete Action
This section is used to describe some of the function used to delete elements, nodes, and meshes from a
finite element model.

fem_delete_elem_and_node (element_select, deleted_elements)

Description:
This function will delete elements and their associated nodes from the database and the graphics
window.
Input:
STRING element_select[] This value specifies a selection of nodes and
elements to be deleted.
Output:
STRING deleted_elements[VIRTUAL]
This value returns a description of the deleted
nodes and elements.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Delete” and the object is set to “Any” or “Element”.
This function will delete an element and any associated nodes for each element listed in the input value
element_select, provided that the element is not essential for any other entity. The element will be deleted
if it meets that criteria and its associated nodes will be deleted provided that they too are not essential to
any other entity. The association of the element with loads, boundary conditions, material properties,
element properties and groups will be broken but these entities will not be deleted. Each element deleted
will be removed from the graphics window.
Space is internally allocated for the string returned by the output value deleted_elements. It is the
responsibility of the calling function to free the allocated string storage space.
Example:

Please see fem_delete_elem_and_node.


Chapter 4: Finite Element Functions 1229
Delete Action

fem_delete_element (element_select, deleted_elements)

Description:
This function will delete elements from the database and the graphics window.
Input:
STRING element_select[] This value specifies a selection of elements to be deleted.
Output:
STRING deleted_elements[VIRTUAL]
This value returns a description of the deleted elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Delete” and the object is set to “Any” or “Element”.
This function will delete each element listed in the input value element_select, provided that the element
is not essential for any other entity. Any nodes formerly associated with the deleted elements will not be
deleted. The association of the element with loads, boundary conditions, material properties, element
properties and groups will be broken but these entities will not be deleted. Each element deleted will be
removed from the graphics window.
Space is internally allocated for the string returned by the output value deleted_elements. It is the
responsibility of the calling function to free the allocated string storage space.
Example:

Please see fem_delete_element.


1230 PCL Reference Manual
Delete Action

fem_delete_free_node (node_select, deleted_nodes, not_found_nodes

Description:
Deletes a set of nodes from the database and the graphics window.
Input:
STRING node_select[] This value specifies a selection of nodes to be deleted.
Output:
STRING deleted_nodes[VIRTUAL]
This value returns a description of the deleted nodes.
STRING not_found_nodes[VIRTUAL]
This value returns a description of any nodes that were
listed in the input value node_select but not found in
the database.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Delete” and the object is set to “Node”.
This function will delete each node listed in the input value node_select, provided that the node is free
and not essential for any other entity. The association of the node with loads, boundary conditions,
material properties and groups will be broken but these entities will not be deleted. Each deleted node is
removed from the graphics window.
Space is internally allocated for the string returned by the output values deleted_nodes and
not_found_nodes. It is the responsibility of the calling function to free the allocated string storage space.
Example:

Please see fem_delete_free_node.


Chapter 4: Finite Element Functions 1231
Delete Action

fem_delete_mesh_from_curve (curve_select, deleted_mesh,


not_found_mesh)

Description:
This function will delete a mesh from a set of curves. The curves may be edges of surfaces or solids.
Input:
STRING curve_select[] This value specifies a selection of curves from which the
mesh is to be deleted.
Output:
STRING deleted_mesh[VIRTUAL]
This value returns a description of the curves from which
the mesh was deleted.
STRING not_found_mesh[VIRTUAL]
This value returns a description of the curves from which
there was no mesh that could be deleted.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Delete”, the object is set to “Mesh” and the type is set to “Curve”.
This function will delete the elements and nodes that comprise the mesh for each curve listed in the input
value curve_select, provided that the elements and nodes are not essential for any other entity. The
association of the elements and nodes with loads, boundary conditions, material properties and groups
will be broken but these entities will not be deleted. Each deleted element and node is removed from the
graphics window.
Space is internally allocated for the string returned by the output values deleted_mesh and
not_found_mesh. It is the responsibility of the calling function to free the allocated string storage space.
Example:

Please see fem_delete_mesh_from_curve.


1232 PCL Reference Manual
Delete Action

fem_delete_mesh_from_surface (surface_select, deleted_mesh,


not_found_mesh)

Description:
This function will delete a mesh from a set of surfaces.
Input:
STRING surface_select[] This value specifies a selection of surfaces from which
the mesh is to be deleted.
Output:
STRING deleted_mesh[VIRTUAL]
This value returns a description of the surfaces from
which the mesh was deleted.
STRING not_found_mesh[VIRTUAL]
This value returns a description of the surfaces from
which there was no mesh that could be deleted.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Delete”, the object is set to “Mesh” and the type is set to “Surface”.
This function will delete the elements and nodes that comprise the mesh for each surface listed in the
input value surface_select, provided that the elements and nodes are not essential for any other entity.
The association of the elements and nodes with loads, boundary conditions, material properties and
groups will be broken but these entities will not be deleted. Each deleted element and node is removed
from the graphics window.
Space is internally allocated for the string returned by the output values deleted_mesh and
not_found_mesh. It is the responsibility of the calling function to free the allocated string storage space.
Example:

Please see fem_delete_mesh_from_surface.


Chapter 4: Finite Element Functions 1233
Delete Action

fem_delete_mesh_from_solid (solid_select, deleted_mesh,


not_found_mesh)

Description:
This function will delete a mesh from a set of solids.
Input:
STRING solid_select[] This value specifies a selection of solids from which the
mesh is to be deleted.
Output:
STRING deleted_mesh[VIRTUAL]
This value returns a description of the solids from which
the mesh was deleted.
STRING not_found_mesh[VIRTUAL]
This value returns a description of the solids from which
there was no mesh that could be deleted.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function is used in the implementation of the “Finite Elements” switch bar form that is displayed
when the action is set to “Delete”, the object is set to “Mesh” and the type is set to “Solid”.
This function will delete the elements and nodes that comprise the mesh for each solid listed in the input
value solid_select, provided that the elements and nodes are not essential for any other entity. The
association of the elements and nodes with loads, boundary conditions, material properties and groups
will be broken but these entities will not be deleted. Each deleted element and node is removed from the
graphics window.
Space is internally allocated for the string returned by the output values deleted_mesh and
not_found_mesh. It is the responsibility of the calling function to free the allocated string storage space.
Example:

Please see fem_delete_mesh_from_solid.


1234 PCL Reference Manual
Utilities

Utilities
This section is used to describe a variety of finite element model utility functions
.

fem_geom_match_closest (source_select, target_select,


entity_count, match, distance, length)

Description
:
This function will compare two lists of entities, returning the entities from the second list that have the
smallest geometric distances to entities in the first list.
Input:
STRING source_select[] This value specifies a selection of geometric and finite element
entities. Each entity in this list will be compared against all of the
entities in the input value target_select.
STRING target_select[] This value specifies a selection of geometric and finite element
entities. All of the entities in this list will be compared against
each entity listed in the input value source_select.
Output:
INTEGER entity_count This value will return the number of entities in the returned
values match and distance.
STRING match[VIRTUAL] This value will return a description of the matched entities from
the input value target_select.
REAL distance(VIRTUAL) This value will return the centroid to centroid distance of each
entity listed in the output value match to each entity listed in the
input value source_select.
INTEGER length This value returns the length of the output value match.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
None.

Remarks:

This function computes all distances based on the centroid of the entities in the input lists. Assumptions
are made for geometric entities that will cause the distance calculations for degenerate shapes to be
inaccurate.
This function can make use of finite element model sub-entities but only 2D element edges and 3D
element sub-entities will be accepted.
This function will not return accurate results if cubic elements are used as input.
Chapter 4: Finite Element Functions 1235
Utilities

Space is internally allocated for the string returned by the output values match and distance. It is the
responsibility of the calling function to free the allocated string storage space.
Example:

Please see fem_geom_match_closest.

fem_geom_edge_length (element_select, lengths, entity_count)

Description:
This function determines the length of finite element model bar elements and 2D geometric element
edges.
Input:
STRING element_select[] This value specifies a selection of finite element
model bar elements and 2D geometric element edges.
Output:
REAL lengths(VIRTUAL) This value returns the length of each entity in the
input value element_select.
INTEGER entity_count This value returns the number of entities in the input
value element_select and the number of offsets in the
output value lengths.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
None.

Remarks:

This function will not return accurate results if cubic elements are used as input.
Space is internally allocated for the string returned by the output value lengths. It is the responsibility of
the calling function to free the allocated string storage space.
Example:
Please see fem_geom_edge_length.
1236 PCL Reference Manual
Utilities

fem_geom_edge_length2 (edge_count, element_id, element_face_id,


element_face_edge_id, segment_count,
edge_length)

Description:
This function finds the length of the edge of elements.
Input:
INTEGER edge_count This value specifies the number of edges in the
element_id array.
INTEGER element_id(edge_count) This array specifies the element ids.
INTEGER element_face_id(edge_co This array specifies the element face ids. This value can
unt) be 0, or 1 to 6. Values between 1 and 6 are used to
identify the element’s face number. When this value is
equal to 0 the input value element_face_edge_id will
designate the unique edge number.
INTEGER element_face_edge_id(edge_count)
This array specifies the element face edge id. If the input
value element_face_id is greater than 0, this value will
designate the face’s edge number for the element face
with a value ranging from 1 to 4. If the input value
element_face_id is equal to 0, this value will designate
the unique edge number of the element with a value that
ranging from 1 to 12.
INTEGER segment_count This value specifies the number of segments by which
an element edge length will be divided. If this value is
0, it will be assumed that the edge of the element will be
comprised of a single segment formed by a straight line
between the nodes making up the corners of the edge of
the element.
Output:
REAL edge_length(VIRTUAL) This array returns the lengths of the element edges. The
number of offsets in the array will be set by the input
value edge_count.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an error.
Error Conditions:
-1 This is an internal error status condition. There is no corresponding status message
in the message database.
Chapter 4: Finite Element Functions 1237
Utilities

Remarks:

Memory is allocated for the output variable within this function. If memory was allocated prior to the
call, it is released prior to re-allocation. Therefore, if this function is used within a loop, there is no need
to release the memory of the output variable.
Example:

Please see fem_geom_edge_length2.

fem_geom_face_area (element_select, areas, entity_count)

Description:
This function determines the face area of finite element model shell elements and 3D geometric element
edges.
Input:
STRING element_select[] This value specifies a selection of finite element model shell
elements and 3D geometric element edges.
Output:
REAL areas(VIRTUAL) This value returns the face area of each entity in the input value
element_select.
INTEGER entity_count This value returns the number of entities in the input value
element_select and the number of offsets in the output value
areas.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
None.

Remarks:

This function will not return accurate results if cubic elements are used as input.
Space is internally allocated for the string returned by the output value areas. It is the responsibility of
the calling function to free the allocated string storage space.
Example:

Please see fem_geom_face_area.


1238 PCL Reference Manual
Utilities

fem_geom_elem_volume (element_select, volumes, entity_count)

Description:
This function determines the volume of finite element model and 3D geometric elements.
Input:
STRING element_select[] This value specifies a selection of finite element model
and 3D geometric elements.
Output:
REAL volumes(VIRTUAL) This value returns the volume of each entity in the input
value element_select.
INTEGER entity_count This value returns the number of entities in the input
value element_select and the number of offsets in the
output value volumes.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
None.

Remarks:

This function will not return accurate results if cubic elements are used as input.
Space is internally allocated for the string returned by the output value volumes. It is the responsibility
of the calling function to free the allocated string storage space.
Example:
Please see fem_geom_elem_volume.
Chapter 4: Finite Element Functions 1239
Utilities

fem_geom_elem_location (element_select, locations, entity_count)

Description:
This function will find the location of the centroid of finite element model and geometric elements,
element faces, and element edges. Note that the “centroid” locations does not correspond to the center
of gravity for the supplied finite element entities, but instead, to their parametric centers which are then
mapped into real space.
Input:
STRING element_select[] This value specifies a selection of finite element model
elements, element faces, and element edges.
Output:
REAL locations(VIRTUAL) This value returns a two dimensional array specifying the
centroidal locations of each entity in the input value
element_select. See the remarks below for more information.
INTEGER entity_count This value returns the number of entities in the input value
element_select and the number of offsets in the first dimension
of the two dimensional output value locations.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
None.

Remarks:

This function will not accept 3D element edges.


This function will not return accurate results if cubic elements are used as input.
The output value locations will returns a two dimensional array where the first dimension is the number
of entities in the input value element_select and the second dimension is three. Each offset can be
interpreted in the following manner:
1240 PCL Reference Manual
Utilities

Variable Notation Description

location(1,1) This is the X axis location of the centroid for the first element listed
in the input value element_select.
location(1,2) This is the Y axis location of the centroid for the first element listed
in the input value element_select.
location(1,3) This is the Z axis location of the centroid for the first element listed
in the input value element_select.
.
.
.
location(entity_count,1) This is the X axis location of the centroid for the last element listed
in the input value element_select.
location(entity_count,2) This is the Y axis location of the centroid for the last element listed
in the input value element_select.
location(entity_count,3) This is the Z axis location of the centroid for the last element listed
in the input value element_select.

Space is internally allocated for the string returned by the output value locations. It is the responsibility
of the calling function to free the allocated string storage space.
Example:

Please see fem_geom_elem_location.


Chapter 4: Finite Element Functions 1241
Utilities

fem_get_mesh_edge_def_data (curve_id, mesh_status, mesh_type,


num_elements, mesh_ratio, num_hard,
node_locations)

Description:
This function returns information about the definition of a mesh and/or a mesh seed on a curve or on an
edge of a surface or solid.
Input:
INTEGER curve_id This value specifies the internal database identifier value for a
curve or an edge of a surface or solid.
Output:
INTEGER mesh_status This value returns information stating whether the curve or
edge has a finite element mesh, a mesh seed, both a mesh and a
mesh seed, or no mesh or mesh seed defined along its length.
See the remarks below for more information.
INTEGER mesh_type This value returns information about how the mesh or mesh
seed on the curve or edge is defined. See the remarks below for
more information.
INTEGER num_elements This value returns the number of finite element model elements
on the curve or edge specified by the input value curve_id and
the number of offsets in the output value node_locations.
REAL mesh_ratio This value returns the mesh ratio for the finite element model
mesh defined on the curve or edged specified by the input value
curve_id.
INTEGER num_hard This value returns the number of points in each node location.
REAL node_locations [VIRTUAL]
This value returns the curve normalized arc length locations of
the nodes along the specified curve or edge. The number of
offsets defined for this array will be returned by the output
value num_elements.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
None.

Remarks:

The output value mesh_status can return the following values:


1242 PCL Reference Manual
Utilities

Value Description

0 No meshes or mesh seeds where found.


1 Mesh seeds only where found.
2 Meshes only where found.
3 Both meshes and mesh seeds where found.

The output value mesh_type can return the following values:

Value Description

1 The finite element mesh is uniform.


2 The finite element mesh has a one way bias.
3 The finite element mesh has a two way bias.
4 The finite element mesh is defined by an arc length table.

Space is internally allocated for the string returned by the output value node_locations. It is the
responsibility of the calling function to free the allocated string storage space.
Example:

Please see fem_get_mesh_edge_def_data.


Chapter 5: Property Assignment Functions
PCL Reference Manual

5 Property Assignment Functions


Introduction 1254

Loads and Boundary Conditions 1256

Element Properties 1275

Experimental Data Fitting 1284

Beam Library 1297

Materials 1317

Load Cases 1340

Fields 1344
1254 PCL Reference Manual
Introduction

Introduction
The purpose of this chapter is to list functions used to define and manipulate loads and boundary
conditions (Load/BC or lbc), element properties, the beam library, material properties, load cases, and
fields. These six function groupings are often referred to as functional assignments. Functional
assignments are necessary to turn a collection of finite elements into a complete finite element model.

Loads and Boundary The loads and boundary conditions application provides the ability to apply
Conditions a variety of static and dynamic load and boundary conditions to finite
element models. Load/BCs may be associated with geometric entities as well
as FEM entities. When associated with geometric entities, they are
transferred to finite elements created on the geometry. Load and boundary
conditions are intended to be created in multiple single purpose groups
referred to as sets. These sets are grouped into load cases in the Load Cases
switch bar form. Fields can be used in the definition of load and boundary
conditions. Load/BCs sets remain in the database unless specifically deleted
and thus provide an archival record.
Element Properties The element properties application provides the ability to: define sets of
analysis code specific element properties, and apply, or associate these sets
with selected finite elements. Element properties are created in named
groups that are referred to as sets. The general use of fields in defining sets
is supported. Element property sets also reference material properties created
in the materials switch bar selection. Element property sets remain in the
database unless specifically deleted. The ability to display individual
properties, both in tabular form or visually on the model, is also provided.
Beam Library
The beam library in Patran supports definition of dimensioned beam cross
sections. A library of standard cross sections is available. Each section is
defined using one or more dimensions. The beam library tool supports the
ability to immediately calculate section properties and display a graphic
image of a scaled section. Constant beam cross sections are supported.
Materials The materials application provides the ability to define a grouping of specific
material properties assigned to geometric or finite element entities. Each
material is intended to provide only the information necessary to define the
material properties used with a specific analysis code, analysis type, and
possibly a specific element type.
Chapter 5: Property Assignment Functions 1255
Introduction

Load Cases The load cases application provides the ability to group multiple Load/BCs
into single load cases for application to the model. Load cases remain in the
database unless deleted.
Fields The fields functions enables the creation and maintenance of a library of
complex data sets in a simple and straight forward manner. Fields are used
to define load and boundary conditions as a function of one, two, or three
variables. These variables define material properties as functions of
temperature, strain, strain rate, time and frequency. Fields are used in the
material, load and boundary conditions, and element properties applications.
Fields can be either scalar or vector in nature.
1256 PCL Reference Manual
Loads and Boundary Conditions

Loads and Boundary Conditions


This section explains the functions that pertain to loads and boundary conditions (Loads/BCs).

loadsbcs_create (lbc_name, lbc_type, lbc_category, target_element,


load_case_type, ap_list, geo_filter, alt_coord_frame,
lbc_scale_factor, static_data, dynamic_field_name)

Description:
This function creates a new Load/BC set in the database.
Input:
STRING lbc_name[31] This value specifies the new Load/BC set name.
STRING lbc_type[66] This value specifies the Load/BC definition type. See the
remarks below for more information.
STRING lbc_category[31] This value specifies the Load/BC category type: “Nodal”,
“Element Uniform”, or “Element Variable”.
STRING target_element[31] This value specifies the target element type: ““, “1D”,
“2D”, or “3D”.
STRING load_case_type[31] This value specifies the load case type and can be set to
either “Static” or “Time Dependent”.
STRING ap_list[]() This value specifies the application region list by entity
types and IDs.
STRING geo_filter[31] This value specifies the geometry filter: “Geometry” or
“FEM”.
STRING alt_coord_frame[200] This value specifies the alternate coordinate frame in
which Load/BCs are defined in.
REAL lbc_scale_factor This value specifies the Load/BC set scale factor.
STRING static_data[100](20) This value specifies static data values which could be real
numbers or field names.
STRING dynamic_field_name[200](20)
This value specifies the dynamic field names.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
3001003 %A% is an invalid Load Case Type. Must be Static or Time Dependent.
13000085 Cursor not open
Chapter 5: Property Assignment Functions 1257
Loads and Boundary Conditions

13000117 The query specified has completed


14000001 LpGetHeapSpace: Allocated heapspace is exhausted
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter
14000014 LpSublistNext: Attempt to proceed past last sublist in current list
14000015 LpSublistNext: End of current list has been reached
14000201 Invalid output string specified for call
26001010 Load/BC Definition %A% does not exist.
26002010 Load/BC Name is blank. Input a Load/BC Name.
26002011 Load/BC Name %A% is too long. Input 31 characters or less.
26002121 %I% is an invalid number of application regions for the specified Load/BC definition.
26002134 The list %A% contains FEM or unknown GEOmetric entities. All the entities in the
application region(s) must be GEOmetric.
26002135 The list %A% contains GEOmetric or unknown FEM entities. All the entities in the
application region(s) must be FEM.
26002136 %A% is an invalid Geometry Filter. Must be Geometry or FEM.
26002200 There was no data input for this Load/BC Set.
26002201 %I% is an invalid number of input data fields for the specified Load/BC definition.
26006001 Database error encountered: %I%. Call PDA Hotline.

Remarks:

The newly created Load/BC set will be displayed on the application region in the graphics window. If the
Load/BC set is applied to geometry then the display will show the geometric entities, unless the “Show
on FEM only” toggle is selected on the“Display”, Load/BC/Elem. Props...” menu bar form. If there are
any associated FEM entities, then the Load/BC set will be evaluated at the FEM entities and displayed
on them.
Load/BC set is added to the current load case.
1258 PCL Reference Manual
Loads and Boundary Conditions

The input value lbc_type can be set to the following values:

“Displacement” “Force”
“Pressure” “Temperature”
“Inertial Load” “Initial Displacement”
“Initial Velocity” “Distributed Load”
“Contact”

Example:

Please see loadsbcs_create.


Chapter 5: Property Assignment Functions 1259
Loads and Boundary Conditions

loadsbcs_create2 (lbc_name, lbc_type, lbc_category,


target_element, load_case_type, ap_list,
geo_filter, alt_coord_frame, str_lbc_scale_factor,
static_data, dynamic_field_name)

Description:
Evaluate the string variable str_lbc_scale_factor if it contains an unevaluated expression. Convert the
scale factor to a real value. Call the loadsbcs_create function to create a new Load/BC set in the
database.
Input:
STRING lbc_name[32] This value specifies the new Load/BC set name.
STRING lbc_type[66] This value specifies the Load/BC definition type. See the
remarks below for more information.
STRING lbc_category[32] This value specifies the Load/BC category type: “Nodal”,
“Element Uniform”, or “Element Variable”.
STRING target_element[32] This value specifies the target element type: ““, “1D”,
“2D”, or “3D”.
STRING load_case_type[32] This value specifies the load case type and can be set to
either “Static” or “Time Dependent”.
STRING ap_list[]() This value specifies the application region list by entity
types and IDs.
STRING geo_filter[32] This value specifies the geometry filter: “Geometry” or
“FEM”.
STRING alt_coord_frame[200] This value specifies the alternate coordinate frame in
which Load/BCs are defined in.
STRING str_lbc_scale_factor [LBC_DATA_LEN]
This value specifies the Load/BC set scale factor
expression as a string.
STRING static_data[100](20) This value specifies static data values which could be real
numbers or field names.
STRING dynamic_field_name[200](20)
This value specifies the dynamic field names.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
3001003 %A% is an invalid Load Case Type. Must be Static or Time Dependent.
1260 PCL Reference Manual
Loads and Boundary Conditions

13000085 Cursor not open


13000117 The query specified has completed
14000001 LpGetHeapSpace: Allocated heapspace is exhausted
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter
14000014 LpSublistNext: Attempt to proceed past last sublist in current list
14000015 LpSublistNext: End of current list has been reached
14000201 Invalid output string specified for call
26001010 Load/BC Definition %A% does not exist.
26002010 Load/BC Name is blank. Input a Load/BC Name.
26002011 Load/BC Name %A% is too long. Input 31 characters or less.
26002121 %I% is an invalid number of application regions for the specified Load/BC definition.
26002134 The list %A% contains FEM or unknown GEOmetric entities. All the entities in the
application region(s) must be GEOmetric.
26002135 The list %A% contains GEOmetric or unknown FEM entities. All the entities in the
application region(s) must be FEM.
26002136 %A% is an invalid Geometry Filter. Must be Geometry or FEM.
26002200 There was no data input for this Load/BC Set.
26002201 %I% is an invalid number of input data fields for the specified Load/BC definition.
26006001 Database error encountered: %I%. Call PDA Hotline.

Remarks:

This is an interface function that evaluates the scale factor string expression argument. The evaluation
creates a real value that is passed on to the loadsbcs_create function. The purpose of this interface is to
support the use of unevaluated expressions.
The newly created Load/BC set will be displayed on the application region in the graphics window. If the
Load/BC set is applied to geometry then the display will show the geometric entities, unless the "Show
on FEM only" toggle is selected on the"Display", Load/BC/Elem. Props..." menu bar form. If there are
Chapter 5: Property Assignment Functions 1261
Loads and Boundary Conditions

any associated FEM entities, then the Load/BC set will be evaluated at the FEM entities and displayed
on them. Load/BC set is added to the current load case.
The input value lbc_type can be set to the following values:

“Displacement” “Force”
“Pressure” “Temperature”
“Inertial Load” “Initial Displacement”
“Initial Velocity” “Distributed Load”
“Contact”

Example:

None.
1262 PCL Reference Manual
Loads and Boundary Conditions

loadsbcs_create3 (lbc_name, lbc_type, lbc_category, target_element,


load_case_type, ap_list, geo_filter, alt_coord_frame,
str_lbc_scale_factor, static_data, disp_vec,
dynamic_field_name)

Description:
Evaluate the string variable str_lbc_scale_factor if it contains an unevaluated expression. Convert the
scale factor to a real value. Place the display vector argument, disp_vec, at the end of the static_data array.
Call the loadsbcs_create function to create a new Load/BC set in the database.
Input:
STRING lbc_name[32] This value specifies the new Load/BC set name.
STRING lbc_type[66] This value specifies the Load/BC definition type. See the
remarks below for more information.
STRING lbc_category[32] This value specifies the Load/BC category type: “Nodal”,
“Element Uniform”, or “Element Variable”.
STRING target_element[32] This value specifies the target element type: ““, “1D”, “2D”,
or “3D”.
STRING load_case_type[32] This value specifies the load case type and can be set to either
“Static” or “Time Dependent”.
STRING ap_list[]() This value specifies the application region list by entity types
and IDs.
STRING geo_filter[32] This value specifies the geometry filter: “Geometry” or
“FEM”.
STRING alt_coord_frame[200] This value specifies the alternate coordinate frame in which
Load/BCs are defined in.
STRING str_lbc_scale_factor [LBC_DATA_LEN]
This value specifies the Load/BC set scale factor as a string.
STRING static_data[100](20) This value specifies static data values which could be real
numbers or field names.
STRING disp_vec[200] Computed display vector from the mscnastran
lbc_nsth_inpt_dirc_flux class.
STRING dynamic_field_name[200](20)
This value specifies the dynamic field names.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Chapter 5: Property Assignment Functions 1263
Loads and Boundary Conditions

Error Conditions:
3001003 %A% is an invalid Load Case Type. Must be Static or Time Dependent.
13000085 Cursor not open
13000117 The query specified has completed
14000001 LpGetHeapSpace: Allocated heapspace is exhausted
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable
14000007 LpSublistType: In the list being used, the current finite element sublist is unclassifiable
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist filter
14000014 LpSublistNext: Attempt to proceed past last sublist in current list
14000015 LpSublistNext: End of current list has been reached
14000201 Invalid output string specified for call
26001010 Load/BC Definition %A% does not exist.
26002010 Load/BC Name is blank. Input a Load/BC Name.
26002011 Load/BC Name %A% is too long. Input 31 characters or less.
26002121 %I% is an invalid number of application regions for the specified Load/BC definition.
26002134 The list %A% contains FEM or unknown GEOmetric entities. All the entities in the
application region(s) must be GEOmetric.
26002135 The list %A% contains GEOmetric or unknown FEM entities. All the entities in the
application region(s) must be FEM.
26002136 %A% is an invalid Geometry Filter. Must be Geometry or FEM.
26002200 There was no data input for this Load/BC Set.
26002201 %I% is an invalid number of input data fields for the specified Load/BC definition.
26006001 Database error encountered: %I%. Call PDA Hotline.

Remarks:

This is an interface function that evaluates the scale factor string expression argument. The evaluation
creates a real value and passes it on to the loadsbcs_create function. The disp_vec argument is placed at
the end of the stat_data array and the evaluated and combined data is passed to the loadsbcs_create()
function. This interface function was required to support the lbc_nsth_inpt_dirc_flux class which creates
a display vector. The purpose of this interface is to support the use of unevaluated expressions.
1264 PCL Reference Manual
Loads and Boundary Conditions

The newly created Load/BC set will be displayed on the application region in the graphics window. If the
Load/BC set is applied to geometry then the display will show the geometric entities, unless the "Show
on FEM only" toggle is selected on the"Display", Load/BC/Elem. Props..." menu bar form. If there are
any associated FEM entities, then the Load/BC set will be evaluated at the FEM entities and displayed
on them. Load/BC set is added to the current load case.
The input value lbc_type can be set to the following values:

“Displacement” “Force”
“Pressure” “Temperature”
“Inertial Load” “Initial Displacement”
“Initial Velocity” “Distributed Load”
“Contact”

loadsbcs_delete (lbc_name)

Description:
This function deletes Load/BC sets from the database.
Input:
STRING lbc_name[31]() This value specifies the Load/BC set names to be deleted.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

The deleted Load/BC sets are removed from the database. Each of the deleted Load/BC sets are removed
from the graphics window.
The deleted Load/BC sets are removed from any load cases to which they were associated.
This function can display a fatal popup message form with the following messages:
Chapter 5: Property Assignment Functions 1265
Loads and Boundary Conditions

13000103 No LBC was found


26003010 There are no Load/BC sets to delete.
26006001 Database error encountered: %I%. Call PDA Hotline.
26006004 Dynamic memory allocation error encountered.

This function can display a warning popup message form with the following messages:

26003040 Load/BC Set %A% does not exist.


26003050 %I% Load/BC Set(s) do not exist.

This function can display an information popup message form with the following message:
Example:

Please see elementprops_delete.


1266 PCL Reference Manual
Loads and Boundary Conditions

loadsbcs_modify (load_case_name, new_name, lbc_type, lbc_category,


target_element, load_case_type, ap_list, geo_filter,
alt_coord_frame, lbc_scale_factor, static_data,
dynamic_field_name)

Description:
This function modifies an existing Load/BC set in the database.
Input:
STRING load_case_name[31] This value specifies an existing Load/BC set name.
STRING new_name[31] This value specifies the new Load/BC set name.
STRING lbc_type[31] This value specifies the Load/BC definition type. See the
remarks below for more information.
STRING lbc_category[31] This value specifies the Load/BC category type: “Nodal”,
“Element Uniform”, or “Element Variable”.
STRING target_element[31] This value specifies the target element type: ““, “1D”, “2D”,
or “3D”.
STRING load_case_type[31] This value specifies the load case type and can be set to either
“Static” or “Time Dependent”.
STRING ap_list[]() This value specifies the application region list by entity types
and IDs.
STRING geo_filter[31] This value specifies the geometry filter: “Geometry” or
“FEM”.
STRING alt_coord_frame[200 This value specifies the alternate coordinate frame in which
] Load/BCs are defined in.
REAL lbc_scale_factor This value specifies the Load/BC set scale factor.
STRING static_data[100](10) This value specifies static data values which could be real
numbers or field names.
STRING dynamic_field_name[200](10)
This value specifies the dynamic field names.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
3001003 %A% is an invalid Load Case Type. Must be Static or Time Dependent.
13000085 Cursor not open
13000103 No LBC was found
13000117 The query specified has completed
Chapter 5: Property Assignment Functions 1267
Loads and Boundary Conditions

14000001 LpGetHeapSpace: Allocated heapspace is exhausted


14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter
14000014 LpSublistNext: Attempt to proceed past last sublist in current list
14000015 LpSublistNext: End of current list has been reached
14000201 Invalid output string specified for call
26001010 Load/BC Definition %A% does not exist.
26002011 Load/BC Name %A% is too long. Input 31 characters or less.
26002030 %A% already exists. Modify not permitted.
26002121 %I% is an invalid number of application regions for the specified Load/BC definition.
26002134 The list %A% contains FEM or unknown GEOmetric entities. All the entities in the
application region(s) must be GEOmetric.
26002135 The list %A% contains GEOmetric or unknown FEM entities. All the entities in the
application region(s) must be FEM.
26002136 %A% is an invalid Geometry Filter. Must be Geometry or FEM.
26002200 There was no data input for this Load/BC Set.
26002201 %I% is an invalid number of input data fields for the specified Load/BC definition.
26002701 Load/BC set cannot be renamed to blank.
26002703 No existing Load/BC set is selected.
26006001 Database error encountered: %I%. Call PDA Hotline.
26006004 Dynamic memory allocation error encountered.

Remarks:

The Load/BC set data is modified in the database. The graphical display of the Load/BCs is modified.
The input value lbc_type can be set to the following values:
1268 PCL Reference Manual
Loads and Boundary Conditions

“Displacement” “Force”
“Pressure” “Temperature”
“Inertial Load” “Initial Displacement”
“Initial Velocity” “Distributed Load”
“Contact”

Example:

Please see loadsbcs_modify.


Chapter 5: Property Assignment Functions 1269
Loads and Boundary Conditions

loadsbcs_modify2 (load_case_name, new_name, lbc_type, lbc_category,


target_element, load_case_type, ap_list, geo_filter,
alt_coord_frame, str_lbc_scale_factor, static_data,
dynamic_field_name)

Description:
Convert the lbc scale factor from a string variable to a real value and call the loadsbcs_modify function
which modifies an existing Load/BC set in the database.
Input:
STRING load_case_name[32] This value specifies an existing Load/BC set name.
STRING new_name[32] This value specifies the new Load/BC set name.
STRING lbc_type[32] This value specifies the Load/BC definition type. See the
remarks below for more information.
STRING lbc_category[32] This value specifies the Load/BC category type: “Nodal”,
“Element Uniform”, or “Element Variable”.
STRING target_element[32] This value specifies the target element type: ““, “1D”, “2D”,
or “3D”.
STRING load_case_type[32] This value specifies the load case type and can be set to either
“Static” or “Time Dependent”.
STRING ap_list[]() This value specifies the application region list by entity types
and IDs.
STRING geo_filter[32] This value specifies the geometry filter: “Geometry” or
“FEM”.
STRING alt_coord_frame[200 This value specifies the alternate coordinate frame in which
] Load/BCs are defined in.
STRING str_lbc_scale_factor[LBC_DATA_LEN]
This value specifies the Load/BC set scale factor as a string.
STRING static_data[100](10) This value specifies static data values which could be real
numbers or field names.
STRING dynamic_field_name[200](10)
This value specifies the dynamic field names.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
3001003 %A% is an invalid Load Case Type. Must be Static or Time Dependent.
13000085 Cursor not open
1270 PCL Reference Manual
Loads and Boundary Conditions

13000103 No LBC was found


13000117 The query specified has completed
14000001 LpGetHeapSpace: Allocated heapspace is exhausted
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter
14000014 LpSublistNext: Attempt to proceed past last sublist in current list
14000015 LpSublistNext: End of current list has been reached
14000201 Invalid output string specified for call
26001010 Load/BC Definition %A% does not exist.
26002011 Load/BC Name %A% is too long. Input 31 characters or less.
26002030 %A% already exists. Modify not permitted.
26002121 %I% is an invalid number of application regions for the specified Load/BC definition.
26002134 The list %A% contains FEM or unknown GEOmetric entities. All the entities in the
application region(s) must be GEOmetric.
26002135 The list %A% contains GEOmetric or unknown FEM entities. All the entities in the
application region(s) must be FEM.
26002136 %A% is an invalid Geometry Filter. Must be Geometry or FEM.
26002200 There was no data input for this Load/BC Set.
26002201 %I% is an invalid number of input data fields for the specified Load/BC definition.
26002701 Load/BC set cannot be renamed to blank.
26002703 No existing Load/BC set is selected.
26006001 Database error encountered: %I%. Call PDA Hotline.
26006004 Dynamic memory allocation error encountered.
Chapter 5: Property Assignment Functions 1271
Loads and Boundary Conditions

Remarks:

This is an interface function that evaluates the scale factor string expression argument. The evaluation
creates a real value that is passed on to the loadsbcs_modify function. The purpose of this interface is to
support the use of unevaluated expressions.
The Load/BC set data is modified in the database. The graphical display of the Load/BCs is modified.
The input value lbc_type can be set to the following values:

“Displacement” “Force”
“Pressure” “Temperature”
“Inertial Load” “Initial Displacement”
“Initial Velocity” “Distributed Load”
“Contact”

Example:

None.
1272 PCL Reference Manual
Loads and Boundary Conditions

loadsbcs_plot_contours (lbc_type, dynamic_value, data_variable,


vector_component, lbc_name, group_names)

Description:
This function displays contours of the selected data variable on the selected group for a Load/BC in the
current load case.
Input:
STRING lbc_type[31] This value specifies the Load/BC definition type. See the
remarks below for more information.
REAL dynamic_value If this is a dynamic Load/BC set, then this is the dynamic
value (e.g. time) at which contours are desired.
STRING data_variable[31]() This value specifies the selected data variable. If the
Load/BC definition type is “Displacement” then valid
variable names are “Translations <T1 T2 T3>” or
“Rotations <R1 R2 R3>”.
STRING vector_component[31]()
This value specifies the vector component: “Resultant”,
“Component 1”, “Component 2”, or “Component 3”.
STRING lbc_name[31]() This value specifies the Load/BC set names in the current
load case.
STRING group_names[31]() This value specifies the group names.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in
the message database.

Remarks:

The Load/BC plot contours are displayed on the selected groups.


The input value lbc_type can be set to the following values:
Chapter 5: Property Assignment Functions 1273
Loads and Boundary Conditions

“Displacement” “Force”
“Pressure” “Temperature”
“Inertial Load” “Initial Displacement”
“Initial Velocity” “Distributed Load”
“Contact”

This function can display a fatal popup message form with the following messages:
Example:

Please see loadsbcs_plot_contours.

loadsbcs_plot_markers (lbc_name, group_names)

Description:
This function plots a graphical display of markers for the selected Load/BC sets in the current load
case.
Input:
STRING lbc_name[31]() This value specifies the Load/BC set names in the current
load case.
STRING group_names[31]( This value specifies the group names on which markers are
) to be plotted.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in
the message database.

Remarks:

Markers are displayed for the selected Load/BC sets in the current load case.
This function can display a fatal popup message form with the following messages:
Example:

Please see loadsbcs_plot_markers.


1274 PCL Reference Manual
Loads and Boundary Conditions

loadsbcs_show (lbc_name)

Description:
This function shows a tabular display of data for a selected Load/BC set on a spreadsheet, if the
session is interactive.
Input:
STRING lbc_name[31] This value specifies the Load/BC set name in the current
load case.
Output:
INTEGER <Return This function returns a value of 0 when executed
Value> successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message
in the message database.

Remarks:

A spreadsheet with data is displayed if the session is interactive.


This function can display a fatal popup message form with the following messages:
Example:

Please see loadsbcs_show.


Chapter 5: Property Assignment Functions 1275
Element Properties

Element Properties
This section explains the functions that pertain to element properties.

elementprops_create (prop_name, elem_type_id, geo_opt_id, con_opt_id,


for_opt_id, lam_opt_id, dof_opt_id, property_ids,
property_types, property_data, app_region)

Description:
This function creates an element property set.
Input:
STRING prop_name[31] This value specifies the name of the property set to be created.
INTEGER elem_type_id This value specifies the element type ID.
INTEGER geo_opt_id This value specifies the geometric option ID.
INTEGER con_opt_id This value specifies the condensation option ID.
INTEGER for_opt_id This value specifies the formulation option ID.
INTEGER lam_opt_id This value specifies the laminate option ID.
INTEGER dof_opt_id This value specifies the degree of freedom option ID.
INTEGER property_ids() This value specifies the property ID list.
INTEGER property_types() This value specifies the property data type list.
STRING property_data[256]()
This value specifies the property data.
STRING app_region[] This value specifies the application region.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
8107002 Last command aborted
13000004 Duplicate entry exists in table
13000020 Node not found
13000021 Element not found
13000022 Geometric entity not found
13000032 Point not found
13000041 Element not found
13000089 No default value found
13000090 Analysis code input was not found
1276 PCL Reference Manual
Element Properties

13000091 Analysis type input was not found


13000097 Curve input was not found
13000098 Solid input was not found
13000119 The region specified in the query was not found
13000122 The surface requested was not found
13000125 The property entered does not exist.
13000127 The field entered does not exist.
13000184 The field is in use and cannot be deleted.
14000002 LpEval: Unknown evaluation method
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter
14000014 LpSublistNext: Attempt to proceed past last sublist in current list
14000015 LpSublistNext: End of current list has been reached
14000308 LpEval: Memory exhausted preparing to evaluate pick
29001001 Unable to allocate the necessary memory.
29002007 The data entered for Property %A% cannot be parsed. %A%
29002008 The data entered for Property %A% is invalid. %A%
29002009 Property %A% requires a Spatial Scalar field. %A%
29002010 Property %A% requires a Spatial Vector field. %A%
29002011 A value for Property %A% must be entered. %A%
29002012 The data form for Property %A% is invalid. %A%
29002013 The data form for Property %A% is not recognized by the system. %A%
29002014 The material specified for property %A% is invalid. %A%
29002016 The value of property %A% is not in the valid range. %A%
29002025 The material specified for property %A% has an invalid Constitutive model activated.
%A%
Chapter 5: Property Assignment Functions 1277
Element Properties

29002026 The material specified for property %A% has an invalid Directionality for this
element type. %A%
29002037 The material specified for property %A% must be a laminate. %A%
29002038 Beam Section %A% not found.
29003001 Property Set %A% cannot be deleted.
29003002 The property set already exists.
29006003 The Property Set Name %A% is invalid.

Remarks:

None.
Example:

Please see elementprops_create.


1278 PCL Reference Manual
Element Properties

elementprops_compress (nFrom, fromNames, nTo, toNames, nSigDigits,


combineDfem, deleteComp, nCompress,
compressNames)

Description:
Compress the list of property names. Compress means to find duplicates and merge them while
replacing references.
Input:
INTEGER nFrom Number of names in fromNames.
STRING[ ]() fromNames List of from property names.
INTEGER nTo Number of names in toNames.
STRING[ ]() toNames List of to property names.
INTEGER nSigDigits Number of significant digits to use when comparing real
numbers.
LOGICAL combineDfem Flag whether to combine discrete fem fields referenced
by properties. TRUE=combine, FALSE=do not combine.
LOGICAL deleteComp Flag whether to delete duplicates. TRUE=delete,
FALSE=do not delete.
Output:
INTEGER nCompress Number of property compressed.
STRING[ ]() compressToName List of property names compressed to. This list
s corresponds to fromNames. If compressToNames(1) is
non-blank, it contains the name that fromNames(1)
compressed to. Caller must allocate same size array as
fromNames.
INTEGER <Return Value> 0=success, other=error

elementprops_delete (prop_name)

Description:
This function deletes a list of element property sets.
Input:
STRING prop_name[31]( This value specifies the names of the element property sets to be
) deleted.
Output:
Chapter 5: Property Assignment Functions 1279
Element Properties

INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function can display a fatal popup message form with the following messages:
This function can display a warning popup message form with the following message:
This function can display an information popup message form with the following message:
Example:

Please see elementprops_delete.


1280 PCL Reference Manual
Element Properties

elementprops_modify (prop_name, new_name, elem_type_id, geo_opt_id,


con_opt_id, for_opt_id, lam_opt_id, dof_opt_id,
property_ids, property_types, property_data,
app_region)

Description:
This function modifies an existing element property set.
Input:
STRING prop_name[31] This value specifies the name of the property set to be modified.
STRING new_name[31] This value specifies the new name of the property set.
INTEGER elem_type_id This value specifies the element type ID.
INTEGER geo_opt_id This value specifies the geometric option ID.
INTEGER con_opt_id This value specifies the condensation option ID.
INTEGER for_opt_id This value specifies the formulation option ID.
INTEGER lam_opt_id This value specifies the laminate option ID.
INTEGER dof_opt_id This value specifies the degree of freedom option ID.
INTEGER property_ids() This value specifies the property ID list.
INTEGER property_types() This value specifies the property data type list.
STRING property_data[256]()
This value specifies the property data.
STRING app_region[] This value specifies the application region.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
8107002 Last command aborted
13000004 Duplicate entry exists in table
13000020 Node not found
13000021 Element not found
13000022 Geometric entity not found
13000032 Point not found
13000041 Element not found
13000089 No default value found
13000090 Analysis code input was not found
13000091 Analysis type input was not found
Chapter 5: Property Assignment Functions 1281
Element Properties

13000097 Curve input was not found


13000098 Solid input was not found
13000119 The region specified in the query was not found
13000122 The surface requested was not found
13000125 The property entered does not exist.
13000127 The field entered does not exist.
13000184 The field is in use and cannot be deleted.
14000002 LpEval: Unknown evaluation method
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter
14000014 LpSublistNext: Attempt to proceed past last sublist in current list
14000015 LpSublistNext: End of current list has been reached
14000308 LpEval: Memory exhausted preparing to evaluate pick
29001001 Unable to allocate the necessary memory.
29002006 Property Set %A% Exists. Overwrite?
29002007 The data entered for Property %A% cannot be parsed. %A%
29002008 The data entered for Property %A% is invalid. %A%
29002009 Property %A% requires a Spatial Scalar field. %A%
29002010 Property %A% requires a Spatial Vector field. %A%
29002011 A value for Property %A% must be entered. %A%
29002012 The data form for Property %A% is invalid. %A%
29002013 The data form for Property %A% is not recognized by the system. %A%
29002014 The material specified for property %A% is invalid. %A%
29002016 The value of property %A% is not in the valid range. %A%
29002025 The material specified for property %A% has an invalid Constitutive model activated.
%A%
1282 PCL Reference Manual
Element Properties

29002026 The material specified for property %A% has an invalid Directionality for this element
type. %A%
29002033 An error occurred while processing Property %A%. %A%
29002037 The material specified for property %A% must be a laminate. %A%
29002038 Beam Section %A% not found.
29006001 Property Set %A% does not exist and cannot be modified.
29006003 The Property Set Name %A% is invalid.

Remarks:

None.
Example:

Please see elementprops_modify.

elementprops_show (prop_name, display_type, group_names)

Description:
This function displays the element property values.
Input:
STRING prop_name[31] This value specifies the name of the property to be displayed.
STRING display_type[31 This value specifies the form of the display: “Table”, “Marker
] Plot”, “Vector Plot”, or “Scalar Plot”.
STRING group_names[31]()
This value specifies a list of the group names to display on.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
8107002 Last command aborted
11000050 The group name is invalid.
11000098 A fatal error has occurred in the database. Database is corrupted.
11000105 The specified group was not found in the database.
11000143 The specified vector result table was not found.
13000008 Group not found

Remarks:
Chapter 5: Property Assignment Functions 1283
Element Properties

None.
Example:

Please see elementprops_show.


1284 PCL Reference Manual
Experimental Data Fitting

Experimental Data Fitting


This section explains the functions that pertain to the experimental data fitting application available under
the Tools pulldown menu.

medr_create_field ( field_name, area_name, variable, skip_lines, switch,


file_name )

Description:
Function to read raw experimental data points from a data file and load the points into a Patran field
(of type material). The data typically represents stress vs. strain, stress vs. time, etc. (stress vs.
independent variable).
Input:
STRING field_name Name of the field to be created.
STRING area_name Name of the field to be created containing area/volume vs
independent variable. See remarks below.
STRING variable The independent variable name. “e”=Strain, “t”=Time,
“T”=Temperature, “f”=Frequency, “er”=Strain Rate
INTEGER skip_lines Number of header lines to skip in the raw data file (number
greater than or equal to zero).
INTEGER switch Switch the independent variable column (default should be 0;
or set to 1 to switch columns).
STRING file_name The file name containing the raw data.
Output:
None

Remarks:

The raw data files must be two or three columns of data. If three columns, the third column is area or
volume reduction data. If no area_name is given and a third column exists, it will be read and given the
same name as field_name, however each will have a _C1 or _C2 appended to it where _C2 is the
area/volume data and _C1 is the stress/strain or stress/time data. No blank lines or more than three
columns are acceptable in the raw data file. The data file can be space, tab, or comma delimited.
Example:

Please see exp_data_fitting.calculate.


Chapter 5: Property Assignment Functions 1285
Experimental Data Fitting

medr_init ()

Description:
Initializes the experimental data fitting tool. The functions should be called before each data fitting
is done.
Input:
None
Output:
None

Example:

Please see exp_data_fitting.calculate.

medr_exit ()

Description:
This routine deteles the XY Window and associated curves and cleans up the memory and should be
called when done with the Experimental Data Fitting tool.
Input:
None
Output:
None

Example:

Please see exp_data_fitting.calculate.


1286 PCL Reference Manual
Experimental Data Fitting

medr_disconnect ()

Description:
This routine diconnects from the Expimental Data Fitting’s dynamically shared library.
Input:
None
Output:
None

Example:

Please see exp_data_fitting.calculate.

medr_deleteplot ()

Description:
This routine deletes the XY Window and curves in the Experimental Data Fitting XY Window.
Input:
None
Output:
None

Example:

Please see exp_data_fitting.calculate.


Chapter 5: Property Assignment Functions 1287
Experimental Data Fitting

medr_setfields ( model_type, test_data, field_names, num_terms )

Description:
Function to set the curve fitting model (e.g.,Neohookean), which test data to use in the curve fit, the
name of the fields containing the test data, and the number of terms to use for series expression fits
(e.g., Ogden). This data must be set prior to performing the curve fit.
Input:
INTEGER model_type 0=Neohookean, 1=Mooney(2), 2=Mooney(3), 3=Signorini,
4=2nd Order Invariant, 5=3rd Order Deformation, 6=Yeoh,
7=Ogden, 8=Foam, 9=Arruda-Boyce, 11=Gent, 15=Visco
Shear Relax, 16=Visco Bulk Relax, 17=Visco Energy Relax
INTEGER test_data 0=All, 1=Uniaxial, 2=Biaxial, 3=Planar Shear, 4=Simple
Shear, 5=Volumetric. (Ignored for Viscoelastic.)
STRING(8) field_names An array of 8 field names. Field1=Uniaxial, Field2=Biaxial,
Field3=Planar Shear, Field4=Simple Shear,
Field5=Volumetric, Field6=Viscoelastic,
Field7/Field8=Not used. If area/volume reduction field
exist, they are included by separating them by commas, e.g.,
“uniaxial_C1,uniaxial_C2” Only those fields necessary for
the calculation are required.
INTEGER num_terms The number of terms to calculate. This is only used for
Ogden, Foam, and Viscoelastic curve fits. It is ignored for
the others.
Output:
None.

Example:

Please see exp_data_fitting.calculate.


1288 PCL Reference Manual
Experimental Data Fitting

medr_setoptions ( uniaxial_type, biaxial_type, shear_type, math_checks,


pos_coeff, extrapolate, left_bound, right_bound, error,
error_limit, num_iterations, converge_tol, use_fictive,
fictive_coeff, idamage )

Description:
Sets the Experimental Data Fitting calculation options as done on the Optional Parameters button. Must
be called before a data fit is performed.
Input:
INTEGER uniaxial_type Uniaxial reduction data is either A/Ao (0) or V/Vo (1). (A/Ao is
the default.)
INTEGER biaxial_type Biaxial reduction data is either t/to (0) or V/Vo (1). (t/to is the
default.)
INTEGER shear_type Planar shear reduction data is either t/to (0) or V/Vo (1). (t/to is
the default.)
INTEGER math_checks Mathimatical checks are ON (1) or OFF (0). Default is OFF.
INTEGER pos_coeff Force calculation to produce positive coefficients (1). Default is
OFF (0).
INTEGER extrapolate Perform extrapolation of the data: OFF (0), ON (1).
REAL left_bound Left bounds for extrapolation (default 0.0).
REAL right_bound Right bounds for extrapolation (default 0.0).
INTEGER error Error type: Relative=0, Absolute=1. Default is Relative.
REAL error_limit Error limit: default=0.001.
INTEGER num_iterations Number of iterations: default=20.
REAL converge_tol Convergence tolerance: default=1.0e-6.
INTEGER use_fictive Use fictive coefficients: OFF (0), ON(1). Default is OFF.
REAL fictive_coeff Fictive coefficient: default=0.0. Used in Foam fit only.
INTEGER idamage Not used.
Output:
None

Example:

Please see exp_data_fitting.calculate.


Chapter 5: Property Assignment Functions 1289
Experimental Data Fitting

medr_plotfit ( append, num_vals, c1, c2, c3, def_modes )

Description:
This routine plots the raw Experimental Data Fitting data and its calculated coefficients and all other
deformation modes requested. Must be called after exp_data_fitting.get_coeffs().
Input:
INTEGER append Flag to continue to append new plots to existing XY Window.
Default=1 (append). Do not append=0.
INTEGER(3) num_vals Array of three values corresponding to the number of valid
values in arrays c1, c2, and c2. These values are displayed
in the Coefficients spreadsheet in the GUI.
REAL(10) c1 Calculated Mooney-Rivilin coefficients for model_types 0-6.
Calculated shear moduli for Ogden and Foam. n k theta & N
for Arruda-Boyce. E & I-m for Gent. Linear terms for
Viscoelastic.
REAL(10) c2 Calculated exponents for Ogden. Deviatoric exponents for
Foam. Relaxation times for Viscoelastic.
REAL(10) c3 Volmetric exponents for Foam, long & short term values for
Viscoelastic.
INTEGER def_modes Number to indicate deformation modes to plot. 1=uniaxial,
2=biaxial, 4=planar shear, 8=simple shear, 16=volumetric,
32=viscoelastic. Combination can be plotted by adding the
respective values together.
Output:
None

Example:

Please see exp_data_fitting.calculate.


1290 PCL Reference Manual
Experimental Data Fitting

medr_postcurves ( def_modes )

Description:
This routine modifies a Experimental Data Fitting plot after a medr_plotfit() is called.
Input:
INTEGER def_modes Number to indicate deformation modes to plot. 1=uniaxial,
2=biaxial, 4=planar shear, 8=simple shear, 16=volumetric,
32=viscoelastic. Combination can be plotted by adding the
respective values together.
Output:
None

Example:

Please see exp_data_fitting.calculate.


Chapter 5: Property Assignment Functions 1291
Experimental Data Fitting

medr_get_magic ( num_magic, num_props, mat_model, model_type,


cm_id, lid, prop_ids, prop_names, magic_ids,
magic_names )

Description:
This routine sets the material information for the desired material constitutive model.
Input:
INTEGER num_magic The maximum number of material magics (settings on the
Material Input Properties form) for Hyperelastic or Viscoelastic
materials. (num_magic=5)
INTEGER num_props The maximum number of property IDs (num_props=20).
Output:
STRING mat_model The material model name.
INTEGER model_type Experimental curve fitting model.
INTEGER cm_id Material constitutive model ID.
INTEGER lid Material linearity ID.
INTEGER(20 prop_ids Array of property IDs.
)
STRING(20) prop_names Array of property names.
INTEGER magic_ids Array of material magic IDs.
(num_magic)
STRING magic_names Array of material magic names.
(num_magic)

Example:

Please see exp_data_fitting.calculate.


1292 PCL Reference Manual
Experimental Data Fitting

exp_data_fitting.calculate ( )

Description:
Does the actual Experimental Data Fitting calculations to determine the coefficients, bulk modulus
and corresponding error.
Input:
None
Output:
None

Remarks:

You must call medr_setfield() and medr_setoptions() routines before calling this routine.
Example:

In this example, a raw data field is imported with area reduction data in the third column, the fields
associated to test data type, and the Neohookean curve fit applied and the resulting coefficients are
plotted and saved as a material constitutive model for the MSC.Marc Preference. The uniaxial and biaxial
fit are plotted.
$#
$# Import the raw data from file uniaxial.dat
$#
medr_create_field( "ogden_uniaxial", "", "e", 0, 0, uniaxial.dat" )
$#
$# Calculate the coefficients
$#
medr_init( )
medr_setfields( 0,0,["uniaxial_C1,uniaxial_C2","","","","","","",""],0 )
medr_setoptions( 0,0,0,0,0,0,0.,0.,0,1E-006,20,0.001,0,0.,0 )
exp_data_fitting.calculate( )
$#
$# Plot the data fit (uniaxial and biaxial fits only)
$#
INTEGER model_type, num_vals(3), ntrm
REAL c1(10), c2(10), c3(10)
exp_data_fitting.get_coeffs( model_type,num_vals,c1,c2,c3,ntrm )
medr_plotfit( 1,num_vals,c1,c2,c3,63 ) /* 63=plots all modes */
xy_axis_title_set( "X1", "Strain", 12, 7 )
xy_axis_display_title_set( "X1", TRUE )
xy_axis_title_set( "Y1", "Stress", 12, 7 )
xy_axis_display_title_set( "Y1", TRUE )
medr_postcurves( 3 ) /* 3=plots only uniaxail/biaxial modes */
$#
$# Get the material magics corresponding to the curve fit
$#
STRING mat_model[32], prop_names[32](20), magic_names[32](5)
INTEGER model_type, cm_id, lid, prop_ids(20), magic_ids(5)
medr_get_magic( 5, 20, mat_model, model_type, cm_id, lid, prop_ids, @
prop_names, magic_ids, magic_names )
$#
$# Set properties for material obtained from the curve fit
$#
INTEGER nvprops
Chapter 5: Property Assignment Functions 1293
Experimental Data Fitting

STRING props[32](20)
exp_data_fitting.set_props( model_type,num_vals,c1,c2,c3,nvprops,props )
exp_data_fitting.set_extra_props( model_type, nvprops, prop_ids, @
prop_names, props )
$#
$# Determine if material exists
$#
INTEGER mat_exists, mid
exp_data_fitting.material_exists( "mooney", mat_exists, mid )
$#
$# Create a material constitutive model
$#
material.create( "Analysis code ID", 20, "Analysis type ID", 1, @
"mooney", mid, "Date: 14-Jan-02 Time : 14:59:03", @
"Isotropic", 1, "Directionality", 1, "Linearity", @
lid, "Homogeneous", 0, mat_model, cm_id, @
"Model Options & IDs", magic_names, magic_ids, @
"Active Flag", 1,"Create", mat_exists, @
"External Flag", FALSE, "Property IDs", prop_names,@
prop_ids, "Property Values", props )
$#
$# Clean up
$#
medr_deleteplot( )
medr_exit( )
medr_disconnect( )
1294 PCL Reference Manual
Experimental Data Fitting

exp_data_fitting.get_coeffs ( model_type, num_vals, c1, c2, c3, ntrm )

Description:
This function gets the coefficients of an Experimental Data Fitting calculation. Must be called after
exp_data_fitting.calculate() and before a plot can be done with medr_plotfit().
Input:
None
Output:
INTEGER model_type 0=Neohookean, 1=Mooney(2), 2=Mooney(3), 3=Signorini,
4=2nd Order Invariant, 5=3rd Order Deformation, 6=Yeoh,
7=Ogden, 8=Foam, 9=Arruda-Boyce, 11=Gent, 15=Visco
Shear Relax, 16=Visco Bulk Relax, 17=Visco Energy Relax
INTEGER(3) num_vals Array of three values corresponding to the number of valid
values in arrays c1, c2, and c2. These values are displayed in
the Coefficients spreadsheet in the GUI.
REAL(10) c1 Calculated Mooney-Rivilin coefficients for model_types 0-6.
Calculated shear moduli for Ogden and Foam. n k theta & N for
Arruda-Boyce. E & I-m for Gent. Linear terms for Viscoelastic.
REAL(10) c2 Calculated exponents for Ogden. Deviatoric exponents for
Foam. Relaxation times for Viscoelastic.
REAL(10) c3 Volmetric exponents for Foam, long & short term values for
Viscoelastic.
INTEGER ntrm Number of terms for an Ogden or Foam fit.

Example:

Please see exp_data_fitting.calculate.


Chapter 5: Property Assignment Functions 1295
Experimental Data Fitting

exp_data_fitting.set_props ( model_type, num_vals, c1,


c2, c3, nvprops, props )

Description:
This routine sets the property values obtained from the curve fit for subsequently saving as a
constitutive material model.
Input:
INTEGER model_type 0=Neohookean, 1=Mooney(2), 2=Mooney(3),
3=Signorini, 4=2nd Order Invariant, 5=3rd Order
Deformation, 6=Yeoh, 7=Ogden, 8=Foam, 9=Arruda-
Boyce, 11=Gent, 15=Visco Shear Relax, 16=Visco Bulk
Relax, 17=Visco Energy Relax
INTEGER(3) num_vals Array of three values corresponding to the number of valid
values in arrays c1, c2, and c2. These values are
displayed in the Coefficients spreadsheet in the GUI.
REAL(10) c1 Calculated Mooney-Rivilin coefficients for model_types
0-6. Calculated shear moduli for Ogden and Foam. n k
theta & N for Arruda-Boyce. E & I-m for Gent. Linear
terms for Viscoelastic.
REAL(10) c2 Calculated exponents for Ogden. Deviatoric exponents for
Foam. Relaxation times for Viscoelastic.
REAL(10) c3 Volmetric exponents for Foam, long & short term values
for Viscoelastic.
INTEGER nvprops Number of valid properties.
STRING(20) props 32 character property names.
Output:
None

Example:

Please see exp_data_fitting.calculate.


1296 PCL Reference Manual
Experimental Data Fitting

exp_data_fitting.set_extra_props ( model_type, nvprops, prop_ids,


prop_names, props )

Description:
This routine sets additional property values required for Viscoelastic material models for
subsequently saving as a constitutive material model. It is called for all material data fitting modules
for consistency.
Input:
INTEGER model_type 0=Neohookean, 1=Mooney(2), 2=Mooney(3), 3=Signorini,
4=2nd Order Invariant, 5=3rd Order Deformation, 6=Yeoh,
7=Ogden, 8=Foam, 9=Arruda-Boyce, 11=Gent, 15=Visco
Shear Relax, 16=Visco Bulk Relax, 17=Visco Energy Relax
INTEGER nvprops Number of valid properties.
INTEGER(20) prop_ids Array of property IDs.
STRING(20) prop_names Array of property names.
STRING(20) props 32 character property names.
Output:
None

Example:

Please see exp_data_fitting.calculate.

exp_data_fitting.material_exists ( material_name, mat_exisits, mid )

Description:
This function checks for the existence of the given material name and returns the material ID if it
exists.
Input:
STRING material_name Name of the material to check for existence.
Output:
INTEGER mat_exisits Material exists if returns zero.
INTEGER mid Returned material ID.

Example:

Please see exp_data_fitting.calculate.


Chapter 5: Property Assignment Functions 1297
Beam Library

Beam Library
This section explains the functions that pertain to beam properties.

arbitrary_read_file ( filename, npoints, nloops, points, nploop, srp )

Description:
Function to read boundary points and stress recovery points of an arbitrary section in a given file, and
load the points into the spreadsheet in the Beam Library form.
Input:
STRING filename The name of a file listing the boundary points of an arbitrary
beam section (in X,Y coordinates, one point per line) followed
by the stress recovery points (in point indexes.)
Output:
INTEGER npoints Total number of points.
INTEGER nloops Total number of boundary loops.
REAL points (VIRTUAL) X,Y coordinates of all loop points.
INTEGER nploop (VIRTUAL) Number of points on each boundary loop.
INTEGER srp (VIRTUAL) Stress recovery point based on the indexes of the points array.

The file format for the boundary loops that Read File accepts is very straightforward. The only tokens
used are two headers: "Boundary Loops" and "Stress Recovery Points." Under "Boundary Loops" the XY
pairs of the boundary points are listed, one pair per line. If more than one loop are entered, a blank line
is used to separate the loops. Each loop with its points will be read into the spreadsheet sequentially.
Stress recovery points are supported, but not required. To input the stress recovery points, "Stress
Recovery Points" header should be added below the XY pairs and the point indexes which are designated
as Point C, D, E, and F are listed on the line underneath the header. Here is an example that has 2 loops
with 5 points each. The first stress recovery point is the first point in the second loop. The other stress
recovery points are all in the first loop.
Boundary Loops
0. 0.
4. 0.
4. 8.
0. 8.
0. 0.
2. 2.
3. 2.
3. 3.
2. 3.
2. 2.

Stress Recovery Points


6 2 1 4
1298 PCL Reference Manual
Beam Library

arbitrary_section_create ( section_name, npoints, nloops, points,


nploop, srp)

Description:
Creates a new arbitrary shape beam section with the given section name, boundary loops and stress
recovery points.
Input:
STRING section_name[31] Section name.
INTEGER npoints Total number of points.
INTEGER nloops Total number of boundary loops.
REAL points(npoints,2) X,Y coordinates of all loop points.
INTEGER nploop(nloops) Number of points on each boundary loop.
INTEGER srp(4) Stress recovery point based on the indexes of the points array.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
1 Invalid total number of points.
2 The number of loops is outside the valid range of 1 - 8.
3 Invalid number of points is found in a loop. (Fewer than 3 or greater than 150.)
7 Invalid license.
13000025 Duplicate name.
13000210 The system is out of virtual memory.
13000211 Virtual memory has been exhausted.
29002040 Beam Section %A% already exists. Do you wish to overwrite?
29002042 Beam Section Name is blank. Input a Beam Section Name.

arbitrary_section_display ( section_name, option, npoints, nloops,


points, nploop, srp )

Description:
Function to create a display of an arbitrary section in a graphic viewport. It plots the geometry of the
section, and depending on the given option, it calculates and displays the properties of the arbitrary
section.
Input:
Chapter 5: Property Assignment Functions 1299
Beam Library

STRING section_name[] The name of an arbitrary section to be displayed.


STRING option[] = "boundary" if only the boundary loops and points to be
displayed.
= "properties" if section properties to be calculated and displayed
with the boundary.
INTEGER npoints Total number of points.
INTEGER nloops Total number of boundary loops.
REAL points(npoints,2 X,Y coordinates of all loop points.
)
INTEGER nploop(nloops) Number of points on each boundary loop.
INTEGER srp(4) Stress recovery point based on the indexes of the points array.
Output:
None.
1300 PCL Reference Manual
Beam Library

arbitrary_section_modify ( old_name, new_name, npoints, nloops,


points, nploop, srp)

Description:
Modifies an existing arbitrary shape beam section with the given section name, boundary loops and
stress recovery points.
Input:
STRING old_name[31] The name of an existing section to be modified.
STRING new_name[31] The new section name to be used.
INTEGER npoints Total number of points.
INTEGER nloops Total number of boundary loops.
REAL points(npoints,2) X,Y coordinates of all loop points.
INTEGER nploop(nloops) Number of points on each boundary loop.
INTEGER srp(4) Stress recovery point based on the indexes of the points array.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
1 Invalid total number of points.
2 The number of loops is outside the valid range of 1 - 8.
3 Invalid number of points is found in a loop. (Fewer than 3 or greater than 150.)
7 Invalid license.
13000210 The system is out of virtual memory.
13000211 Virtual memory has been exhausted.
29002042 Beam Section Name is blank. Input a Beam Section Name.

arbitrary_section_report (section_name, npoints, nloops, points,


nploop, srp)

Description:
Write section properties and the information of loops and points for an arbitrary section to the report
file.
Input:
STRING section_name[] Section name.
INTEGER npoints Total number of points.
Chapter 5: Property Assignment Functions 1301
Beam Library

INTEGER nloops Total number of boundary loops.


REAL points(npoints,2) X,Y coordinates of all loop points.
INTEGER nploop(nloops) Number of points on each boundary loop.
INTEGER srp(4) Stress recovery point based on the indexes of the points array.
Output:
None
1302 PCL Reference Manual
Beam Library

arbitrary_select_surface ( surface_picklist, curv_factor, transl,


npoints, nloops, points, nploop )

Description:
Function to find the sampling points on the boundary of the given surface and load the points into the
spreadsheet.
Input:
STRING surface_picklist Picklist of a surface on which the boundary points to be
found and loaded to the spreadsheet.
REAL curv_factor Maximum curvature error ( .01 <= h/L <= .25 ) allowed for
sampling points on a curved edge.
LOGICAL transl Whether or not to translate the boundary points so that the
first point of the first loop coincides with the origin.
Output:
INTEGER npoints Total number of points.
INTEGER nloops Total number of boundary loops.
REAL points(VIRTUAL) X,Y coordinates of all loop points.
INTEGER nploop(VIRTUAL Number of points on each boundary loop.
)
Error Conditions:
1 Surface selected is meshed and cannot be processed.
2 Property evaluation fails.
3 The number of points found on a loop exceeds 150.
29001001 Unable to allocate the necessary memory.
29002060 An error occurred while computing Beam Section properties. Check the
boundary.
29002056 An error occurred while computing Beam Section properties. Check dimensions.

beam_section_create (beam_name, beam_shape, beam_data)

Description:
This function creates a new beam section with the given name, shape, and a list of dimensions.
Input:
STRING beam_name[31 This value specifies the name of the beam section to be created.
]
Chapter 5: Property Assignment Functions 1303
Beam Library

STRING beam_shape[8] This value specifies the shape name of the beam section. See the
remarks below for more information.
STRING beam_data[31]( This value specifies the data defining the dimensions of the beam.
)
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
13000025 Duplicate name
13000121 The property value requested was not found
13000210 The system is out of virtual memory.
13000211 Virtual memory has been exhausted.
29002040 Beam Section %A% already exists. Do you wish to overwrite?
29002042 Beam Section Name is blank. Input a Beam Section Name.
29002043 Beam Section Type %A% Invalid.
29002044 Wrong number of Beam Section Dimensions Input.
29002046 Invalid Beam Section Dimension %A%.
29003007 Section %A% associated with Element Property data and is not deleted.
30001101 Field %A% does not exist.

Remarks:

The input value beam_shape can have the following values.


1304 PCL Reference Manual
Beam Library

Value Description

“I” for I beam


“L” for angle
“T” for blade
“CHAN” for channel
“TUBE” for tube or pipe
“ROD” for circular solid rod
“BOX” for rectangular hollow bar with symmetric walls
“BAR” for rectangular solid bar
“BOX1” for rectangular hollow bar with unsymmetric walls
“Z” for Z shape beam
“HAT” for hat shape beam
“CROSS” for cross shape beam
“HEXA” for hexagonal beam

Example:

Please see beam_section_create.


Chapter 5: Property Assignment Functions 1305
Beam Library

beam_section_delete (beam_name)

Description:
This function deletes a list of beam sections.
Input:
STRING beam_name[31]() This value specifies the names of the beams to be
deleted.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
13000121 The property value requested was not found
13000210 The system is out of virtual memory.
13000213 A database lookup failed to locate the target index key.
29003007 Section %A% associated with Element Property data and is not deleted.

Remarks:

None.
Example:

Please see beam_section_delete.


1306 PCL Reference Manual
Beam Library

beam_section_display (beam_shape, beam_name, beam_data, ent_or_loc,


ent_loc_data, field_location)

Description:
This function calculates the beam cross section properties, and displays the beam cross section and its
properties in a graphic viewport.
Input:
STRING beam_shape[] This value specifies the shape name of the beam section. See the
remarks below for more information.
STRING beam_name[] This value specifies the name of the beam section to be written.
STRING beam_data[]() This value specifies a string array of dimensions in order of the
labels shown on the beam library form. Strings of real numbers
and field names prefixed by “f:” are allowed.
STRING ent_or_loc[] This value specifies, if the input value beam_data contains any
fields, that the field data be evaluated as a geometric entity when
this value is set to “ENTITY” or that the field data will be
evaluated at XYX coordinates when this value is set to
“COORD”.
STRING ent_loc_data[] This value specifies the geometric entity or XYZ coordinate
information if the input value beam_data contains any fields.
REAL field_location This value specifies the parametric location at which fields are
evaluated. This value is used only if the input value beam_data
contains any fields and the input value ent_or_loc is set to
“ENTITY”. This value must be equal to or greater than 0 and
equal to or less than 1.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
This function can return error values which have no association with an error message.

Remarks:

The input value shape can have the following values:


Chapter 5: Property Assignment Functions 1307
Beam Library

Value Description

“I” for I beam


“L” for angle
“T” for blade
“CHAN” for channel
“TUBE” for tube or pipe
“ROD” for circular solid rod
“BOX” for rectangular hollow bar with symmetric walls
“BAR” for rectangular solid bar
“BOX1” for rectangular hollow bar with unsymmetric walls
“Z” for Z shape beam
“HAT” for hat shape beam
“CROSS” for cross shape beam
“HEXA” for hexagonal beam

This function can display a fatal popup message form with the following messages:
Example:

Please see beam_section_display.


1308 PCL Reference Manual
Beam Library

beam_section_modify (beam_name, new_name, beam_shape, beam_data)

Description:
This function modifies an existing beam section by replacing its name, shape, and dimensions.
Input:
STRING beam_name[31 This value specifies the name of the beam section to be
] modified.
STRING new_name[31] This value specifies the new name of the beam section.
STRING beam_shape[3 This value specifies the shape name of the beam section. See
1] the remarks below for more information.
STRING beam_data[31] This value specifies the data defining the dimensions of the
() beam.
Output:
INTEGER <Return This function returns a value of 0 when executed
Value> successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
13000025 Duplicate name
13000211 Virtual memory has been exhausted.
13000213 A database lookup failed to locate the target index key.
29002042 Beam Section Name is blank. Input a Beam Section Name.
29002043 Beam Section Type %A% Invalid.
29002044 Wrong number of Beam Section Dimensions Input.
29002046 Invalid Beam Section Dimension %A%.
30001101 Field %A% does not exist.

Remarks:

The input value beam_shape can have the following values:


Chapter 5: Property Assignment Functions 1309
Beam Library

Value Description

“I” for I beam


“L” for angle
“T” for blade
“CHAN” for channel
“TUBE” for tube or pipe
“ROD” for circular solid rod
“BOX” for rectangular hollow bar with symmetric walls
“BAR” for rectangular solid bar
“BOX1” for rectangular hollow bar with unsymmetric walls
“Z” for Z shape beam
“HAT” for hat shape beam
“CROSS” for cross shape beam
“HEXA” for hexagonal beam

Example:

Please see beam_section_modify.


1310 PCL Reference Manual
Beam Library

beam_section_report (beam_shape, beam_name, beam_data, ent_or_loc,


ent_loc_data, field_location)

Description:
This function writes the given information of a beam section and the calculated section properties to
the report file.
Input:
STRING beam_shape[] This value specifies the shape name of the beam section. See the
remarks below for more information.
STRING beam_name[] This value specifies the name of the beam section to be written.
STRING beam_data[]() This value specifies the data defining the dimensions of the beam.
STRING ent_or_loc[] This value specifies, if the input value beam_data contains any
fields, that the field data be evaluated as a geometric entity when
this value is set to “ENTITY” or that the field data will be
evaluated at XYX coordinates when this value is set to “COORD”.
STRING ent_loc_data[] This value specifies the geometric entity or XYZ coordinate
information if the input value beam_data contains any fields.
REAL field_location This value specifies the parametric location at which fields are
evaluated. This value is used only if the input value beam_data
contains any fields and the input value ent_or_loc is set to
“ENTITY”. This value must be equal to or greater than 0 and equal
to or less than 1.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

The input value beam_shape can have the following values:


Chapter 5: Property Assignment Functions 1311
Beam Library

Value Description

“I” for I beam


“L” for angle
“T” for blade
“CHAN” for channel
“TUBE” for tube or pipe
“ROD” for circular solid rod
“BOX” for rectangular hollow bar with symmetric walls
“BAR” for rectangular solid bar
“BOX1” for rectangular hollow bar with unsymmetric walls
“Z” for Z shape beam
“HAT” for hat shape beam
“CROSS” for cross shape beam
“HEXA” for hexagonal beam

This function can display a fatal popup message form with the following messages:
Example:

Please see beam_section_report.


1312 PCL Reference Manual
Beam Library

bl_get_arb_beam_section_data (id, points, nploop, srp )

Description:
Function to find the X,Y coordinates of the boundary points, the numbers of points on each loop, and
the stress recovery points with the given database section ID.
Input:
INTEGER id The database ID of an existing arbitrary section.
Output:
REAL points(npoints, X,Y coordinates of all boundary points in sequence.
2)
INTEGER nploop(nloops) Number of points on each boundary loop.
INTEGER srp(4) Stress recovery points using the indexes in the points array.
Return:
INTEGER status The status from database function calls (OK = 0 ).

bl_get_arb_num_points_loops ( id, npoints, nloops )

Description:
Function to find the number of points and the number of loops with the given section ID.
Input:
INTEGER id The database ID of an existing arbitrary section.
Output:
INTEGER npoints The total number of boundary points of the arbitrary section.
INTEGER nloops The number of boundary loops of the arbitrary section.
Return:
INTEGER status The status from database function calls (OK = 0 ).

blgetcentersarby ( entyp, prop, centroid, shear )

Description:
This function finds the coordinates of the shear center of an arbitrary section with the given section
properties and centroid coordinates.
Input:
INTEGER entyp Entity type =1 for PBAR, =2 for PBEAM.
Chapter 5: Property Assignment Functions 1313
Beam Library

REAL prop (30) Section properties calculated in the order of the property fields
in the MSC Nastran entries.
REAL centroid (2) X,Y coordinates of the centroid.
Output:
REAL shear (2) X,Y coordinates of the shear center of the arbitrary section.
1314 PCL Reference Manual
Beam Library

blgetperimarby ( np, points, perim )

Description:
Function to calculate the exterior perimeter of an arbitrary section.
Input:
INTEGER np The number of points on the outer loop (Loop 1.)
REAL points (np,2) X,Y coordinates of all boundary points in sequence.
Output:
REAL perim The exterior perimeter of the arbitrary section.

blgetproparbyCheck ( entyp, npoints, nloops, points, nploop, srp, prop,


nprop, centroid )

Description:
Function to compute the sectional properties for a given arbitrary section boundary defined by a
number of loops each containing a series of points. This function requires a license for the beam
evaluator. If a license is not available, it will return a value of 7, and display a message.
Input:
INTEGER entyp Entity type =1 for PBAR, =2 for PBEAM.
INTEGER npoints Number of total boundary points.
INTEGER nloops Number of boundary loops.
REAL points(npoints,2) X,Y coordinates of all boundary points in sequence.
INTEGER nploop(nloops) Number of points on each boundary loop.
INTEGER srp(4) Stress recovery points using the indexes in the points array.
Output:
REAL prop (30) Section properties calculated in the order of the property fields in
the MSC Nastran entries. (See below)
INTEGER nprop The number of valid properties in the prop array.
REAL centroid (2) XY coordinates of the centroid.
Return:
INTEGER status 0- OK
1,2,3 - invalid section
5- invalid entyp
6- zero area
7- No license
Chapter 5: Property Assignment Functions 1315
Beam Library

prop array values:


:
PBAR (entyp = 1) PBEAM (entyp = 2)
1 A 1 A
2 I1 2 I1
3 I2 3 I2
4 J 4 I12
5 NSM* 5 J
6 FE* 6 NSM*
7 C1 7 C1
8 C2 8 C2
9 D1 9 D1
10 D2 10 D2
11 E1 11 E1
12 E2 12 E2
13 F1 13 F1
14 F2 14 F2
15 K1 15 K1
16 K2 16 K2
17 I12 17 S1*
18 S2*
19 NSIA*
20 NSIB*
21 CWA
22 CWB
23 M1A*
24 M2A*
25 M1B*
26 M2B*
27 N1A
28 N2A
29 N1B
30 N2B

* = These properties are not computed and are returned as 0.0.

cline_section_create ( section_name, numbranches, bbx, bby, xloc, yloc, Tb,


Te, bdx, bdy, edx, edy, slen, srp, ndiv, arctol )
1316 PCL Reference Manual
Beam Library

Description:
Create a centerline section with the given section name and branch information.
Input:
STRING section_name Section name
INTEGER numbranches Number of branches "n".
REAL bbx Beginning x point.
REAL bby Beginning y point.
REAL (n) xloc Ending x points for each branch.
REAL (n) yloc Ending y points for each branch.
REAL (n) Tb Beginning thicknesses for each branch.
REAL (n) Te Ending thicknesses for each branch.
REAL (n) bdx Beginning x slopes for each branch.
REAL (n) bdy Beginning y slopes for each branch.
REAL (n) edx Ending x slopes for each branch.
REAL (n) edy Ending y slopes for each branch.
REAL (n) slen Arc lengths for each branch.
INTEGER (4) srp Stress Recovery points.
INTEGER (n) ndiv # Division
REAL arctol Max Chordal deviation for curved sections.
Output:
None.
Chapter 5: Property Assignment Functions 1317
Materials

Materials
This section explains the functions that pertain to material composites..

material.create (analysis_code, analysis_code_id, analysis_type,


analysis_type_id, material_name, material_id,
material_descrip, material_cat, material_cat_id,
directionality, directionality_id, linearity, linearity_id,
mat_type_name, mat_type_id, const_model_name,
const_model_id, options, option_names, option_ids, active,
active_status, action, material_exists, external,
external_status, prop_ids_label, prop_names, prop_ids,
prop_values_label, prop_values)

Description:
This function will create or modify a material in the database.
Input:
STRING analysis_code[31] This value specifies the analysis code label and should be set
to “Analysis code ID”.
INTEGER analysis_code_id This value specifies the analysis code ID.
STRING analysis_type[31] This value specifies the analysis type label and should be set
to “Analysis type ID”.
INTEGER analysis_type_id This value specifies the analysis type ID.
STRING material_name[31] This value specifies the name of the material to be created.
INTEGER material_id This value specifies the material ID. This value should be set
to 0 if this is a newly defined material.
STRING material_descrip[] This value specifies the material description.
STRING material_cat[31] This value specifies the material category: “Isotropic”, “3d
Orthotropic”, “3d Anisotropic”, “2d Orthotropic”, or “2d
Anisotropic”.
INTEGER material_cat_id This value specifies the material category ID: 1=Isotropic;
2=3d Orthotropic; 3=3d Anisotropic; 4=2d Anisotropic; and
5=2d Orthotropic.
STRING directionality[31] This value specifies the directionality name and should be set
to “Directionality”.
INTEGER directionality_id This value specifies the material directionality ID: 0=N/A;
1=Isotropic; 2=Orthotropic; 3=Anisotropic; 4=2d
Orthotropic; and 5=2d Anisotropic.
STRING linearity[31] This value specifies the linearity name and should be set to
“Linearity”.
1318 PCL Reference Manual
Materials

INTEGER linearity_id This value specifies the linearity ID: 0=N/A; 1=Linear
Elastic; 2=Nonlinear Elastic; 3=Elastoplastic;
4=Hyperelastic; 5=Viscoelastic; and 6=Creep.
STRING mat_type_name[31] This value specifies the material type name: “homogeneous”,
“laminate”, “rule of mixtures”, “Halpin-Tsai”, “short fiber
composite”, or an externally defined material.
INTEGER mat_type_id This value specifies the material type ID: 0=homogeneous;
1=laminate; 2=rule of mixtures; 3=Halpin-Tsai; 4=short fiber
composite; and 101=externally defined material.
STRING const_model_name[31]
This value specifies the constitutive model name: “Linear
Elastic”, “Nonlinear Elastic”, “Elastoplastic”, “Failure”,
“Creep”, “Viscoelastic”, “Swelling”, “Thermal”, or
“Hyperelastic”.
INTEGER const_model_id This value specifies the constitutive model ID: 1=Linear
Elastic; 2=NonLinear Elastic; 3=Elastoplastic; 4=Failure;
5=Creep; 7=Viscoelastic; 8=Swelling; 10=Thermal; and
11=Hyperelastic.
STRING options[] This value specifies the model options label and should be set
to “Model Options & IDs”.
STRING option_names[31]() This value specifies the material option names. See the
remarks below for more information.
INTEGER option_ids() This value specifies the material options IDs. See the remarks
below for more information.
STRING active[31] This value specifies the active label and should be set to
“Active Flag”.
INTEGER active_status This value specify the constitutive model status: 0 = if the
model has not been activated, and 1 = if the constitutive
model has been activated.
STRING action[31] This value specifies, when set to “Create”, that a new material
be created. If this value is set to “Modify”, the material named
by the input value material_name will be modified.
INTEGER material_exists This value specifies the material exists state and should be set
as follows: 10 = if the input value action is set to “Create” and
material doesn’t exist, 11 = if the input value action is set to
“Create” and material exists, 30 = if the input value action is
set to “Modify” and material doesn’t exist, and 31 = if the
input value action is set to “Modify” and material exists.
STRING external[31] This value specifies the external flag label and should be set
to “External Flag”.
Chapter 5: Property Assignment Functions 1319
Materials

LOGICAL external_status This value specifies, when set to TRUE, that this material is
externally defined. If this value is set to FALSE, this material
is internally defined.
STRING prop_ids_label[31] This value uses the string “Property IDs”.
STRING prop_names[31]() This value specifies the property names. See the remarks
below for more information.
INTEGER prop_ids() This value specifies the property IDs. See the remarks below
for more information.
STRING prop_values_label[31 This value specifies the property values label and should be
] set to “Property Values”.
STRING prop_values[31]() This value specifies the property values.

Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
13000004 Duplicate entry exists in table
13000120 The material specified in the query was not found
13000164 The constitutive model was not found in the database.
13000210 The system is out of virtual memory.
1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

Material options must be uniquely defined for a specific analysis code. But, for the sake of data transfer
the material option IDs used should remain the same. The IDs which should be used for specific material
options are given below. If the material option of interest does not exist in the following list, a new and
unique ID should be used. Users and third parties should define IDs in the range 20000 to 29999 to avoid
conflicts with MSC defined IDs.
1320 PCL Reference Manual
Materials

Option ID Option Name Option ID Option Name


1 Not Applicable 31 Add
2 Hill Failure Theory 32 Deformation
3 Hoffman Failure Theory 33 Modified Stress Theory
4 Tsai-Wu Failure Theory 34 ORNL
5 Maximum Strain Theory 35 and 36 Not Used
6 Stress Failure Criteria 37 Cap Hardening
7 Strain Failure Criteria 38 Compression
8 Stress/Strain Curve 39 Tension
9 Hardening Slope 40 Shear
10 VonMises Yield Function 41 10 Cycle
11 Tresca Yield Function 42 100 Cycle
12 Mohr-Coulomb Yield 43 ORNL Hardening
13 Drucker-Prager Yield 44 Engineering Constants
14 Isotropic Hardening 45 [D] Matrix
15 Kinematic Hardening 46 Time
16 Combined Hardening 47 Frequency
17 Tabular Creep Input 48 Strain
18 Creep Law 111 49 Hyperbolic
19 Creep Law 112 50 Formula
20 Creep Law 121 51 Tabular
21 Creep Law 122 52 Prony
22 Creep Law 211 53 Test Data
23 Creep Law 212 54 First Order Polynomial
24 Creep Law 221 55 Second Order Polynomial
25 Creep Law 222 56 Third Order Polynomial
26 Creep Law 300 57 Fourth Order Polynomial
27 Parabolic Ducker-Prager 58 Fifth Order Polynomial
28 Perfectly Plastic 59 Sixth Order Polynomial
29 Maximum Stress Theory 60 Polynomial
30 None 61 Ogden

The list of material property IDs and their names are defined by the PCL function load_generics(). These
values are as follows:
Chapter 5: Property Assignment Functions 1321
Materials

Property ID Property Name


1 Reference Temperature
2 Elastic Modulus
3 Elastic Modulus 22
4 Elastic Modulus 33
5 Poisson Ratio
6 Poisson Ratio 23
7 Poisson Ratio 31
8 Shear Modulus
9 Shear Modulus 23
10 Shear Modulus 31
11 and 12 Not Used
13 Poisson Ratio 13
14 Bulk Modulus
15 Lame Constant
16 Density
17 Conductivity
18 Conductivity 12
19 Conductivity 13
20 Conductivity 22
21 Conductivity 23
22 Conductivity 33
23 Specific Heat
24 Thermal Expansion Coeff
25 Thermal Expansion Coeff 22
26 Thermal Expansion Coeff 33
27 Thermal Expansion Coeff 12
28 to 36 Not Used
37 Composite Options Flag
38 Positive Definite Flag
39 Total Laminate Thickness
40 Number of Plies
41 Laminate Offset
42 Moisture Expansion Coeff 11
43 Moisture Expansion Coeff 22
44 Moisture Expansion Coeff 33
45 Moisture Expansion Coeff 12
46 Moisture Expansion Coeff 23
47 Moisture Expansion Coeff 31
48 Force Resultant (N1) per Temp
49 Force Resultant (N2) per Temp
50 Force Resultant (N12) per Temp
1322 PCL Reference Manual
Materials

51 Moment Resultant (M1) per Temp


52 Moment Resultant (M2) per Temp
53 Moment Resultant (M12) per Temp
54 Stiffness 11
55 Stiffness 12
56 Stiffness 13
57 Stiffness 22
58 Stiffness 23
59 Stiffness 33
60 Stiffness 44
61 Stiffness 45
62 Stiffness 46
63 Stiffness 55
64 Stiffness 56
65 Stiffness 66
66 Stiffness 14
67 Stiffness 15
68 Stiffness 16
69 Stiffness 24
70 Stiffness 25
71 Stiffness 26
72 Stiffness 34
73 Stiffness 35
74 Stiffness 36
75 Stiffness 11
76 Stiffness 12
77 Stiffness 13
78 Stiffness 22
79 Stiffness 23
80 Stiffness 33
81 Membrane Stiffness 11
82 Membrane Stiffness 12
83 Membrane Stiffness 13
84 Membrane Stiffness 22
85 Membrane Stiffness 23
86 Membrane Stiffness 33
87 Bending Stiffness 11
88 Bending Stiffness 12
89 Bending Stiffness 13
90 Bending Stiffness 22
91 Bending Stiffness 23
92 Bending Stiffness 33
Chapter 5: Property Assignment Functions 1323
Materials

93 Coupling Stiffness 11
94 and 95 Not Used
96 Coupling Stiffness 22
97 Coupling Stiffness 23
98 Coupling Stiffness 33
99 Tension Stress Limit
100 Compression Stress Limit
101 Shear Stress Limit
102 Tension Stress Limit 22
103 Compression Stress Limit 22
104 Shear Stress Limit 23
105 Tension Stress Limit 33
106 Compression Stress Limit 33
107 Shear Stress Limit 31
108 Tension Strain Limit
109 Compression Strain Limit
110 Shear Strain Limit
111 Tension Strain Limit 22
112 Compression Strain Limit 22
113 Shear Strain Limit 23
114 Tension Strain Limit 33
115 Compression Strain Limit 33
116 Shear Strain Limit 31
117 Height Ratio
118 and 119 Not Used
120 Hardening Slope
121 Yield Point
122 Equivalent Yield Stress (J1)
123 Alpha
124 Beta
125 Stress 11 Yield Ratio
126 Stress 22 Yield Ratio
127 Stress 33 Yield Ratio
128 Stress 12 Yield Ratio
129 Stress 23 Yield Ratio
130 Stress 31 Yield Ratio
131 Internal Friction Angle
132 Bonding Shear Stress Limit
133 Interaction Term
134 Failure Index
135 Creep Reference Temperature
136 Creep Threshold Factor
1324 PCL Reference Manual
Materials

137 Temperature Dependence Exponent


138 Primary Creep Stiffness
139 Primary Creep Damping
140 Secondary Creep Damping
141 Coefficient A
142 Coefficient B
143 Coefficient C
144 Coefficient D
145 Coefficient E
146 Coefficient F
147 Coefficient G
148 Interaction Term 23
149 Interaction Term 31
150 to 502 Not Used
503 Stress/Strain Curve
504 to 1000 Not Used
1001 Mass Proportional Damping
1002 Stiffness Proportional Damping
1003 Fraction Critical Damping
1004 to 1010 Not Used
1011 2nd. Yield Stress
1012 Plastic Strain
1013 Rate Dependent Param D
1014 Rate Dependent Param p
1015 Not Used
1016 Dilation Angle
1017 Ratio of Flow Stresses
1018 Absolute Plastic Strain
1019 Exponent
1020 Yield Offset
1021 and 1022 Not Used
1023 Material Cohesion
1024 Eccentricity Parameter
1025 Yield Surface Transition
1026 Surface Radius Parameter
1027 Hydrostatic Yield Stress
1028 Volumetric Plastic Strain
1029 to 1100 Not Used
1101 Real Part of g1
1102 Imaginary Part of g1
1103 Value of a
1104 Real Part of k1
Chapter 5: Property Assignment Functions 1325
Materials

1105 Imaginary Part of k1


1106 Value of b
1107 to 1200 Not Used
1201 Value of A
1202 Value of B
1203 Value of n
1204 Value of m
1205 Value of delta_H
1206 Value of R
1207 to 1300 Not Used
1301 Coefficient C10
1302 Coefficient C20
1303 Coefficient C30
1304 Coefficient C40
1305 Coefficient C50
1306 Coefficient C60
1307 to 1310 Not Used
1311 Coefficient C01
1312 Coefficient C02
1313 Coefficient C03
1314 Coefficient C04
1315 Coefficient C05
1316 Coefficient C06
1317 to 1320 Not Used
1321 Coefficient C11
1322 Coefficient C21
1323 Coefficient C12
1324 Coefficient C31
1325 Coefficient C22
1326 Coefficient C13
1327 Coefficient C41
1328 Coefficient C32
1329 Coefficient C23
1330 Coefficient C14
1331 Coefficient C51
1332 Coefficient C42
1333 Coefficient C33
1334 Coefficient C24
1335 Coefficient C15
1336 to 1400 Not Used
1401 Coefficient MU1
1402 Coefficient MU2
1326 PCL Reference Manual
Materials

1403 Coefficient MU3


1404 Coefficient MU4
1405 Coefficient MU5
1406 Coefficient MU6
1407 to 1410 Not Used
1411 Coefficient ALPHA_1
1412 Coefficient ALPHA_2
1413 Coefficient ALPHA_3
1414 Coefficient ALPHA_4
1415 Coefficient ALPHA_5
1416 Coefficient ALPHA_6
1417 to 1420 Not Used
1421 Coefficient D1
1422 Coefficient D2
1423 Coefficient D3
1424 Coefficient D4
1425 Coefficient D5
1426 Coefficient D6
1427 to 2001 Not Used
2002 SigmaYY/Strain Curve
2003 SigmaZZ/Strain Curve
2004 SigmaXY/Strain Curve
2005 SigmaYZ/Strain Curve

The material properties are stored in the database.


Example:

Please see material.create.


Chapter 5: Property Assignment Functions 1327
Materials

mat_create_lam (material_name, material_descrip,


stack_sequence, ply_names, thicks, orients,
num_names, offset_string, action)

Description:
This function will create or modify a laminated composite material in the database given the
stacking sequence.
Input:
STRING material_name[31] This value specifies the name of the laminate to be created.
STRING material_descrip[] This value specifies the material description.
INTEGER stack_sequence This value specifies the stacking sequence convention:
1=Total; 2=Symmetric; 3=Symmetric/Mid-Ply; 4=Anti-
Symmetric; and 5=Anti-Symmetric/Mid-Ply.
STRING ply_names[31](num_names)
This value specifies an array of ply material names for a
laminate with the number of plies specified by the input
value num_names. If the input value stack_sequence is set
to 2 or 4, only the first (num_names)/2 ply material names
need to be specified. If the input value stack_sequence is
set to 3 or 5, then only the (num_names+1)/2 ply material
names need to be specified.
REAL thicks(num_names) This value specifies the ply thicknesses for a laminate with
the number of plies specified by the input value
num_names. If the input value stack_sequence is set to 2
or 4, only the first (num_names)/2 ply material names
need to be specified. If the input value stack_sequence is
set to 3 or 5, then only the (num_names+1)/2 ply material
names need to be specified.
REAL orients(num_names) This value specifies the ply orientations for a laminate
with the number of plies specified by the input value
num_names. If the input value stack_sequence is set to 2
or 4, only the first (num_names)/2 ply material names
need to be specified. If the input value stack_sequence is
set to 3 or 5, then only the (num_names+1)/2 ply material
names need to be specified.
INTEGER num_names This value specifies the number of offsets defined for the
input values ply_names, thicks, and orients.
STRING offset_string[] This value specifies the list processor offset string.
1328 PCL Reference Manual
Materials

STRING action[] This value specifies, when set to “Create”, that a new
laminate be created. If this value is set to “Modify”, the
laminate named by the input value material_name will be
modified.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.

Error Conditions:
1 This is an internal status condition. There is no corresponding status message in
the message database.

Remarks:

The laminate definition data and properties are stored in the database.
This function can display a fatal popup message form with the following message:
This function can display a query popup message form with the following message:
This function can display an acknowledge popup message form with the following message:
Example:

Please see mat_create_lam.


Chapter 5: Property Assignment Functions 1329
Materials

mat_create_lam2 (material_name, material_descrip, stack_sequence,


ply_names, thicks, orients, num_names, offset_string,
action)

Description:
This function will create or modify a laminated composite material in the database given the stacking
sequence.
Input:
STRING material_name[32] This value specifies the name of the laminate
to be created.
STRING material_descrip[] This value specifies the material description.
INTEGER stack_sequence This value specifies the stacking sequence
convention: 1=Total; 2=Symmetric;
3=Symmetric/Mid-Ply; 4=Anti-Symmetric;
and 5=Anti-Symmetric/Mid-Ply.
STRING ply_names[32](num_names)
This value specifies an array of ply material
names for a laminate with the number of
plies specified by the input value
num_names. If the input value
stack_sequence is set to 2 or 4, only the first
(num_names)/2 ply material names need to
be specified. If the input value
stack_sequence is set to 3 or 5, then only the
(num_names+1)/2 ply material names need
to be specified.
STRING thicks(num_names) This value specifies the ply thicknesses for a
laminate with the number of plies specified
by the input value num_names. If the input
value stack_sequence is set to 2 or 4, only the
first (num_names)/2 ply material names
need to be specified. If the input value
stack_sequence is set to 3 or 5, then only the
(num_names+1)/2 ply material names need
to be specified.
1330 PCL Reference Manual
Materials

STRING orients(num_names) This value specifies the ply orientations for a


laminate with the number of plies specified
by the input value num_names. If the input
value stack_sequence is set to 2 or 4, only the
first (num_names)/2 ply material names
need to be specified. If the input value
stack_sequence is set to 3 or 5, then only the
(num_names+1)/2 ply material names need
to be specified.
INTEGER num_names This value specifies the number of offsets
defined for the input values ply_names,
thicks, and orients.
STRING offset_string[] This value specifies the list processor offset
string.
STRING action[] This value specifies, when set to “Create,”
that a new laminate be created. If this value
is set to “Modify,” the laminate named by the
input value material_name will be modified.
Output:
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value
to indicate a change in status or an error.

Error Conditions:
1 This is an internal status condition. There is no corresponding status
message in the message database.

Remarks:

The laminate definition data and properties are stored in the database.

This function can display a fatal popup message form with the following message:

This function can display a query popup message form with the following message:

This function can display an acknowledge popup message form with the following message:

Example:

None.
Chapter 5: Property Assignment Functions 1331
Materials

mat_create_mix (material_name, material_descrip, phase_materials,


volume_fractions, orientation_angles, action)

Description:
This function will create or modify a rule of mixtures material in the database given the definition
data, including constituent material names, volume fractions, and orientation angles.
Input:
STRING material_name[31] This value specifies the name of the rule of mixtures
material to be created.
STRING material_descrip[] This value specifies the material description.
STRING phase_materials[] This value specifies a list processor string defining all of the
materials comprising the different phases of the rule of
mixtures material.
STRING volume_fractions[] This value specifies a list processor string defining the
volume fractions for the different phases of materials. The
number of volume fractions defined must equal the number
of phase materials defined or the number of phase materials
defined - 1. If the last volume fraction is not defined, it will
be calculated internally on the assumptions that the sum of
all of the volume fractions must be one.
STRING orientation_angles[] This value specifies a list processor string defining the
orientation angles of each material phase. The number of
orientation angles defined must be equal to 3 * the number
of material phases defined. Each set of three space fixed
rotation angles define a coordinate frame transformation
from the composite material coordinate frame to the phase
material coordinate frame.
STRING action[] This value specifies, when set to “Create”, that a new rule
of mixtures material be created. If this value is set to
“Modify”, the rule of mixtures material named by the input
value material_name will be modified.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in the
message database.
1332 PCL Reference Manual
Materials

Remarks:

The Rule-of-Mixtures material definition data and properties are stored in the database.
This function can display a fatal popup message form with the following message:
This function can display a query popup message form with the following message:
This function can display an acknowledge popup message form with the following message:
This is the recommended built-in function for creating a Rule-of-Mixtures material.
Example:

Please see mat_create_mix.


Chapter 5: Property Assignment Functions 1333
Materials

mat_hal_create (material_name, material_descrip, option_number,


fiber_volume_fract, matrix_volume_fract, theory,
aspect_ratios, override, fudge_factors, fiber_name,
matrix_name, action)

Description:
This function will create or modify a Halpin-Tsai material in the database given the definition data,
which include the option number, fiber and matrix volume fractions, fiber aspect ratios, and empirical
factors.
Input:
STRING material_name[31] This value specifies the name of the halpin-tsai material to be
created.
STRING material_descrip[] This value specifies the material description.
INTEGER option_number This value specifies the halpin-tsai option number indicating
phase geometry: 1=continuous fiber; 2=discontinuous fiber;
3=continuous ribbon; 4=discontinuous ribbon; and
5=particulate.
REAL fiber_volume_fract This value specifies the fiber or particulate volume fraction.
REAL matrix_volume_fract This value specifies the matrix volume fraction. The input
value fiber_volume_fract + the input value
matrix_volume_fract must not exceed one.
INTEGER theory This value specifies the theory type: 1=new theory (GTT);
and 2=old theory (NUTT). This value is used only when the
input value option_number is set to 1.
STRING aspect_ratios[31]() This value specifies the fiber aspect ratios: if the input value
option_number=2 then use length/diameter; if the input value
option_number=3 then use width/thickness; and if the input
value option_number=4 then use length/thickness and
width/thickness.
LOGICAL override If this value is set to TRUE, then use the empirical factors in
the input value fudge_factors. If this value is set to “FALSE”
do not use the input value fudge_factors.
STRING fudge_factors[31]() This value specifies the empirical factors tailored to the
material geometry. These depend on the input value
option_number and correspond to the empirical factors given
on the form for each Halpin-Tsai option.
STRING fiber_name[] This value specifies the name of the fiber or particulate
material.
STRING matrix_name[] This value specifies the name of the matrix material.
1334 PCL Reference Manual
Materials

STRING action[] This value specifies, when set to “Create”, that a new material
be created. If this value is set to “Modify”, the material named
by the input value material_name will be modified.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.

Error Conditions:
1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

The Halpin-Tsai material definition data and properties are stored in the database.
This function can display a fatal popup message form with the following message:
This function can display a query popup message form with the following message:
This function can display an acknowledge popup message form with the following message:
Example:

Please see mat_hal_create.


Chapter 5: Property Assignment Functions 1335
Materials

mat_sfc_create (material_name, material_descrip, option_number,


mean_angle_theta, mean_angle_phi, stand_dev_theta,
stand_dev_phi, correlation_coef, num_iterations,
uni_mat_name, action)

Description:
This function will create or modify a short fiber composite material in the database given the
definition data, which consist of a unidirectional two-phase material with statistical parameters.
Input:
STRING material_name[31] This value specifies the name of the short fiber composite to
be created.
STRING material_descrip[] This value specifies the material description.
INTEGER option_number This value specifies the dimensionality of fiber variation: if
the input value option_number=1 then use 1-dimensional
variation; and if the input value option_number=2 then use
2-dimensional variation.
REAL mean_angle_theta This value specifies the first mean orientation angle  in
degrees.
REAL mean_angle_phi This value specifies the second mean orientation angle  in
degrees. This value is not used if the input value
option_number is set to 1.
REAL stand_dev_theta This value specifies the standard deviation with respect to 
in degrees. It must be positive, and, if the input value
option_number=2, then it cannot exceed 30.0.
REAL stand_dev_phi This value specifies the standard deviation with respect to 
in degrees. It must be positive and it cannot exceed 30.0.
This value is not used if the input value option_number is set
to 1.
REAL correlation_coef This value specifies the correlation coefficient. This value is
not used if the input value option_number is set to 1.
INTEGER num_iterations This value specifies the number of monte carlo iterations.
STRING uni_mat_name[] This value specifies the unidirectional two-phase material
name.
STRING action[] This value specifies, when set to “Create”, that a new
material be created. If this value is set to “Modify”, the
material named by the input value material_name will be
modified.
Output:
1336 PCL Reference Manual
Materials

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

The Short Fiber composite material definition data and properties are stored in the database.
This function can display a fatal popup message form with the following message:
This function can display a query popup message form with the following message:
This function can display an acknowledge popup message form with the following message:
Example:

Please see mat_sfc_create.


Chapter 5: Property Assignment Functions 1337
Materials

material.modify_global ( mat_names, only_if_exists, cat_id, con_mod_id,


prop_words_to_change, value_string, action,
msg_level )

Description:
This function will set/modify the value for one or more values for one or more materials.
Input:
STRING[]() mat_names String array containing existing material names whose values
are to be modified. If mat_names is input as a single element
array with an empty string (ie. "[""]"), ALL materials will be
processed.
LOGICAL only_if_exists Logical flag that controls whether a material value will be
created if the value does not currently exist in the material. If
TRUE, the value will only be set if the value exists.
INTEGER cat_id Material category id:

Isotropic = 1

Orthotropic = 2

Anisotropic = 3

2D Anisotropic = 4

2D Orthotropic = 5

Composite = 6

It is best to use the form to find the id for your specific case, as
these are code dependent.
INTEGER con_mod_id Material constitutive model ID.

Elastic = 1

Nonlinear Elastic = 2

Plastic = 3

It is best to use the form to find the id for your specific case, as
these are code dependent.
STRING[] prop_words_to_cha integer array with material property word ids to change. If this
nge is a laminate offset, the id is 0.
1338 PCL Reference Manual
Materials

STRING[] action String containing the operation to be performed. Currently


supported operations are:

"=" = Set Equal To

"D" = Delete

"+" = Add

"-" = Subtract

"*" = Multiply

"/" = Divide

The add, subtract, multiply and divide actions may only be


performed if a property value already exists.
STRING[] msg_level String flag to control message display. Currently supported
values are:

"" or "None" = No messages

"Error" = Error only

"Warn" = Error + Warning

"Info" = All
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.

Remarks:

The following preference setting may be used to modify the behavior of the GUI.
pref_env_set_string( "prop_modify_global_msg_level", "Warn" )
The default value is "Warn".

Common settings.pcl
The following preferences can be added to the user's settings.pcl file to control the Property forms. The
same preferences will also control the Materials/Modify/Global form.
pref_env_set_string( "prop_form_pset_sort_option", ".id" )
pref_env_set_integer( "prop_form_num_pset_lbox_rows", 10 )
pref_env_set_logical( "prop_form_pset_sort_use_case", FALSE )
pref_env_set_logical( "prop_form_pset_filter_use_case", TRUE )
These 2 are obsolete as the sort and filter widgets are now always shown.
pref_env_set_logical( "prop_form_pset_sort_option_show", TRUE )
pref_env_set_logical( "prop_form_pset_filter_show", TRUE )
Chapter 5: Property Assignment Functions 1339
Materials

materials_compress ( nFrom, fromNames, nTo, toNames, nSigDigits,


deleteComp, nCompress, compressNames )

Description:
Compress the list of material names. compress means to find duplicates and merge them while
replacing references.
Input:
INTEGER nFrom Number of names in fromNames.
STRING[ ]() fromNames List of from material names.
INTEGER nTo Number of names in toNames.
STRING[ ]() toNames List of to material names.
INTEGER nSigDigits Number of significant digits to use when comparing real
numbers.
LOGICAL deleteComp Flag whether to delete duplicates.

TRUE=delete, FALSE=do not delete


Output:
INTEGER nCompress Number of materials compressed.
STRING[ ]() compressToNames List of material names compressed to. This list corresponds
to fromNames. If compressToNames(1) is non-blank, it
contains the name that fromNames(1) compressed to.
Caller must allocate same size array as fromNames.
INTEGER <Return Value> 0=success, other=error
1340 PCL Reference Manual
Load Cases

Load Cases
This section explains the functions that pertain to load cases.

loadcase_create (load_case_name, load_case_type, load_case_desc,


lbc_name, priorities, dynamic_name, dynamic_value,
make_current)

Description:
This function creates a new load case.
Input:
STRING load_case_name[80] This value specifies the new load case name.
STRING load_case_type[31] This value specifies the load case type and can be set to either
“Static” or “Time Dependent”.
STRING load_case_desc[256] This value specifies the load case description.
STRING lbc_name[31]() This value specifies the load/BC set names to be associated
with this load case.
INTEGER priorities() This value specifies the load/BCs set priorities. The default is
0 or add otherwise. The priority value can range from 1 to the
number of load/BC sets, where 1 indicates the highest or top
priority.
STRING dynamic_name[80] This value specifies the dynamic load case name which was
used to generate the static load case at the specified dynamic
value.
REAL dynamic_value This value specifies the dynamic value used to evaluate this
static load case.
LOGICAL make_current This value is set to TRUE, if this load case should be made the
current load case. If this value is set to FALSE, this load case
will not be made the current load case.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function writes load case information to the database.


Chapter 5: Property Assignment Functions 1341
Load Cases

If the new load case created is the current load case then modify the display of Load/BC in the graphics
window.
This function can display a fatal popup message form with the following messages:
This function can display a query popup message form with the following message:
This function can display an information popup message form with the following message:
Example:

Please see loadcase_create.

loadcase_delete (load_case_name, delete_assoc_lbcs)

Description:
This function deletes a load case and can optionally delete the loads and boundary conditions
associated with the load case.
Input:
STRING load_case_name[] This value specifies the name of load case to be deleted.
LOGICAL delete_assoc_lbcs This value specifies, when set to TRUE, that any associated
Load/BCs are to be deleted. If this value is set to FALSE,
associated Load/BCs will not be deleted.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

If a Load/BC is deleted the graphical display of Load/BCs in the graphics window will be updated.
This function can display a fatal popup message form with the following messages:
This function can display an information popup message form with the following message:
This function can display a warning popup message form with the following message:
Example:

Please see loadcase_delete.


1342 PCL Reference Manual
Load Cases

loadcase_modify (load_case_name, new_name, load_case_type,


load_case_desc, lbc_name, priorities, dynamic_name,
dynamic_value, make_current)

Description:
This function modifies a load case in the database.
Input:
STRING load_case_name[80 This value specifies an existing load case name.
]
STRING new_name[80] This value specifies the new load case name.
STRING load_case_type[31] This value specifies the load case type and can be set to
either “Static” or “Time Dependent”.
STRING load_case_desc[25 This value specifies the load case description.
6]
STRING lbc_name[31]() This value specifies the load/BC set name to be
associated with this load case.
INTEGER priorities() This value specifies the load/BCs set priorities. The
default is 0 or add otherwise. The priority value can
range from 1 to the number of load/BC sets, where 1
indicates the highest or top priority.
STRING dynamic_name[80] This value specifies the dynamic load case name which
was used to generate the static load case at the specified
dynamic value. Not used in Release 1.
REAL dynamic_value This value specifies the dynamic value used to evaluate
this static load case. Not used in Release 1.
LOGICAL make_current This value is set to TRUE, if this load case should be
made the current load case. If this value is set to
FALSE, this load case will not be made the current load
case.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message
in the message database.

Remarks:
Chapter 5: Property Assignment Functions 1343
Load Cases

Modifies load case data in the database.


If the current load case is modified, then updates the graphical display of Load/BC in the graphics
window.
This function can display a fatal popup message form with the following messages:
This function can display an information popup message form with the following message:
Example:

Please see loadcase_modify.


.

loadcase_show (load_case_name)

Description:
This function shows the attributes of the selected load case.
Input:
STRING load_case_name[80] This value specifies the load case name to be shown.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function can display a fatal popup message form with the following messages:
Example:

Please see loadcase_show.


1344 PCL Reference Manual
Fields

Fields
This section explains the functions that pertain to fields..

fields_create (field_name, object_type, extrap_method, field_type,


coord_type, coord_frame, geom_entity, definition_type,
num_active_var, ind_variable_1, ind_variable_2,
ind_variable_3, field_function_1, field_function_2,
field_function_3, linear_definition, var1_values, var2_values,
var3_values, field_values)

Description:
This function creates a new field in the database.
Input:
STRING field_name[31] This value specifies the new field name.
STRING object_type[31] This value specifies the object type: “Spatial”, “Non-
Spatial”, “Material”, or “Time Dependent”.
INTEGER extrap_method This value specifies the extrapolation method: 1 = “Use
closest table value, 2 = “Linear extrapolation,” and 3 =
“Set value to zero”.
STRING field_type[31] This value specifies the type: “Scalar”, “Vector”, or
“Complex Scalar”.
STRING coord_type[31] This value specifies the coordinate frame type: “Real” or
“Parametric”.
STRING coord_frame[31] This value specifies the coordinate frame. It is not used for
spatial parametric fields.
STRING geom_entity[31] This value specifies the geometric entity used for spatial
parametric fields.
STRING definition_type[31] This value specifies the definition: “Function” or “Table”.
INTEGER num_active_var This value specifies the number of active independent
variables or dimension.
STRING ind_variable_1[31] This value specifies the independent variable 1. For
Spatial: “X,” “R,” or “C1”. For Material: “T”. For Non-
Spatial: “t”, “f”, “T”, “u”, “v”, “UD”, “fri”, “fmpd”, or
“fmpr”. For Time Dependent: “t”. Note that “fri”, “fmpd”,
or “fmpr” must be used for complex-valued functions of
frequency. “fri” indicates that the complex terms are real-
imaginary; “fmpd” indicates magnitude-phase (degrees),
and “fmpr”, magnitude-phase (radians).
Chapter 5: Property Assignment Functions 1345
Fields

STRING ind_variable_2[31] This value specifies the independent variable 2. For


Spatial: “Y,” “T,” or “C2”. For Material: “e”. For Non-
Spatial: “t”, “f”, “T”, “u”, “v”, “UD”, “fri”, “fmpd”, or
“fmpr”. For Time Dependent: invalid. Note that “fri”,
“fmpd”, or “fmpr” must be used for complex-valued
functions of frequency. “fri” indicates that the complex
terms are real-imaginary; “fmpd” indicates magnitude-
phase (degrees), and “fmpr”, magnitude-phase (radians).
STRING ind_variable_3[31] This value specifies the independent variable 3. For
Spatial: “Z,” “P,” or “C3”. For Material: “er”. For Non-
Spatial: “t”, “f”, “T”, “u”, “v”, “UD”, “fri”, “fmpd”, or
“fmpr”. For Time Dependent: invalid. Note that “fri”,
“fmpd”, or “fmpr” must be used for complex-valued
functions of frequency. “fri” indicates that the complex
terms are real-imaginary; “fmpd” indicates magnitude-
phase (degrees), and “fmpr”, magnitude-phase (radians).
STRING field_function_1[] This value specifies the first field function which can
manipulate either scalar or vector values.
STRING field_function_2[] This value specifies the second field function which can
manipulate vector values.
STRING field_function_3[] This value specifies the third field function which can
manipulate vector values.
LOGICAL linear_definition This value specifies, when set to TRUE, that spatial
parametric tables be used. If this value is set to FALSE,
spatial parametric tabular fields are not used.
REAL var1_values()
This value specifies a one-dimensional array of tabular
“X”, “R”, or “C1” for Spatial, “T” for Material, “t”, “f”,
“T, “u”, “v”, “UD”, “fri”, “fmpd”, or “fmpd” for Non-
Spatial, or “t” for Time Dependent values.
REAL var2_values()
This value specifies a one-dimensional array of tabular
“Y”, “T”, or “C2” for Spatial, “e” for Material values, or
“t”, “f”, “T”, “u”, “v”, “UD”, “fri”, “fmpd”, or “fmpd” for
Non-Spatial values.
REAL var3_values()
This value specifies a one-dimensional array of tabular
“Z”, “P”, or “C3” for Spatial, “er” for Material values, or
“t”, “f”, “T”, “u”, “v”, “UD”, “fri”, “fmpd”, or “fmpd” for
Non-Spatial values.
REAL field_values()
1346 PCL Reference Manual
Fields

This array contains the field values for all data points. It is
only applicable for tabular fields. Use a single zero if not
applicable. For real-valued fields its dimensions must be
len1 x len2 x len3, where len1, len2, and len3 are the
lengths of the arrays var1_values, var2_values, and
var3_values, respectively. For complex-valued fields its
dimensions must be 2 x len1 x len2 x len3, with all of the
first complex component terms preceding all second
component terms. That is, all reals precede all imaginaries
and all magnitudes precede all phases.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in
the message database.

Remarks:

This function can display a fatal popup message form with the following messages:
This function can display a query popup message form with the following message:
This function can display an information popup message form with the following message:
Notes:

The interface limits the field_name[31] input to 31 characters.


Example:

Please see fields_create.


Chapter 5: Property Assignment Functions 1347
Fields

fields_create_dfem (field_name, entity_type, type, num_entities, entities,


value)

Description:
This function creates a new Load/BC field in the database.
Input:
STRING field_name[31] This value specifies the new field name.
STRING entity_type[31] This value specifies the entity type: “Node” or “Element”.
STRING type[31] This value specifies the type: “Scalar” or “Vector”.
INTEGER num_entities This value specifies the number of entities in the field.
STRING entities[](num_entities)
This value specifies the names of the entities to be
associated with the field.
STRING values[](num_entities)
This value specifies an array of scalars or vectors,
depending on field type. If the <type> is “Vector”, either a
vector or a node ID may be specified.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function can display a fatal popup message form with the following messages:
This function can display a query popup message form with the following message:
This function can display an information message form with the following message:
Notes:
The interface limits the field_name[31] input to 31 characters.
1348 PCL Reference Manual
Fields

fields_create_dfem_v2 (field_name, object_type, entity_type, type,


num_entities, entities, dynamic_var, extrap_method,
num_steps, steps, values)

Description:
This function creates a new Load/BC field in the database.
Input:
STRING field_name[31] This value specifies the new field name.
STRING object_type[] This value specifies the object type: “Spatial” or “Non-
Spatial”.
STRING entity_type[31] This value specifies the entity type: “Node” or “Element”.
STRING type[31] This value specifies the type: “Scalar” or “Vector”.
INTEGER num_entities This value specifies the number of entities in the field.
STRING entities[](num_entities)
This value specifies the names of the entities to be associated
with the field.
STRING dynamic_var[] This value specifies the dynamic variable: “t” for time,“f” for
frequency or ““ for non-dynamic.
INTEGER extrap_method This value specifies the extrapolation method: 1 = “Use
closest table value, 2 = “Linear extrapolation,” and 3 = “Set
value to zero”.
INTEGER num_steps This value specifies the number of dynamic steps. For “Non-
Spatial” only.
REAL steps(num_steps) This value specifies an array of dynamic step values. For
“Non-Spatial” only.
STRING values[](num_entities)
This value specifies an array of scalars or vectors, depending
on field type. If the <type> is “Vector”, either a vector or a
node ID may be specified.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.
Chapter 5: Property Assignment Functions 1349
Fields

Remarks:

This function can display a fatal popup message form with the following messages:
This function can display a query popup message form with the following message:

This function can display an information message form with the following message:

Note: The interface limits the field_name[31] input to 31 characters.


1350 PCL Reference Manual
Fields

fields_create_general (field_name, object_type, field_method, extrap_method,


coord_type, coord_frame, geom_entity, num_active_var,
ind_variable_1, ind_variable_2, ind_variable_3)

Description:
This function creates a new general field in the database.
Input:
STRING field_name[31] This value specifies the new field name.
INTEGER object_type This value specifies the object type id: 1 = Spatial, 2 =
Material, and 3 = Non-Spatial.
INTEGER field_method This value specifies the field method type and should always
be set to the value 5.
INTEGER extrap_method This value specifies the extrapolation method: 1 = “Use
closest table value”, 2 = “Linear extrapolation”, and 3 = “Set
value to zero”.
STRING coord_type[31] This value specifies the coordinate frame type: “Real” or
“Parametric”.
STRING coord_frame[31] This value specifies the coordinate frame.
STRING geom_entity[31] This value specifies the geometric entity used for parametric
field.
INTEGER num_active_var This value specifies the number of active independent
variables or dimension.
INTEGER ind_variable_1 This value specifies the first independent variable. See the
remarks below for more information.
INTEGER ind_variable_2 This value specifies the second independent variable. See the
remarks below for more information.
INTEGER ind_variable_3 This value specifies the third independent variable. See the
remarks below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

The input value ind_variable_1, ind_variable_2, and ind_variable_3 can be set to the following values
Chapter 5: Property Assignment Functions 1351
Fields

Independent Variable Letter Designation Integer ID

Spatial “X” 1
Y Direction “Y” 2
Z Direction “Z” 3
R Direction “R” 4
T Direction “T” 5
P Direction “P” 6
C1 Direction “C1” 7
C2 Direction “C2” 8
C3 Direction “C3” 9
Temperature “T” 10
Strain “e” 11
Strain Rate “er” 12
Time “t” 13
Frequency “f” 14
Radiosity “RAD” 15

This function can display a fatal popup message form with the following messages:

This function can display a query popup message form with the following message:

Note: The interface limits the field_name[31] input to 31 characters.

Example:

Please see fields_create_general.


1352 PCL Reference Manual
Fields

fields_create_general_term (field_name, term_field_id,


term_type, term_id,
data_length, data)

Description:
This function creates a term for a general field in the database.
Input:
STRING field_name[31] This value specifies an existing general field name.
INTEGER term_field_id This value specifies the term field id.
INTEGER term_type This value specifies the term type.
INTEGER term_id This value specifies the term id.
INTEGER data_length This value specifies the length of the data.
STRING data[] This value specifies the expression data.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

None.

Note: The interface limits the field_name[31] input to 31 characters.

Example:

Please see fields_create_general_term.


Chapter 5: Property Assignment Functions 1353
Fields

fields_create_fem (field_name, group, type, extrap_method,


coord_frame, results_interp)

Description:
This function creates a new FEM field in the database.
Input:
STRING field_name[31] This value specifies the new field name.
STRING group[31] This value specifies the name of the group that the results
apply to.
STRING type[31] This value specifies the type: “Scalar” or “Vector”.
INTEGER extrap_method This value specifies the extrapolation method: 1 = “Use
closest table value, 2 = “Linear extrapolation,” and 3 =
“Set value to zero”.
STRING coord_frame[31] This value specifies the name of the coordinate frame to
be used. This value defaults to “Coord 0”.
INTEGER results_interp This value specifies the 3D interpolation of 2D results
flag: 0=interpolate points “as-is”, 1=apply 2D results
uniformly in the “1” direction of the new model, 2=apply
in “2” direction, and 3=apply in “3” direction.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in
the message database.

Remarks:

The extrap_method and results_interp are not used in the creation of the Field, but later in the
interpolation on the new model.
It is recommended that the results and current models both use the same coordinate frame. For more
complex interpolations experiment first with the simple model to establish a procedure.
This function can display a fatal popup message form with the following messages:
This function can display a query popup message form with the following message:
This function can display an information popup message form with the following message:
This function can display an acknowledge popup message form with the following message:
1354 PCL Reference Manual
Fields

Notes:

The interface limits the field_name[31] input to 31 characters.


Example:

Please see fields_create_fem.

fields_create_lbc (field_name, entity_type, type, num_entities, entities, value)

Description:
This function creates a new Load/BC field in the database.
Input:
STRING field_name[31] This value specifies the new field name.
STRING entity_type[31] This value specifies the entity type: “Node” or
“Element”.
STRING type[31] This value specifies the type: “Scalar” or “Vector”.
INTEGER num_entities This value specifies the number of entities in the
field.
STRING entities[](num_entities)
This value specifies the names of the entities to be
associated with the field.
STRING values[](num_entities)
This value specifies an array of scalars or vectors,
depending on field type.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status
message in the message database.

Remarks:

This function can display a fatal popup message form with the following messages:
This function can display a query popup message form with the following message:
Chapter 5: Property Assignment Functions 1355
Fields

This function can display an information message form with the following message:

Note: The interface limits the field_name[31] input to 31 characters.

Example:

Please see fields_create_lbc.

fields_delete (num_fields, field_name)

Description:
This function deletes an existing field from the database.
Input:
INTEGER num_fields This value specifies the number of fields to be deleted.
STRING field_name[31](num_fields)
This value specifies the names of the fields to be deleted.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
13000127 The field entered does not exist.
13000184 The field is in use and cannot be deleted.

Remarks:

The specified fields are removed from the database.

The fields list box is updated.

Note: The interface limits the field_name[31] input to 31 characters.

Example:

Please see fields_delete.


1356 PCL Reference Manual
Fields

fields_modify (field_name, new_name, object_type, extrap_method, type,


coord_type, coord_frame, geom_entity, definition_type,
num_active_var, ind_variable_1, ind_variable_2, ind_variable_3,
field_function_1, field_function_2, field_function_3,
linear_definition, var1_values, var2_values, var3_values,
field_values)

Description:
This function modifies an existing field in the database.
Input:
STRING field_name[31] This value specifies the name of the existing field to be
modified.
STRING new_name[31] This value specifies the new field name. This value
should be set to the same value specified as the input
value load_case_name if the field name is not to be
changed.
STRING object_type[31] This value specifies the object type: “Spatial”, “Non-
Spatial”, “Material”, or “Time Dependent”
INTEGER extrap_method This value specifies the extrapolation method: 1 = use
closest table value, 2 = linear extrapolation, and 3 = set
value to zero.
STRING type[31] This value specifies the type: “Scalar”, “Vector”, or
“Complex Scalar”.
STRING coord_type[31] This value specifies the coordinate frame type: “Real”
or “Parametric”.
STRING coord_frame[31] This value specifies the coordinate frame.
STRING geom_entity[31] This value specifies the geometric entity used for spatial
parametric field.
STRING definition_type[31] This value specifies the definition: “Function” or
“Table”.
INTEGER num_active_var This value specifies the number of active independent
variables or dimension.
Chapter 5: Property Assignment Functions 1357
Fields

STRING ind_variable_1[31] This value specifies the independent variable 1. For


Spatial: “X,” “R,” or “C1”. For Material: “T”. For Non-
Spatial: “t”, “f”, “T”, “u”, “v”, “UD”, “fri”, “fmpd”, or
“fmpr”. For Time Dependent: “t”. Note that “fri”,
“fmpd”, or “fmpr” must be used for complex-valued
functions of frequency. “fri” indicates that the complex
terms are real-imaginary; “fmpd” indicates magnitude-
phase (degrees), and “fmpr”, magnitude-phase
(radians).
STRING ind_variable_2[31] This value specifies the independent variable 2. For
Spatial: “Y,” “T,” or “C2”. For Material: “e”. For Non-
Spatial: “t”, “f”, “T”, “u”, “v”, “UD”, “fri”, “fmpd”, or
“fmpr”. For Time Dependent: invalid. Note that “fri”,
“fmpd”, or “fmpr” must be used for complex-valued
functions of frequency. “fri” indicates that the complex
terms are real-imaginary; “fmpd” indicates magnitude-
phase (degrees), and “fmpr”, magnitude-phase
(radians).
STRING ind_variable_3[31] This value specifies the independent variable 3. For
Spatial: “Z,” “P,” or “C3”. For Material: “er”. For Non-
Spatial: “t”, “f”, “T”, “u”, “v”, “UD”, “fri”, “fmpd”, or
“fmpr”. For Time Dependent: invalid. Note that “fri”,
“fmpd”, or “fmpr” must be used for complex-valued
functions of frequency. “fri” indicates that the complex
terms are real-imaginary; “fmpd” indicates magnitude-
phase (degrees), and “fmpr”, magnitude-phase
(radians).
STRING field_function_1[] This value specifies the first field function which can
manipulate either scalar or vector values.
STRING field_function_2[] This value specifies the second field function which can
manipulate vector values.
STRING field_function_3[] This value specifies the third field function which can
manipulate vector values.
LOGICAL linear_definition This value specifies, when set to TRUE, that spatial
parametric tables be used. If this value is set to FALSE,
spatial parametric tabular fields are not used.
REAL var1_values()
This value specifies a one-dimensional array of tabular
“X”, “R”, or “C1” for Spatial, “T” for Material, “t”, “f”,
“T, “u”, “v”, “UD”, “fri”, “fmpd”, or “fmpd” for Non-
Spatial, or “t” for Time Dependent values.
REAL var2_values()
1358 PCL Reference Manual
Fields

This value specifies a one-dimensional array of tabular


“Y”, “T”, or “C2” for Spatial, “e” for Material values,
or “t”, “f”, “T”, “u”, “v”, “UD”, “fri”, “fmpd”, or
“fmpd” for Non-Spatial values.
REAL var3_values()
This value specifies a one-dimensional array of tabular
“Z”, “P”, or “C3” for Spatial, “er” for Material values,
or “t”, “f”, “T”, “u”, “v”, “UD”, “fri”, “fmpd”, or
“fmpd” for Non-Spatial values.
REAL field_values()
This array contains the field values for all data points. It
is only applicable for tabular fields. Use a single zero if
not applicable. For real-valued fields its dimensions
must be len1 x len2 x len3, where len1, len2, and len3
are the lengths of the arrays var1_values, var2_values,
and var3_values, respectively. For complex-valued
fields its dimensions must be 2 x len1 x len2 x len3, with
all of the first complex component terms preceding all
second component terms. That is, all reals precede all
imaginaries and all magnitudes precede all phases.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message
in the message database.

Remarks:

This function can display a fatal popup message form with the following messages:

This function can display an information message form with the following message:

Note: The interface limits the field_name[31] input to 31 characters.

Example:

Please see fields_modify.


Chapter 5: Property Assignment Functions 1359
Fields

fields_modify_lbc (field_name, new_name, entity_type, type,


num_entities, entities, values)

Description:
This function modifies an existing Load/BC field in the database.
Input:
STRING field_name[31] This value specifies the name of existing field to be modified.
STRING new_name[31] This value specifies the new field name. This value should be set
to the same value specified as the input value load_case_name if
the field name is not to be changed.
STRING entity_type[31] This value specifies the entity type: “Node” or “Element”.
STRING type[31] This value specifies the type: “Scalar” or “Vector”.
INTEGER num_entities This value specifies the number of entities in the field.
STRING entities[](num_entities)
This value specifies the names of the entities in list processor
format.
STRING values[](num_entities)
This value specifies the one or three dimensional array values
depending on field type.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

This function can display a fatal popup message form with the following messages:

This function can display an information popup message form with the following message:

Note: The interface limits the field_name[31] input to 31 characters.

Example:

Please see fields_modify_lbc.


1360 PCL Reference Manual
Fields

fields_modify_fem (field_name, new_name, group, type, extrap_method,


coord_frame, results_interp)

Description:
This function modifies an existing FEM field in the database.
Input:
STRING field_name[31] This value specifies the name of existing field to be
modified.
STRING new_name[31] This value specifies the new field name. Same as the
input value “old_name” if it is not to be changed.
STRING group[31] This value specifies the name of the group that results
apply to.
STRING type[31] This value specifies the type: “Scalar” or “Vector”.
INTEGER extrap_method This value specifies the extrapolation method: 1 = use
closest table value, 2 = linear extrapolation, and 3 = set
value to zero.
STRING coord_frame[31] This value specifies the name of the coordinate frame
to be used. This value defaults to “Coord 0”.
INTEGER results_interp This value specifies the 3D interpolation of 2D results
flag: 0=interpolate points “as-is”, 1=apply 2D results
uniformly in the “1” direction of the new model,
2=apply in “2” direction, and 3=apply in “3” direction.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message
in the message database.

Remarks:

This function can display a fatal popup message form with the following messages:

This function can display an information popup message form with the following message:

Note: The interface limits the field_name[31] input to 31 characters.


Chapter 5: Property Assignment Functions 1361
Fields

Example:

Please see fields_modify_fem.


1362 PCL Reference Manual
Fields

fields_show (field_name, ind_label, ind_min, ind_max, ind_num_points,


fixed1_min, fixed1_max, fixed1_num_points, fixed2_min,
fixed2_max, fixed2_num_points, existing_pts_flag, post_xy_flag,
type_dep_val)

Description:
This function shows an existing field in tabular and XY Plot format.
Input:
STRING field_name[31] This value specifies the field name.
STRING ind_label[31] This value specifies an independent variable.
REAL ind_min This value specifies the minimum value of the independent
variable.
REAL ind_max This value specifies the maximum value of the independent
variable.
INTEGER ind_num_points This value specifies the number of points of the independent
variable.
REAL fixed1_min This value specifies the minimum value of the first fixed
variable.
REAL fixed1_max This value specifies the maximum value of the first fixed
variable.
INTEGER fixed1_num_points This value specifies the number of points of the first fixed
variable.
REAL fixed2_min This value specifies the minimum value of the second fixed
variable.
REAL fixed2_max This value specifies the maximum value of the second fixed
variable.
INTEGER fixed2_num_points This value specifies the number of points of the second fixed
variable.
LOGICAL existing_pts_flag This value uses the existing points flag. The value is set to
TRUE if the existing points should be used, and to FALSE if
the values are to be calculated from existing points. Always
set this value to FALSE for function fields.
LOGICAL post_xy_flag This value specifies the post XY plot flag. The value is set to
TRUE if the XY plot window displaying data is desired.
Chapter 5: Property Assignment Functions 1363
Fields

INTEGER type_dep_val The use of this value depends on the field type. For vector
fields this value specifies the selected vector component- 1, 2,
3. For complex scalar fields this value specifies the tabular
and XY Plot output type: 1 for real-imaginary, 2 for
magnitude-phase (degrees), 3 for magnitude-phase (radians),
and 4 for magnitude (db)-phase (degrees), i.e. Bode plot data.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in the
message database.

Remarks:

Displays a spreadsheet with field data.

If Post XY Plot flag is true, an XY Plot window is displayed. If the field is complex-valued, then two XY
plot windows are displayed.
This function can display a fatal popup message form with the following messages:

This function can display an acknowledge popup message form with the following message:

Note: The interface limits the field_name[31] input to 31 characters.

Example:

Please see fields_show.


1364 PCL Reference Manual
Fields

fields_show_lbc (field_name)

Description:
This function shows an existing Load/BC field in tabular format in a spreadsheet form.
Input:
STRING field_name[31] This value specifies the field name.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is an internal status condition. There is no corresponding status message in
the message database.

Remarks:

This function can display a fatal popup message form with the following message:

Note: The interface limits the field_name[31] input to 31 characters.

Example:

Please see fields_show_lbc.


Chapter 6: Results Postprocessing Functions
PCL Reference Manual

6 Results Postprocessing
Functions

 Introduction 1370
 Results Database Functions 1371

Results Utility Functions 1374
 Results Data Registers 1451
 Data Register Definition Functions 1453
 Data Register Query Functions 1473
 Data Register Operator Functions 1490

Direct Results Access 1493

Results Display Manager 1495
 Plot Tool Creation and Modification Functions 1496
 Plot Tool Manipulation Functions 1518

Animation Functions 1527

Quick Plot Functions 1542

Plot Tool Query Functions 1551

Results Template Functions 1563

Results Plot Sets 1580
1370 PCL Reference Manual
Introduction

Introduction
This chapter documents functions that are used by the “Results” switch bar form.
This chapter presents function descriptions in five separate sections:

Results Utility Functions This section describes results utility functions used to extract results
data and attributes of results data from the database.
Results Data Registers This section describes the use of registers by the functions used to
maintain both results data and the methods used to obtain, manipulate,
and display the results data.
Data Register Definition This section describes the functions used to specify where data is to be
Functions obtained, how data is to be manipulated, how registers may be
combined, and define any location associations that finite element
model entities have with results data.
Data Register Query This section describes the functions used to obtain information about
Functions the contents of registers.
Data Register Operator This section describes the functions that are used to manipulate the
Functions contents of registers.
Results Display Manager This section describes the use of the results display manager and how
it is functions used to display results data.
Plot Tool Creation and This section describes functions that are used to create and modify
Modification Functions display tools.
Plot Tool Manipulation This section describes functions that are used to manipulate display
Functions tools.
Animation Functions This section describes functions that are used to animate the display of
results data.
Plot Tool Query Functions This section describes functions that are used to retrieve information
about currently defined display tools.
Chapter 6: Results Postprocessing Functions 1371
Results Database Functions

Results Database Functions


This section describes results database functions used to create results data and attributes of results data
to the database. These are basic functions for getting at results data in the database for use in customized
PCL functions.

res_db_create_loadcase_c ( name, type, description, loadcase_id )

Description:
Create a loadcase.
Input:
STRING name The name of the load case.
INTEGER type The load case code.
STRING description The load case description.
Output:
INTEGER loadcase_id The loadcase id.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Notes:
The "type" can be set to the following values:
STATIC_ID 1
TIME_DEPENDENT_ID 2
FREQ_DEPENDENT_ID 3
COMBINATION_ID 4
The "description" can be set to the following values:
STATIC "Static"
TIME_DEPENDENT "Time Dependent"
FREQ_DEPENDENT "Freq Dependent"
COMBINATION "Combination"

Remarks:

None
Example:

None
1372 PCL Reference Manual
Results Database Functions

res_db_create_restype_c ( pri_label, sec_label, data_type,


num_form, anl_code, unit_node,
result_type )

Description:
Creates a new result type.
Input:
STRING pri_label The primary result label.
STRING sec_label The secondary result label.
INTEGER data_type The data type code:

scalar

vector

tensor
INTEGER num_form The numerical form code.

real

imaginary

complex mag

complex phase

complex type

complex real

complex angle
STRING description[ 80 ] The results description.
INTEGER unit_code The unit code. Should be set to 0.
Output:
INTEGER result_type The result type created.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.

Remarks:

None
Chapter 6: Results Postprocessing Functions 1373
Results Database Functions

Example:

None
1374 PCL Reference Manual
Results Utility Functions

Results Utility Functions


This section describes results utility functions used to extract results data and attributes of results data
from the database. These are basic functions for getting at results data in the database for use in
customized PCL functions.

res_utl_extract_elem_pos_ids (result_ids, elem_list, count, ids, npos,


posids)

Description:
This function will extract the internal element position identifiers for the results data associated with a
list of elements.
Input:
INTEGER result_ids(5) This value specifies the load case identifier, subcase
identifier, primary result identifier, secondary result
identifier, and layer identifier.
STRING elem_list[] This value specifies a list of elements for which results are
extracted.
Output:
INTEGER count This value returns the number of returned element
identifiers.
INTEGER ids(VIRTUAL) This value returns the list of element identifiers.
INTEGER npos(VIRTUAL) This value returns the number of element positions per
element.
INTEGER posids(VIRTUAL) This value returns all of the element position identifiers for
the specified elements.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in the
message database.
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500005 No Elements are found for the specified result matching the input list.
4500006 The Loadcase/Subcase/Primary Result/ Secondary Result Id combination specified
cannot be found.
4500007 The specified Layer Id is not associated with the specified result.
4500009 No results are found in the database matching the specified Ids.
Chapter 6: Results Postprocessing Functions 1375
Results Utility Functions

4500014 An error has occurred interpreting the input List string.


4500017 The specified operation is not valid.
13000054 Result case not found.
13000071 Result case type not found.
13000085 Cursor not open.
13000086 No Records Found.
13000117 The query specified has completed.
13000210 The system is out of virtual memory.
14000281 LpExpandPclVariables: Virtual memory is full.
14000298 LpPicklistDecoder: Parse error.
14000299 LpPicklistDecoder: Memory is exhausted.
14000302 LpPicklistDecoderWithLookup: Memory is exhausted.

Remarks:

The results data from which the information is extracted will be held in memory for further operations.
Only one result is held in memory at a time.
The output values ids and npos will be allocated with the number of offsets defined by the output value
count.
The output value posids will be allocated with the number of offsets defined by the sum of all of entries
in the output value npos.
This function can display a warning popup message form with the following message:
4500019The results specified for this operation are defined in an Unknown element local coordinate
system. The global system will be assumed for all transformation operations. Errors may be introduced
when using nodal averaged or transformed result components.
Example:

Please see res_utl_extract_elem_pos_ids.


1376 PCL Reference Manual
Results Utility Functions

res_utl_get_elem_pos_loc (elem_id, param_flag, epos_id, location)

Description:
This function will extract the internal element position location for the results data associated with an
element identifier.
Input:
INTEGER elem_id This value specifies the element identifier.
INTEGER param_flag This value specifies the setting of the parameter flag:
0=XYZ global coordinates and 1=element
parametric coordinates.
INTEGER epos_id This value specifies the element position identifier.
Output:
REAL location(4) This value returns the XYZ or element parametric
coordinates.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
4500008 The input Location string is invalid.
13000021 Element not found.

Remarks:

This function can display an information popup message form with the following messages:
16000001Error code %I% occurred in %A%.
16000002Called from %A%.
30001425Notice: %I% interpolants lie off the field.
30001437An attempt was made to average nodal values for an element. All of the element nodes were
not found for %I% elements.
This function can display a warning popup message form with the following messages:
38000199WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing
surface) of %7.5f. The design build gap is %7.5f. Automatic gap fill invoked!
OR
WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing surface)
of %7.5f. The design build gap is %7.5f. Delete and Rebuild the Composite Trim Surface!
Chapter 6: Results Postprocessing Functions 1377
Results Utility Functions

OR
ERROR -- Composite Trim Surface Evaluator cannot compute a point on surface! The problem is a
vertical surface. Check the geometry, change view orientation, Delete and Rebuild the Composite Trim
Surface!
30001424Routine to locate points in elements did not converge for %I% interpolants.
This function can display a fatal popup message form with the following messages:
13000088Preference not found.
16000201Database error for item %I%: %A%.
30001061Field %A% is disassociated with geometry entity and unusable unless a new geometry entity
is provided.
38000136CompTrimSurface processor cannot locate surface with LABEL=%I% -- This is a database
FAILURE! -- Delete and Rebuild the CompTrim Surface.
Example:

Please see res_utl_get_elem_pos_loc.


1378 PCL Reference Manual
Results Utility Functions

res_utl_get_result_info (result_ids, title, nres, data_type, assoc,


resloc, cidflag, minloc, maxloc)

Description:
This function extracts information about the specified results data.
Input:
INTEGER result_ids(5) This value specifies the load case identifier, subcase identifier,
primary result identifier, secondary result identifier, and layer
identifier.
Output:
STRING title[80](3) This value returns the title of the current result.
INTEGER nres This value returns the total number of results.
INTEGER data_type This value returns the data type. Valid values are: 1=scalar,
2=vector, and 3=tensor.
INTEGER assoc This value returns the association type. Valid values are:
1=nodal and 2=element.
INTEGER resloc This value returns the results location. Valid values are:
1=centroidal, 2=nodal, and 3=gauss point.
LOGICAL cidflag This value returns TRUE if the results are defined in a non-
global system.
INTEGER minloc(2,6) This value returns the identifier and location for each
minimum result component. The location is used only for
multiple element results.
INTEGER maxloc(2,6) This value returns the identifier and location for each
maximum result component. The location is used only for
multiple element results.
INTEGER <Return This function returns a value of 0 when executed successfully
Value> and a non zero value to indicate a change in status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message
in the message database.
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500005 No Elements are found for the specified result matching the input list.
4500006 The Loadcase/Subcase/Primary Result/ Secondary Result Id combination
specified cannot be found.
4500007 The specified Layer Id is not associated with the specified result.
Chapter 6: Results Postprocessing Functions 1379
Results Utility Functions

4500009 No results are found in the database matching the specified Ids.
13000054 Result case not found.
13000071 Result case type not found.
13000086 No Records Found.
13000210 The system is out of virtual memory.

Remarks:

The results data from which the information is extracted will be held in memory for further operations.
Only one result is held in memory at a time.
This function can display a warning popup message form with the following message:
4500019The results specified for this operation are defined in an Unknown element local coordinate
system. The global system will be assumed for all transformation operations. Errors may be introduced
when using nodal averaged or transformed result components.
Example:

Please see res_utl_get_result_info

res_utl_clear_result ()

Description:
This function clears any previously used results data from memory.
Input:
None.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully.
Error Conditions:
None.

Remarks:

None.

Example:

Please see res_utl_clear_result.


1380 PCL Reference Manual
Results Utility Functions

res_utl_get_result_entities (result_ids, id_list)

Description:
This function returns a list of the identifiers for which the specified results exist.
Input:
INTEGER result_ids(5) This value specifies the load case identifier, subcase
identifier, primary result identifier, secondary result
identifier, and layer identifier.
Output:
STRING id_list[VIRTUAL] This value returns a list of the identifiers for which the
specified results exist.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in
the message database.
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500005 No Elements are found for the specified result matching the input list.
4500006 The Loadcase/Subcase/Primary Result/ Secondary Result Id combination
specified cannot be found.
4500007 The specified Layer Id is not associated with the specified result.
4500009 No results are found in the database matching the specified Ids.
13000054 Result case not found.
13000071 Result case type not found.
13000086 No Records Found.
13000210 The system is out of virtual memory.
14000001 LpGetHeapSpace: Allocated heapspace is exhausted.
14000201 Invalid output string specified for call.

Remarks:

The specified result will be held in memory for further operations. Only one result is held in memory at
a time.
This function can display a warning popup message form with the following message:
Chapter 6: Results Postprocessing Functions 1381
Results Utility Functions

4500019The results specified for this operation are defined in an Unknown element local coordinate
system. The global system will be assumed for all transformation operations. Errors may be introduced
when using nodal averaged or transformed result components.
Example:

Please see res_utl_get_result_entities.

res_utl_get_result_type (result_ids, result_type)

Description:
This function returns the result type for the specified results.
Input:
INTEGER result_ids(5) This value specifies the load case identifier, subcase
identifier, primary result identifier, secondary result
identifier, and layer identifier.
Output:
INTEGER result_type This value returns the result type. Valid values are:
1=Scalar, 2=Vector, and 3=Tensor.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
4500005 No Elements are found for the specified result matching the input list.
4500006 The Loadcase/Subcase/Primary Result/ Secondary Result Id combination
specified cannot be found.
4500007 The specified Layer Id is not associated with the specified result.
4500009 No results are found in the database matching the specified Ids.
13000054 Result case not found.
13000071 Result case type not found.
13000210 The system is out of virtual memory.

Remarks:

None.
Example:

Please see res_utl_get_result_type.


1382 PCL Reference Manual
Results Utility Functions

res_utl_get_results_cids (result_ids, result_type, nids, ids,


cids)

Description:
This function returns the coordinate frame identifiers used for the result defined at the specified node
or element locations.
Input:
INTEGER result_ids(5) This value specifies the load case identifier, subcase
identifier, primary result identifier, secondary result
identifier, and layer identifier.
INTEGER result_type This value specifies the type: 1=node, and 2=element.
INTEGER nids This value specifies the number of identifiers.
INTEGER ids(nids) This value specifies node or element identifiers.
Output:
INTEGER cids() This value returns a list of coordinate frame identifiers
in which the results specified are oriented. Valid values
are: -1=element local and 0=global.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in
the message database.
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500004 No Nodes found in the database matching the input list.
4500005 No Elements found in the database matching the input list.
4500006 The Loadcase/Subcase/Primary Result/ Secondary Result Id combination
specified cannot be found.
4500007 The specified Layer Id is not associated with the specified result.
4500009 No results are found in the database matching the specified Ids.
4500016 The input list type is not valid.
13000054 Result case not found.
13000071 Result case type not found.
13000086 No Records Found.
13000210 The system is out of virtual memory.
Chapter 6: Results Postprocessing Functions 1383
Results Utility Functions

Remarks:

The specified result will be held in memory for further operations. Only one result is held in memory at
a time.

This function can display a warning popup message form with the following message:

4500019The results specified for this operation are defined in an Unknown element local coordinate
system. The global system will be assumed for all transformation operations. Errors may be introduced
when using nodal averaged or transformed result components.

Example:

Please see res_utl_get_results_cids.


1384 PCL Reference Manual
Results Utility Functions

res_utl_extract_nodal_results (result_ids, node_list, derivation, cid,


data_type, nres, ids, results, minloc,
maxloc)

Description:
This function extracts the specified results data from the database.
Input:
INTEGER result_ids(5) This value specifies the load case identifier, subcase
identifier, primary result identifier, secondary result
identifier, and layer identifier.
STRING node_list[] This value specifies a list of nodes for which to extract
results.
STRING derivation[10] This value specifies the derivation specifier if the
results are to be derived. A value of null will leave the
result as is. See the remarks below for more
information.
STRING cid[] This value specifies the coordinate system for
vector/tensor transformations. A null string is used to
leave the coordinate frame identifier as is.
Output:
INTEGER data_type This value returns the data type. Valid values are:
1=scalar, 2=vector, and 3=tensor.
INTEGER nres This value returns the number of returned node
identifiers.
INTEGER ids(VIRTUAL) This value returns a list of node identifiers.
REAL results(VIRTUAL) This value returns all of the results at the specified
nodes.
INTEGER minloc(6) This value returns the array offsets for each minimum
result component in the output value results.
INTEGER maxloc(6) This value returns the array offsets for each maximum
result component in the output value results.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message
in the message database.
4500002 An error has occurred calculating a nodal averaged result.
Chapter 6: Results Postprocessing Functions 1385
Results Utility Functions

4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500004 No Nodes found in the database matching the input list.
4500005 No Elements found in the database matching the input list.
4500006 The Loadcase/Subcase/Primary Result/ Secondary Result Id combination
specified cannot be found.
4500007 The specified Layer Id is not associated with the specified result.
4500009 No results are found in the database matching the specified Ids.
4500010 The derivation specified in invalid.
4500011 A error has occurred extrapolating this result to the element nodes.
4500014 An error has occurred interpreting the input List string.
4500015 The specified Coordinate Frame does not exist.
4500018 The Coordinate Frame List is not valid.
13000054 Result case not found.
13000056 Coordinate frame not found.
13000071 Result case type not found.
13000085 Cursor not open.
13000086 No Records Found.
13000117 The query specified has completed.
13000210 The system is out of virtual memory.
14000281 LpExpandPclVariables: Virtual memory is full.
14000298 LpPicklistDecoder: Parse error.
14000299 LpPicklistDecoder: Memory is exhausted.
14000302 LpPicklistDecoderWithLookup: Memory is exhausted.

Remarks:

The specified result will be held in memory for further operations. Only one result is held in memory at
a time.
This function will perform extrapolation and averaging as necessary when element based results are
requested.
The result data type returned will be determined by the input value derivation.
The output value ids will be allocated with the number of offsets defined by the output value nres.
The output value results will be allocated as a two dimensional array where the number of offsets in the
first dimension of the array will be returned by the output value nres. The number of offsets in the second
dimension is dependent on the input value derivation. The second dimension of the output value results
1386 PCL Reference Manual
Results Utility Functions

will be set as follows: If the input value derivation specifies a “tensor to scalar” or “vector to scalar”
operation there will be 1 offset. If the input value derivation specifies a “tensor to vector” operation there
will be 3 offsets.
Vector or tensor results will be transformed to the alternate coordinate frame identifier if specified.
The input value derivation can have the following values:
:

Tensor to Scalar: “VONM” “OCT” “HYDRO”,


“TRESCA” “INV1” “INV2”
“INV3” “MAXSHR” “MAXCMP”
“MINCMP” “P1” “P2”
“P3” “XX” “YY”
“XY” “YZ” “ZX”

Tensor to Vector: “PV1” “PV2” “PV3”


any six characters such as “XXYYZZ”

Vector to Scalar: “XX” “YY” “ZZ”


“MAG” “MAXCMP” “MINCMP”
“AVG”

This function can display an information popup message form with the following messages:
16000001Error code %I% occurred in %A%.
16000002Called from %A%.
30001425Notice: %I% interpolants lie off the field.
30001437An attempt was made to average nodal values for an element. All of the element nodes were
not found for %I% elements.
This function can display a warning popup message form with the following messages:
4500019The results specified for this operation are defined in an Unknown element local coordinate
system. The global system will be assumed for all transformation operations. Errors may be introduced
when using nodal averaged or transformed result components.
38000199WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing
surface) of %7.5f. The design build gap is %7.5f. Automatic gap fill invoked!
OR
WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing surface)
of %7.5f. The design build gap is %7.5f. Delete and Rebuild the Composite Trim Surface!
Chapter 6: Results Postprocessing Functions 1387
Results Utility Functions

OR
ERROR -- Composite Trim Surface Evaluator cannot compute a point on surface! The problem is a
vertical surface. Check the geometry, change view orientation, Delete and Rebuild the Composite Trim
Surface!
30001424Routine to locate points in elements did not converge for %I% interpolants.
This function can display a fatal popup message form with the following messages:
13000088Preference not found.
16000201Database error for item %I%: %A%.
30001061Field %A% is disassociated with geometry entity and unusable unless a new geometry entity
is provided.
38000136CompTrimSurface processor cannot locate surface with LABEL=%I% -- This is a database
FAILURE! -- Delete and Rebuild the CompTrim Surface.
Example:

Please see res_utl_extract_nodal_results.


1388 PCL Reference Manual
Results Utility Functions

res_utl_extract_nodal_results2 (result_ids, node_list, derivation,


cid_list, avg_method, avg_domain,
extrap_method, complex_form,
complex_angle, data_type, nres, ids,
results, minloc, maxloc)

Description:
This function extracts the specified results data from the database.
Input:
INTEGER result_ids(5) This value specifies the load case identifier, subcase
identifier, primary result identifier, secondary result
identifier, and layer identifier.
STRING node_list[] This value specifies a list of nodes for which to extract
results.
STRING derivation[10] This value specifies the derivation specifier if the
results are to be derived. A value of null will leave the
result as is. See the remarks below for more
information.
STRING cid[] This value specifies the coordinate system for
vector/tensor transformations. A null string is used to
leave the coordinate frame identifier as is.
STRING avg_method[] This value specifies the averaging method to be used.
STRING avg_domain[] This value specifies the averaging domain to be used.
STRING extrap_method[] This value specifies the extrapolation method to be
used.
STRING complex_form[] This value specifies the form to be used for complex
numbers.
REAL complex_angle This value is used with the complex results when the
complex_form is “Angle”.
Output:
INTEGER data_type This value returns the data type. Valid values are:
1=scalar, 2=vector, and 3=tensor.
INTEGER nres This value returns the number of returned node
identifiers.
INTEGER ids(VIRTUAL) This value returns a list of node identifiers.
REAL results(VIRTUAL) This value returns all of the results at the specified
nodes.
Chapter 6: Results Postprocessing Functions 1389
Results Utility Functions

INTEGER minloc(6) This value returns the array offsets for each minimum
result component in the output value results.
INTEGER maxloc(6) This value returns the array offsets for each maximum
result component in the output value results.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in
the message database.
4500002 An error has occurred calculating a nodal averaged result.
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500004 No Nodes found in the database matching the input list.
4500005 No Elements found in the database matching the input list.
4500006 The Loadcase/Subcase/Primary Result/ Secondary Result Id combination
specified cannot be found.
4500007 The specified Layer Id is not associated with the specified result.
4500009 No results are found in the database matching the specified Ids.
4500010 The derivation specified in invalid.
4500011 A error has occurred extrapolating this result to the element nodes.
4500014 An error has occurred interpreting the input List string.
4500015 The specified Coordinate Frame does not exist.
4500018 The Coordinate Frame List is not valid.
13000054 Result case not found.
13000056 Coordinate frame not found.
13000071 Result case type not found.
13000085 Cursor not open.
13000086 No Records Found.
13000117 The query specified has completed.
13000210 The system is out of virtual memory.
14000281 LpExpandPclVariables: Virtual memory is full.
14000298 LpPicklistDecoder: Parse error.
14000299 LpPicklistDecoder: Memory is exhausted.
14000302 LpPicklistDecoderWithLookup: Memory is exhausted.
1390 PCL Reference Manual
Results Utility Functions

Remarks:

The specified result will be held in memory for further operations. Only one result is held in memory at
a time.
This function will perform extrapolation and averaging as necessary when element based results are
requested.
The result data type returned will be determined by the input value derivation.
The output value ids will be allocated with the number of offsets defined by the output value nres.
The output value results will be allocated as a two-dimensional array where the number of offsets in the
first dimension of the array will be returned by the output value nres. The number of offsets in the second
dimension is dependent on the input value derivation. The second dimension of the output value results
will be set as follows: If the input value derivation specifies a “tensor to scalar” or “vector to scalar”
operation there will be 1 offset. If the input value derivation specifies a “tensor to vector” operation there
will be 3 offsets.
Vector or tensor results will be transformed to the alternate coordinate frame identifier if specified.
The input value derivation can have the following values:
:

Tensor to Scalar: “VONM” “OCT” “HYDRO”,


“TRESCA” “INV1” “INV2”
“INV3” “MAXSHR” “MAXCMP”
“MINCMP” “P1”/”MAJOR” “P2”/”INTER”
“P3”/”MINOR” “XX” “YY”
“XY” “YZ” “ZX”
“MXSH2D” “MXCP2D” “MNCP2D”
“MJR2D” “MNR2D” “TRES2D”

Tensor to Vector: “PV1”/”MAJORV” “PV2”/”INTERV” “PV3”/”MINORV”


“MJRV2D” “MNRV2D”

Vector to Scalar: “XX” “YY” “ZZ”


“MAG” “MAXCMP” “MINCMP”
“AVG”

The input value avg_method can have one of the following values:
“DeriveAverage”, “AverageDerive”, “Difference”, or “Sum”
The input value avg_domain can have one of the following values:
Chapter 6: Results Postprocessing Functions 1391
Results Utility Functions

“All”, “Material”, “Property”, “EType”, “Target”, “Element”


The input extrap_method can have one of the following values:
“ShapeFunc”, “Average”, “Centroid”, “Max”, “Min”, “AsIs”
The input complex_form can have one of the following values:
“Real”, “Imaginary”, “Magnitude”, “Phase”, “Angle”
This function can display an information popup message form with the following messages:
16000001Error code %I% occurred in %A%.
16000002Called from %A%.
30001425Notice: %I% interpolants lie off the field.
30001437An attempt was made to average nodal values for an element. All of the element nodes were
not found for %I% elements.
This function can display a warning popup message form with the following messages:
4500019The results specified for this operation are defined in an Unknown element local coordinate
system. The global system will be assumed for all transformation operations. Errors may be introduced
when using nodal averaged or transformed result components.
38000199WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing
surface) of %7.5f. The design build gap is %7.5f. Automatic gap fill invoked!
OR
WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing surface)
of %7.5f. The design build gap is %7.5f. Delete and Rebuild the Composite Trim Surface!
OR
ERROR -- Composite Trim Surface Evaluator cannot compute a point on surface! The problem is a
vertical surface. Check the geometry, change view orientation, Delete and Rebuild the Composite Trim
Surface!
30001424Routine to locate points in elements did not converge for %I% interpolants.
This function can display a fatal popup message form with the following messages:
13000088Preference not found.
16000201Database error for item %I%: %A%.
30001061Field %A% is disassociated with geometry entity and unusable unless a new geometry entity
is provided.
38000136CompTrimSurface processor cannot locate surface with LABEL=%I% -- This is a database
FAILURE! -- Delete and Rebuild the CompTrim Surface.
1392 PCL Reference Manual
Results Utility Functions

Example:
INTEGER i, nres, dtype, minloc(6), maxloc(6), status
INTEGER nids(VIRTUAL)
REAL results(VIRTUAL)

/* Extract von Mises nodal results from the element tensor result with Loadcase
ID=2, Subcase ID=1,Primary Res ID=3, Secondary Res ID=1, Layer ID=1 */
status = res_utl_extract_nodal_results( [2,1,3,1,1], "Node 1:#", @
"vonm", "", dtype, nres, nids, results, minloc, maxloc )
IF( status != 0 ) THEN @ /* print message if error */
msg_to_form( status, 4, 0, 0, 0., "" )
ELSE
/* print out min/max */
i = minloc(1)
ui_writec(" Min Id= %d, von Mises Stress= %g", ids(i), results(i) )
i = maxloc(1)
ui_writec(" Max Id= %d, von Mises Stress= %g", ids(i), results(i) )
END IF
Chapter 6: Results Postprocessing Functions 1393
Results Utility Functions

res_utl_extract_nodal_history (nlcs, lcids, subids, result_ids, node_list,


derivation, cid, data_type, nres, ids,
results, minloc, maxloc)

Description:
This function extracts the specified results data from the database.
Input:
INTEGER nlcs This value specifies the number of result cases to be
extracted.
INTEGER lcids(nlcs) This value specifies the loadcase identifiers.
INTEGER subids(nlcs) This value specifies the subcase identifiers.
INTEGER result_ids(3) This value specifies the primary result identifier,
secondary result identifier, and layer identifier.
STRING node_list[] This value specifies a list of nodes at which to extract
results.
STRING derivation[10] This value specifies the derivation specifier if the results
are to be derived. A value of null will leave the result as
is. See the remarks below for more information.
STRING cid[] This value specifies the coordinate system for
vector/tensor transformations. A null string is used to
leave the coordinate frame identifier as is.
Output:
INTEGER data_type This value returns the data type. Valid values are:
1=scalar, 2=vector, and 3=tensor.
INTEGER nres This value returns the number of node identifiers.
INTEGER ids(VIRTUAL) This value returns a list of node identifiers.
REAL results(VIRTUAL) This value returns all of the results at the specified nodes
for each result case.
INTEGER minloc(VIRTUAL) This value returns the load case or subcase identifier array
offsets for each node minimum in the output value results.
INTEGER maxloc(VIRTUAL) This value returns the load case or subcase identifier array
offsets for each maximum node in the output value results.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in the
message database.
1394 PCL Reference Manual
Results Utility Functions

4500002 An error has occurred calculating a nodal averaged result.


4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500004 No Nodes found in the database matching the input list.
4500005 No Elements found in the database matching the input list.
4500006 The Loadcase/Subcase/Primary Result/ Secondary Result Id combination
specified cannot be found.
4500007 The specified Layer Id is not associated with the specified result.
4500009 No results are found in the database matching the specified Ids.
4500010 The derivation specified in invalid.
4500011 A error has occurred extrapolating this result to the element nodes.
4500014 An error has occurred interpreting the input List string.
4500015 The specified Coordinate Frame does not exist.
4500018 The Coordinate Frame List is not valid.
13000054 Result case not found.
13000056 Coordinate frame not found.
13000071 Result case type not found.
13000085 Cursor not open.
13000086 No Records Found.
13000117 The query specified has completed.
13000210 The system is out of virtual memory.
14000281 LpExpandPclVariables: Virtual memory is full.
14000298 LpPicklistDecoder: Parse error.
14000299 LpPicklistDecoder: Memory is exhausted.
14000302 LpPicklistDecoderWithLookup: Memory is exhausted.

Remarks:

The specified result will be held in memory for further operations. Only one result is held in memory at
a time.
This function will perform extrapolation and averaging as necessary when element based results are
requested.
The result data type returned will be determined by the input value derivation.
The output value ids will be allocated with the number of offsets defined by the output value nres.
Chapter 6: Results Postprocessing Functions 1395
Results Utility Functions

The output value results will be allocated as a three dimensional array where the number of offsets in the
first dimension of the array will be set by the input value nlcs. The number of offsets in the second
dimension of the array will be set by the output value nres. The number of offsets in the third dimension
is dependent on the input value derivation. The third dimension of the output value results will be set as
follows: If the input value derivation specifies a “tensor to scalar” or “vector to scalar” operation there
will be 1 offset. If the input value derivation specifies a “tensor to vector” operation there will be 3
offsets.
The output values minloc and maxloc will be allocated as two dimensional arrays where the number of
offsets in the first dimension of the array will be set by the output value nres. The number of offsets in
the second dimension is dependent on the input value derivation. The second dimension of the output
values minloc and maxloc will be set as follows: If the input value derivation specifies a “tensor to scalar”
or “vector to scalar” operation there will be 1 offset. If the input value derivation specifies a “tensor to
vector” operation there will be 3 offsets.
Vector or tensor results will be transformed to the alternate coordinate frame identifier if specified.
Minimum and maximum subcase locations will be determined for each node specified.
The input value derivation can have the following values:

Tensor to Scalar: “VONM” “OCT” “HYDRO”,


“TRESCA” “INV1” “INV2”
“INV3” “MAXSHR” “MAXCMP”
“MINCMP” “P1”/”MAJOR” “P2”/”INTER”
“P3”/”MINOR” “XX” “YY”
“XY” “YZ” “ZX”
“MXSH2D” “MXCP2D” “MNCP2D”
“MJR2D” “MNR2D” “TRES2D”

Tensor to Vector: “PV1”/”MAJORV” “PV2”/”INTERV” “PV3”/”MINORV”


“MJRV2D” “MNRV2D”
“MJRV2D” “MNRV2D”
any six characters such as “XXYYZZ”

Vector to Scalar: “XX” “YY” “ZZ”


“MAG” “MAXCMP” “MINCMP”
“AVG”

This function can display an information popup message form with the following messages:
16000001Error code %I% occurred in %A%.
1396 PCL Reference Manual
Results Utility Functions

16000002Called from %A%.


30001425Notice: %I% interpolants lie off the field.
30001437An attempt was made to average nodal values for an element. All of the element nodes were
not found for %I% elements.
This function can display a warning popup message form with the following messages:
4500019The results specified for this operation are defined in an Unknown element local coordinate
system. The global system will be assumed for all transformation operations. Errors may be introduced
when using nodal averaged or transformed result components.
38000199WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing
surface) of %7.5f. The design build gap is %7.5f. Automatic gap fill invoked!
OR
WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing surface)
of %7.5f. The design build gap is %7.5f. Delete and Rebuild the Composite Trim Surface!
OR
ERROR -- Composite Trim Surface Evaluator cannot compute a point on surface! The problem is a
vertical surface. Check the geometry, change view orientation, Delete and Rebuild the Composite Trim
Surface!
30001424Routine to locate points in elements did not converge for %I% interpolants.
This function can display a fatal popup message form with the following messages:
13000088Preference not found.
16000201Database error for item %I%: %A%.
30001061Field %A% is disassociated with geometry entity and unusable unless a new geometry entity
is provided.
38000136CompTrimSurface processor cannot locate surface with LABEL=%I% -- This is a database
FAILURE! -- Delete and Rebuild the CompTrim Surface.
Example:

Please see res_utl_extract_nodal_history.


Chapter 6: Results Postprocessing Functions 1397
Results Utility Functions

res_utl_extract_nodal_history2 (nlcs, lcids, subids, result_ids, node_list,


derivation, cid, avg_method, avg_domain,
extrap_method, complex_form,
complex_angle, data_type, nres, ids,
results, minloc, maxloc)

Description:
This function extracts the specified results data from the database.
Input:
INTEGER nlcs This value specifies the number of result cases to be
extracted.
INTEGER lcids(nlcs) This value specifies the loadcase identifiers.
INTEGER subids(nlcs) This value specifies the subcase identifiers.
INTEGER result_ids(3) This value specifies the primary result identifier,
secondary result identifier, and layer identifier.
STRING node_list[] This value specifies a list of nodes at which to extract
results.
STRING derivation[10] This value specifies the derivation specifier if the
results are to be derived. A value of null will leave the
result as is. See the remarks below for more
information.
STRING cid[] This value specifies the coordinate system for
vector/tensor transformations. A null string is used to
leave the coordinate frame identifier as is.
STRING avg_method[] This value specifies the averaging method to be used.
STRING avg_domain[] This value specifies the averaging domain to be used.
STRING extrap_method[] This value specifies the extrapolation method to be
used.
STRING complex_form[] This value specifies the form to be used for complex
numbers.
REAL complex_angle This value is used with complex results when the
complex_form is “Angle”.
Output:
INTEGER data_type This value returns the data type. Valid values are:
1=scalar, 2=vector, and 3=tensor.
INTEGER nres This value returns the number of node identifiers.
INTEGER ids(VIRTUAL) This value returns a list of node identifiers.
1398 PCL Reference Manual
Results Utility Functions

REAL results(VIRTUAL) This value returns all of the results at the specified
nodes for each result case.
INTEGER minloc(VIRTUAL) This value returns the load case or subcase identifier
array offsets for each node minimum in the output
value results.
INTEGER maxloc(VIRTUAL) This value returns the load case or subcase identifier
array offsets for each maximum node in the output
value results.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message
in the message database.
4500002 An error has occurred calculating a nodal averaged result.
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500004 No Nodes found in the database matching the input list.
4500005 No Elements found in the database matching the input list.
4500006 The Loadcase/Subcase/Primary Result/ Secondary Result Id combination
specified cannot be found.
4500007 The specified Layer Id is not associated with the specified result.
4500009 No results are found in the database matching the specified Ids.
4500010 The derivation specified in invalid.
4500011 A error has occurred extrapolating this result to the element nodes.
4500014 An error has occurred interpreting the input List string.
4500015 The specified Coordinate Frame does not exist.
4500018 The Coordinate Frame List is not valid.
13000054 Result case not found.
13000056 Coordinate frame not found.
13000071 Result case type not found.
13000085 Cursor not open.
13000086 No Records Found.
13000117 The query specified has completed.
13000210 The system is out of virtual memory.
14000281 LpExpandPclVariables: Virtual memory is full.
Chapter 6: Results Postprocessing Functions 1399
Results Utility Functions

14000298 LpPicklistDecoder: Parse error.


14000299 LpPicklistDecoder: Memory is exhausted.
14000302 LpPicklistDecoderWithLookup: Memory is exhausted.

Remarks:

The specified result will be held in memory for further operations. Only one result is held in memory at
a time.
This function will perform extrapolation and averaging as necessary when element based results are
requested.
The result data type returned will be determined by the input value derivation.
The output value ids will be allocated with the number of offsets defined by the output value nres.
The output value results will be allocated as a three-dimensional array where the number of offsets in the
first dimension of the array will be set by the input value nlcs. The number of offsets in the second
dimension of the array will be set by the output value nres. The number of offsets in the third dimension
is dependent on the input value derivation. The third dimension of the output value results will be set as
follows: If the input value derivation specifies a “tensor to scalar” or “vector to scalar” operation there
will be 1 offset. If the input value derivation specifies a “tensor to vector” operation there will be 3
offsets.
The output values minloc and maxloc will be allocated as two-dimensional arrays where the number of
offsets in the first dimension of the array will be set by the output value nres. The number of offsets in
the second dimension is dependent on the input value derivation. The second dimension of the output
values minloc and maxloc will be set as follows: If the input value derivation specifies a “tensor to scalar”
or “vector to scalar” operation there will be 1 offset. If the input value derivation specifies a “tensor to
vector” operation there will be 3 offsets.
Vector or tensor results will be transformed to the alternate coordinate frame identifier if specified.
Minimum and maximum subcase locations will be determined for each node specified.
The input value derivation can have the following values:
1400 PCL Reference Manual
Results Utility Functions

Tensor to Scalar: “VONM” “OCT” “HYDRO”,


“TRESCA” “INV1” “INV2”
“INV3” “MAXSHR” “MAXCMP”
“MINCMP” “P1”/”MAJOR” “P2”/”INTER”
“P3”/”MINOR” “XX” “YY”
“XY” “YZ” “ZX”
“MXSH2D” “MXCP2D” “MNCP2D”
“MJR2D” “MNR2D” “TRES2D”

Tensor to Vector: “PV1”/”MAJORV” “PV2”/”INTERV” “PV3”/”MINORV”


“MJRV2D” “MNRV2D”
any six characters such as “XXYYZZ”

Vector to Scalar: “XX” “YY” “ZZ”


“MAG” “MAXCMP” “MINCMP”
“AVG”

The input value avg_method can have the following values:


“DeriveAverage”, “AverageDerive”, “Difference”, “Sum”
The input value avg_domain can have the following values:
“All”, “Material”, “Property”, “EType”, “Target”, “Element”
The input value extrap_method can have the following values:
“ShapeFunc”, “Average”, “Centroid”, “Max”, “Min”, “AsIs”
The input value complex_form can have the following values:
“Real”, “Imaginary”, “Magnitude”, “Phase”, “Angle”
This function can display an information popup message form with the following messages:
16000001Error code %I% occurred in %A%.
16000002Called from %A%.
30001425Notice: %I% interpolants lie off the field.
30001437An attempt was made to average nodal values for an element. All of the element nodes were
not found for %I% elements.
This function can display a warning popup message form with the following messages:
Chapter 6: Results Postprocessing Functions 1401
Results Utility Functions

4500019The results specified for this operation are defined in an Unknown element local coordinate
system. The global system will be assumed for all transformation operations. Errors may be introduced
when using nodal averaged or transformed result components.
38000199WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing
surface) of %7.5f. The design build gap is %7.5f. Automatic gap fill invoked!
OR
WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing surface)
of %7.5f. The design build gap is %7.5f. Delete and Rebuild the Composite Trim Surface!
OR
ERROR -- Composite Trim Surface Evaluator cannot compute a point on surface! The problem is a
vertical surface. Check the geometry, change view orientation, Delete and Rebuild the Composite Trim
Surface!
30001424Routine to locate points in elements did not converge for %I% interpolants.
This function can display a fatal popup message form with the following messages:
13000088Preference not found.
16000201Database error for item %I%: %A%.
30001061Field %A% is disassociated with geometry entity and unusable unless a new geometry entity
is provided.
38000136CompTrimSurface processor cannot locate surface with LABEL=%I% -- This is a database
FAILURE! -- Delete and Rebuild the CompTrim Surface.
Example:
INTEGER i, j, nres, dtype, minloc(VIRTUAL), maxloc(VIRTUAL), status
INTEGER nids(VIRTUAL), subids(5) = 1,2,3,4,5
REAL results(VIRTUAL)

/* Extract von Mises nodal results from the element tensor result with Loadcases
ID=2, Subcases ID=1 thru 5,Primary Res ID=3, Secondary Res ID=1, Layer ID=1 */
status = res_utl_extract_nodal_results( 5,[2,2,2,2,2],subids, @
[3,1,1], "Node 1:#", "vonm", "", dtype, nres, nids, results, @
minloc, maxloc )
IF( status != 0 ) THEN /* print message if error */
msg_to_form( status, 4, 0, 0, 0., "" )
ELSE
/* print out min/max subcase/value for each node */
FOR( i = 1 TO nres )
ui_writec(" Id= %d, Min Subcase= %d, von Mises Stress= %g", @
ids(i), subids(minloc(i)), results(minloc(i),i) )
ui_writec(" Id= %d, Max Subcase= %d, von Mises Stress= %g", @
ids(i), subids(maxloc(i)), results(maxloc(i),i) )
END FOR
END IF
1402 PCL Reference Manual
Results Utility Functions

res_utl_create_nodal_result (result_ids, primary_title, secondary_title, nids,


ids, cid_list, data_type, results)

Description:
This function adds the specified results data to the database.
Input:
INTEGER result_ids(5) This value specifies the load case identifier, subcase
identifier, primary result identifier, secondary result
identifier, and layer identifier. The primary and result
identifiers are not used as inputs by this function. This
value is used as both an input and an output to the
function and would be passed by the calling function as
a single argument.
STRING primary_title[80] This value specifies the primary result title.
STRING secondary_title[80] This value specifies the secondary result title.
INTEGER nids This value specifies the number of input node
identifiers.
INTEGER ids(nids) This value specifies the node identifiers for the results.
STRING cid_list[] This value specifies the alternate coordinate system for
the vector or tensor results. A null string is used for the
global coordinate system.
INTEGER data_type This value specifies the data type to use: 1=scalar,
2=vector, and 3=tensor.
REAL results() This value specifies all of the results at the specified
nodes.
Output:
INTEGER result_ids(5) This value returns the load case identifier, subcase
identifier, primary result identifier, secondary result
identifier, and layer identifier. The load case, subcase,
and layer identifiers are not used as output values by
this function. The primary and result identifiers are
used as outputs by this function. This value is used as
both an input and an output to the function and would
be passed by the calling function as a single argument.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
Chapter 6: Results Postprocessing Functions 1403
Results Utility Functions

4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500004 No Nodes found in the database matching the input list.
4500007 The specified Layer Id is not associated with the specified result.
4500015 The specified Coordinate Frame does not exist.
4500018 The Coordinate Frame List is not valid.
13000054 Result case not found.

Remarks:

This function expects that a load case or subcase and a layer position already exist.
The value result_ids will be used as both an input and an output value.
The primary and secondary identifiers returned by the input and output value result_ids are based on the
input values primary_title and secondary_title. These input values primary_title and secondary_title will
either match up with existing primary and secondary results or new ones will be generated.
Example:

Please see res_utl_create_nodal_result.


1404 PCL Reference Manual
Results Utility Functions

res_utl_extract_elem_results (result_ids, elem_list, derivation, location, cid,


data_type, resloc, nres, ids, nresults, results,
minloc, maxloc)

Description:
This function extracts the specified results data from the database.
Input:
INTEGER result_ids(5) This value specifies the load case identifier, subcase
identifier, primary result identifier, secondary result
identifier, and layer identifier.
STRING elem_list[] This value specifies a list of elements for which to extract
results.
STRING derivation[10] This value specifies the derivation specifier if the results
are to be derived. A value of null will leave the result as
is. See the remarks below for more information.
STRING location[] This value specifies the location of the coordinate frame
identifier: "", "A" = axis, "C" = centroid, and "N" = nodal.
STRING cid[] This value specifies the coordinate system for vector and
tensor transformations. A null string is used to leave the
coordinate frame identifier as is. Valid Coordinate sytem
strings types are: "Global", "Material", "IJK",
"Nodal", "Coord", "ResCoord", "Bisector",
"CQUAD8", "Unknown", "Default", "LocalDir",
"AsIs". For a more detailed explanation of Coordinate
Systems in Patran, please see Coordinate Systems (p. 27)
in the Results Postprocessing
Output:
INTEGER data_type This value returns the data type. Valid values are:
1=scalar, 2=vector, and 3=tensor.
INTEGER resloc This value returns the result location. Valid values are:
1=centroid, 2=nodal, 3=multiple, and 4=mixed.
INTEGER nres This value returns the number of returned element
identifiers.
INTEGER ids(VIRTUAL) This value returns a list of element identifiers.
INTEGER nresults(VIRTUAL) This value returns the number of results per element.
REAL results(VIRTUAL) This value returns all of the results at the specified
element locations.
INTEGER minloc(12) This value returns the array offsets for each minimum
result component in the output value results.
Chapter 6: Results Postprocessing Functions 1405
Results Utility Functions

INTEGER maxloc(12) This value returns the array offsets for each maximum
result component in the output value results.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in
the message database.
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500005 No Elements are found for the specified result matching the input list.
4500006 The Loadcase/Subcase/Primary Result/ Secondary Result Id combination
specified cannot be found.
4500007 The specified Layer Id is not associated with the specified result.
4500008 The input Location string is invalid.
4500009 No results are found in the database matching the specified Ids.
4500010 The derivation specified in invalid.
4500011 A error has occurred extrapolating this result to the element nodes.
4500014 An error has occurred interpreting the input List string.
4500015 The specified Coordinate Frame does not exist.
4500018 The Coordinate Frame List is not valid.
13000054 Result case not found.
13000056 Coordinate frame not found.
13000071 Result case type not found.
13000085 Cursor not open.
13000086 No Records Found.
13000117 The query specified has completed.
13000210 The system is out of virtual memory.
14000281 LpExpandPclVariables: Virtual memory is full.
14000298 LpPicklistDecoder: Parse error.
14000299 LpPicklistDecoder: Memory is exhausted.
14000302 LpPicklistDecoderWithLookup: Memory is exhausted.

Remarks:

This function will perform extrapolation and averaging as necessary when element based results are
requested.
1406 PCL Reference Manual
Results Utility Functions

The result data type returned will be determined by the input value derivation.
Results may be extracted either at element centroids, element nodes or as found.
The value in the output values minloc or maxloc are not the direct index into the output value results. Use
the following formula to obtain the index into the output value results using the values in the output
values minloc or maxloc: res_index = loc(2,i) + nresults(1) + nresults(2) + ... + nresults(loc(1,i)-1). If the
element results are centroidal this will become: res_index = loc(1,i).
The specified result will be held in memory for further operations. Only one result is held in memory at
a time.
The output value ids will be allocated with the number of offsets defined by the output value nres.
The output value results will be allocated as a two dimensional array where the number of offsets in the
first dimension of the array will be set by the sum of all of the values in the output value nresults. The
number of offsets in the second dimension is dependent on the input value derivation. The second
dimension of the output value results will be set as follows: If the input value derivation specifies a
“tensor to scalar” or “vector to scalar” operation there will be 1 offset. If the input value derivation
specifies a “tensor to vector” operation there will be 3 offsets.
The output values minloc and maxloc will be allocated as two dimensional arrays where the number of
offsets in the first dimension of the array will be set by the output value nres. The number of offsets in
the second dimension is dependent on the input value derivation. The second dimension of the output
values minloc and maxloc will be set as follows: If the input value derivation specifies a “tensor to scalar”
or “vector to scalar” operation there will be 1 offset. If the input value derivation specifies a “tensor to
vector” operation there will be 3 offsets.
Vector or tensor results will be transformed to the alternate coordinate frame identifier if specified.
The input value derivation can have the following values:
Chapter 6: Results Postprocessing Functions 1407
Results Utility Functions

Tensor to Scalar: “VONM” “OCT” “HYDRO”,


“TRESCA” “INV1” “INV2”
“INV3” “MAXSHR” “MAXCMP”
“MINCMP” “P1”/”MAJOR” “P2”/”INTER”
“P3”/”MINOR” “XX” “YY”
“XY” “YZ” “ZX”
“MXSH2D” “MXCP2D” “MNCP2D”
“MJR2D” “MNR2D” “TRES2D”
“VMSTRN”
Tensor to Vector: “PV1”/”MAJORV” “PV2”/”INTERV” “PV3”/”MINORV”
“MJRV2D” “MNRV2D”
any six characters such as “XXYYZZ”

Vector to Scalar: “XX” “YY” “ZZ”


“MAG” “MAXCMP” “MINCMP”
“AVG”

This function can display an information popup message form with the following messages:
16000001Error code %I% occurred in %A%.
16000002Called from %A%.
30001425Notice: %I% interpolants lie off the field.
30001437An attempt was made to average nodal values for an element. All of the element nodes were
not found for %I% elements.
This function can display a warning popup message form with the following messages:
4500019The results specified for this operation are defined in an Unknown element local coordinate
system. The global system will be assumed for all transformation operations. Errors may be introduced
when using nodal averaged or transformed result components.
38000199WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing
surface) of %7.5f. The design build gap is %7.5f. Automatic gap fill invoked!
OR
WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing surface)
of %7.5f. The design build gap is %7.5f. Delete and Rebuild the Composite Trim Surface!
OR
1408 PCL Reference Manual
Results Utility Functions

ERROR -- Composite Trim Surface Evaluator cannot compute a point on surface! The problem is a
vertical surface. Check the geometry, change view orientation, Delete and Rebuild the Composite Trim
Surface!
30001424Routine to locate points in elements did not converge for %I% interpolants.
This function can display a fatal popup message form with the following messages:
13000088Preference not found.
16000201Database error for item %I%: %A%.
30001061Field %A% is disassociated with geometry entity and unusable unless a new geometry entity
is provided.
38000136CompTrimSurface processor cannot locate surface with LABEL=%I% -- This is a database
FAILURE! -- Delete and Rebuild the CompTrim Surface.
Example:

Please see res_utl_extract_elem_results.


Chapter 6: Results Postprocessing Functions 1409
Results Utility Functions

res_utl_extract_elem_results2 (result_ids, elem_list, derivation, location,


cid, avg_method, avg_domain,
extrap_method, complex_form,
complex_angle, data_type, resloc, nres,
ids, nresults, results, minloc, maxloc)

Description:
This function extracts the specified results data from the database.
Input:
INTEGER result_ids(5) This value specifies the load case identifier, subcase
identifier, primary result identifier, secondary result
identifier, and layer identifier.
STRING elem_list[] This value specifies a list of elements for which to
extract results.
STRING derivation[10] This value specifies the derivation specifier if the
results are to be derived. A value of null will leave the
result as is. See the remarks below for more
information.
STRING location[] This value specifies the location of the coordinate
frame identifier: "", "A" = axis, "C" = centroid, and
"N" = nodal.
STRING cid[] This value specifies the coordinate system for vector
and tensor transformations. A null string is used to
leave the coordinate frame identifier as is.
STRING avg_method[] This value specifies the averaging method to be used.
STRING avg_domain[] This value specifies the averaging domain to be used.
STRING extrap_method[] This value specifies the method to use in
extrapolation.
STRING complex_form[] This value specifies the form to be used for complex
numbers.
REAL complex_angle This value is used with complex results when the
complex_form is “Angle”.
Output:
INTEGER data_type This value returns the data type. Valid values are:
1=scalar, 2=vector, and 3=tensor.
INTEGER resloc This value returns the result location. Valid values
are: 1=centroid, 2=nodal, 3=multiple, and 4=mixed.
INTEGER nres This value returns the number of returned element
identifiers.
1410 PCL Reference Manual
Results Utility Functions

INTEGER ids(VIRTUAL) This value returns a list of element identifiers.


INTEGER nresults(VIRTUAL) This value returns the number of results per element.
REAL results(VIRTUAL) This value returns all of the results at the specified
element locations.
INTEGER minloc(12) This value returns the array offsets for each minimum
result component in the output value results.
INTEGER maxloc(12) This value returns the array offsets for each
maximum result component in the output value
results.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.

Error Conditions:
1 This is an internal status condition. There is no corresponding status
message in the message database.
4500003 A memory allocation error has occurred. Please check function inputs and
call RES_UTL_FREE_RESULTS() before proceeding.
4500005 No Elements are found for the specified result matching the input list.
4500006 The Loadcase/Subcase/Primary Result/ Secondary Result Id combination
specified cannot be found.
4500007 The specified Layer Id is not associated with the specified result.
4500008 The input Location string is invalid.
4500009 No results are found in the database matching the specified Ids.
4500010 The derivation specified in invalid.
4500011 A error has occurred extrapolating this result to the element nodes.
4500014 An error has occurred interpreting the input List string.
4500015 The specified Coordinate Frame does not exist.
4500018 The Coordinate Frame List is not valid.
13000054 Result case not found.
13000056 Coordinate frame not found.
13000071 Result case type not found.
13000085 Cursor not open.
13000086 No Records Found.
13000117 The query specified has completed.
13000210 The system is out of virtual memory.
Chapter 6: Results Postprocessing Functions 1411
Results Utility Functions

14000281 LpExpandPclVariables: Virtual memory is full.


14000298 LpPicklistDecoder: Parse error.
14000299 LpPicklistDecoder: Memory is exhausted.
14000302 LpPicklistDecoderWithLookup: Memory is exhausted.

Remarks:

This function will perform extrapolation and averaging as necessary when element based results are
requested.
The result data type returned will be determined by the input value derivation.
Results may be extracted either at element centroids, element nodes or as found.
The value in the output values minloc or maxloc are not the direct index into the output value results. Use
the following formula to obtain the index into the output value results using the values in the output
values minloc or maxloc: res_index = loc(2,i) + nresults(1) + nresults(2) + ... + nresults(loc(1,i)-1). If the
element results are centroidal this will become: res_index = loc(1,i).
The specified result will be held in memory for further operations. Only one result is held in memory at
a time.
The output value ids will be allocated with the number of offsets defined by the output value nres.
The output value results will be allocated as a two dimensional array where the number of offsets in the
first dimension of the array will be set by the sum of all of the values in the output value nresults. The
number of offsets in the second dimension is dependent on the input value derivation. The second
dimension of the output value results will be set as follows: If the input value derivation specifies a
“tensor to scalar” or “vector to scalar” operation there will be 1 offset. If the input value derivation
specifies a “tensor to vector” operation there will be 3 offsets.
The output values minloc and maxloc will be allocated as two dimensional arrays where the number of
offsets in the first dimension of the array will be set by the output value nres. The number of offsets in
the second dimension is dependent on the input value derivation. The second dimension of the output
values minloc and maxloc will be set as follows: If the input value derivation specifies a “tensor to scalar”
or “vector to scalar” operation there will be 1 offset. If the input value derivation specifies a “tensor to
vector” operation there will be 3 offsets.
Vector or tensor results will be transformed to the alternate coordinate frame identifier if specified.
The input value derivation can have the following values:
1412 PCL Reference Manual
Results Utility Functions

Tensor to Scalar: “VONM” “OCT” “HYDRO”,


“TRESCA” “INV1” “INV2”
“INV3” “MAXSHR” “MAXCMP”
“MINCMP” “P1”/”MAJOR” “P2”/”INTER”
“P3”/”MINOR” “XX” “YY”
“XY” “YZ” “ZX”
“MXSH2D” “MXCP2D” “MNCP2D”
“MJR2D” “MNR2D” “TRES2D”
“VMSTRN”
Tensor to Vector: “PV1”/”MAJORV” “PV2”/”INTERV” “PV3”/”MINORV”
“MJRV2D” “MNRV2D”
any six characters such as “XXYYZZ”

Vector to Scalar: “XX” “YY” “ZZ”


“MAG” “MAXCMP” “MINCMP”
“AVG”

The input value avg_method can have the following values:


“DeriveAverage”, “AverageDerive”, “Difference”, “Sum”
The input value avg_domain can have the following values:
“All”, “Material”, “Property”, “EType”, “Target”, “Element”
The input value extrap_method can have the following values:
“ShapeFunc”, “Average”, “Centroid”, “Max”, “Min”, “AsIs”
The input value complex_form can have the following values:
“Real”, “Imaginary”, “Magnitude”, “Phase”, “Angle”
This function can display an information popup message form with the following messages:
16000001Error code %I% occurred in %A%.
16000002Called from %A%.
30001425Notice: %I% interpolants lie off the field.
30001437An attempt was made to average nodal values for an element. All of the element nodes were
not found for %I% elements.
This function can display a warning popup message form with the following messages:
Chapter 6: Results Postprocessing Functions 1413
Results Utility Functions

4500019The results specified for this operation are defined in an Unknown element local coordinate
system. The global system will be assumed for all transformation operations. Errors may be introduced
when using nodal averaged or transformed result components.
38000199WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing
surface) of %7.5f. The design build gap is %7.5f. Automatic gap fill invoked!
OR
WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing surface)
of %7.5f. The design build gap is %7.5f. Delete and Rebuild the Composite Trim Surface!
OR
ERROR -- Composite Trim Surface Evaluator cannot compute a point on surface! The problem is a
vertical surface. Check the geometry, change view orientation, Delete and Rebuild the Composite Trim
Surface!
30001424Routine to locate points in elements did not converge for %I% interpolants.
This function can display a fatal popup message form with the following messages:
13000088Preference not found.
16000201Database error for item %I%: %A%.
30001061Field %A% is disassociated with geometry entity and unusable unless a new geometry entity
is provided.
38000136CompTrimSurface processor cannot locate surface with LABEL=%I% -- This is a database
FAILURE! -- Delete and Rebuild the CompTrim Surface.
Example:
INTEGER i, j, idx, nres, dtype, resloc, minloc(2,6), maxloc(2,6), status
INTEGER eids(VIRTUAL), nresults(VIRTUAL)
REAL results(VIRTUAL)

/* Extract the element tensor result with Loadcase ID=2, Subcase ID=1,Primary Res
ID=3, Secondary Res ID=1, Layer ID=1 at the element nodes and orient the tensor
with the global*/
status = res_utl_extract_elem_results( [2,1,3,1,1], "Elm 1:#", @
"", "n", "Coord 0", dtype, resloc, nres, eids, nresults, @
results, minloc, maxloc )
IF( status != 0 ) THEN @ /* print message if error */
msg_to_form( status, 4, 0, 0, 0., "" )
ELSE
/* print out min/max for each stress component */
FOR( j = 1 TO 6 )
idx = minloc(2,j)
FOR( i = 1 TO minloc(1,j)-1)
idx += nresults(i)
END FOR
ui_writec(" Min Id= %d, Comp= %d, Stress= %g", @
ids(minloc(1,i)), j, results(idx,j) )
idx = maxloc(2,j)
FOR( i = 1 TO maxloc(1,j)-1)
idx += nresults(i)
END FOR
1414 PCL Reference Manual
Results Utility Functions

ui_writec(" Max Id= %d, Comp= %d, Stress= %g", @


ids(maxloc(1,i)), j, results(idx,j) )
END FOR
END IF
Chapter 6: Results Postprocessing Functions 1415
Results Utility Functions

res_utl_extract_elem_history (nlcs, lcids, subids, result_ids,


elem_list, derivation, location,
cid, data_type, resloc, nres, ids,
nresults, results, minloc,
maxloc)

Description:
This function extracts the specified results data from the database.
Input:
INTEGER nlcs This value specifies the number of result cases to be
extracted.
INTEGER lcids(nlcs) This value specifies the load case identifiers.
INTEGER subids(nlcs) This value specifies the subcase identifiers.
INTEGER result_ids(3) This value specifies the primary result identifier, secondary
result identifier, and layer identifier.
STRING elem_list[] This value specifies a list of elements at which to extract
results.
STRING derivation[10] This value specifies the derivation specifier if the results
are to be derived. A value of null will leave the result as is.
See the remarks below for more information.
STRING location[] This value specifies the coordinate frame identifier
location: "", "A" = axis, "C" = centroid, and "N" = nodal.
STRING cid[] This value specifies the coordinate system for
vector/tensor transformations. A null string is used to leave
the coordinate frame identifier as is.
Output:
INTEGER data_type This value returns the data type. Valid values are: 1=scalar,
2=vector, and 3=tensor.
INTEGER resloc This value returns the results location. Valid values are:
1=centroid, 2=nodal, and 3=multiple.
INTEGER nres This value returns the number of node identifiers.
INTEGER ids(VIRTUAL) This value returns a list of node identifiers.
INTEGER nresults(VIRTUAL) This value returns the number of results per element.
REAL results(VIRTUAL) This value returns all of the results at the specified node for
each result case.
INTEGER minloc(VIRTUAL) This value returns the array offsets for each minimum
result component in the output value results.
1416 PCL Reference Manual
Results Utility Functions

INTEGER maxloc(VIRTUAL) This value returns the array offsets for each maximum
result component in the output value results.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in the
message database.
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500005 No Elements are found for the specified result matching the input list.
4500006 The Loadcase/Subcase/Primary Result/ Secondary Result Id combination specified
cannot be found.
4500007 The specified Layer Id is not associated with the specified result.
4500008 The input Location string is invalid.
4500009 No results are found in the database matching the specified Ids.
4500010 The derivation specified in invalid.
4500011 A error has occurred extrapolating this result to the element nodes.
4500014 An error has occurred interpreting the input List string.
4500015 The specified Coordinate Frame does not exist.
4500018 The Coordinate Frame List is not valid.
13000054 Result case not found.
13000056 Coordinate frame not found.
13000071 Result case type not found.
13000085 Cursor not open.
13000086 No Records Found.
13000117 The query specified has completed.
13000210 The system is out of virtual memory.
14000281 LpExpandPclVariables: Virtual memory is full.
14000298 LpPicklistDecoder: Parse error.
14000299 LpPicklistDecoder: Memory is exhausted.
14000302 LpPicklistDecoderWithLookup: Memory is exhausted.

Remarks:

This function will perform extrapolation and averaging as necessary.


Chapter 6: Results Postprocessing Functions 1417
Results Utility Functions

The result data type returned will be determined by the input value derivation.
The minimum and maximum subcase locations will be determined for each element location specified.
The values in the output values minloc or maxloc are not the direct index into the output value results.
Use the following formula to obtain the index into the output value results using the values in the output
values minloc or maxloc: res_index = loc(2,i) + nresults(1) + nresults(2) + ... + nresults(loc(1,i)-1). If the
element results are centroidal this will become: res_index = loc(1,i).
The last specified result will be held in memory for further operations. Only one result is held in memory
at a time.
The output value ids will be allocated with the number of offsets defined by the output value nres.
The output value results will be allocated as a two dimensional array where the number of offsets in the
first dimension of the array will be set by the sum of all of the values in the output value nresults. The
number of offsets in the second dimension is dependent on the input value derivation. The second
dimension of the output value results will be set as follows: If the input value derivation specifies a
“tensor to scalar” or “vector to scalar” operation there will be 1 offset. If the input value derivation
specifies a “tensor to vector” operation there will be 3 offsets.
The output values minloc and maxloc will be allocated as two dimensional arrays where the number of
offsets in the first dimension of the array will be set by the output value nres. The number of offsets in
the second dimension is dependent on the input value derivation. The second dimension of the output
values minloc and maxloc will be set as follows: If the input value derivation specifies a “tensor to scalar”
or “vector to scalar” operation there will be 1 offset. If the input value derivation specifies a “tensor to
vector” operation there will be 3 offsets.
Vector or tensor results will be transformed to the alternate coordinate frame identifier if specified.
The input value derivation can have the following values:
1418 PCL Reference Manual
Results Utility Functions

Tensor to Scalar: “VONM” “OCT” “HYDRO”,


“TRESCA” “INV1” “INV2”
“INV3” “MAXSHR” “MAXCMP”
“MINCMP” “P1” “P2”
“P3” “XX” “YY”
“XY” “YZ” “ZX”

Tensor to Vector: “PV1” “PV2” “PV3”


any six characters such as “XXYYZZ”

Vector to Scalar: “XX” “YY” “ZZ”


“MAG” “MAXCMP” “MINCMP”
“AVG”

This function can display an information popup message form with the following messages:
16000001Error code %I% occurred in %A%.
16000002Called from %A%.
30001425Notice: %I% interpolants lie off the field.
30001437An attempt was made to average nodal values for an element. All of the element nodes were
not found for %I% elements.
This function can display a warning popup message form with the following messages:
4500019The results specified for this operation are defined in an Unknown element local coordinate
system. The global system will be assumed for all transformation operations. Errors may be introduced
when using nodal averaged or transformed result components.
38000199WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing
surface) of %7.5f. The design build gap is %7.5f. Automatic gap fill invoked!
OR
WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing surface)
of %7.5f. The design build gap is %7.5f. Delete and Rebuild the Composite Trim Surface!
OR
ERROR -- Composite Trim Surface Evaluator cannot compute a point on surface! The problem is a
vertical surface. Check the geometry, change view orientation, Delete and Rebuild the Composite Trim
Surface!
30001424Routine to locate points in elements did not converge for %I% interpolants.
Chapter 6: Results Postprocessing Functions 1419
Results Utility Functions

This function can display a fatal popup message form with the following messages:

13000088Preference not found.

16000201Database error for item %I%: %A%.

30001061Field %A% is disassociated with geometry entity and unusable unless a new geometry entity
is provided.

38000136CompTrimSurface processor cannot locate surface with LABEL=%I% -- This is a database


FAILURE! -- Delete and Rebuild the CompTrim Surface.

Example:

Please see res_utl_extract_elem_history.


1420 PCL Reference Manual
Results Utility Functions

res_utl_extract_elem_history2 (nlcs, lcids, subids, result_ids, elem_list,


derivation, location, cid, avg_method,
avg_domain, extrap_method,
complex_form, complex_angle,
data_type, resloc, nres, ids, nresults,
results, minloc, maxloc)

Description:
This function extracts the specified results data from the database.
Input:
INTEGER nlcs This value specifies the number of result cases to be
extracted.
INTEGER lcids(nlcs) This value specifies the load case identifiers.
INTEGER subids(nlcs) This value specifies the subcase identifiers.
INTEGER result_ids(3) This value specifies the primary result identifier, secondary
result identifier, and layer identifier.
STRING elem_list[] This value specifies a list of elements at which to extract
results.
STRING derivation[10] This value specifies the derivation specifier if the results are
to be derived. A value of null will leave the result as is. See
the remarks below for more information.
STRING location[] This value specifies the coordinate frame identifier
location: "", "A" = axis, "C" = centroid, and "N" = nodal.
STRING cid[] This value specifies the coordinate system for vector/tensor
transformations. A null string is used to leave the
coordinate frame identifier as is.
STRING avg_method[] This value specifies the averaging method to use.
STRING avg_domain[] This value specifies the averaging domain to use.
STRING extrap_method[] This value specifies the extrapolation method to use.
STRING complex_form[] This value specifies the form to be used with complex
numbers.
REAL complex_angle This value is used with complex results when the
complex_form is “Angle”.
Output:
INTEGER data_type This value returns the data type. Valid values are: 1=scalar,
2=vector, and 3=tensor.
INTEGER resloc This value returns the results location. Valid values are:
1=centroid, 2=nodal, and 3=multiple.
Chapter 6: Results Postprocessing Functions 1421
Results Utility Functions

INTEGER nres This value returns the number of node identifiers.


INTEGER ids(VIRTUAL) This value returns a list of node identifiers.
INTEGER nresults(VIRTUAL) This value returns the number of results per element.
REAL results(VIRTUAL) This value returns all of the results at the specified node for
each result case.
INTEGER minloc(VIRTUAL) This value returns the array offsets for each minimum result
component in the output value results.
INTEGER maxloc(VIRTUAL) This value returns the array offsets for each maximum
result component in the output value results.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in the
message database.
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500005 No Elements are found for the specified result matching the input list.
4500006 The Loadcase/Subcase/Primary Result/ Secondary Result Id combination specified
cannot be found.
4500007 The specified Layer Id is not associated with the specified result.
4500008 The input Location string is invalid.
4500009 No results are found in the database matching the specified Ids.
4500010 The derivation specified in invalid.
4500011 A error has occurred extrapolating this result to the element nodes.
4500014 An error has occurred interpreting the input List string.
4500015 The specified Coordinate Frame does not exist.
4500018 The Coordinate Frame List is not valid.
13000054 Result case not found.
13000056 Coordinate frame not found.
13000071 Result case type not found.
13000085 Cursor not open.
13000086 No Records Found.
13000117 The query specified has completed.
13000210 The system is out of virtual memory.
14000281 LpExpandPclVariables: Virtual memory is full.
1422 PCL Reference Manual
Results Utility Functions

14000298 LpPicklistDecoder: Parse error.


14000299 LpPicklistDecoder: Memory is exhausted.
14000302 LpPicklistDecoderWithLookup: Memory is exhausted.

Remarks:

This function will perform extrapolation and averaging as necessary.

The result data type returned will be determined by the input value derivation.

The minimum and maximum subcase locations will be determined for each element location specified.

The values in the output values minloc or maxloc are not the direct index into the output value results.
Use the following formula to obtain the index into the output value results using the values in the output
values minloc or maxloc: res_index = loc(2,i) + nresults(1) + nresults(2) + ... + nresults(loc(1,i)-1). If the
element results are centroidal this will become: res_index = loc(1,i).

The last specified result will be held in memory for further operations. Only one result is held in memory
at a time.

The output value ids will be allocated with the number of offsets defined by the output value nres.

The output value results will be allocated as a two dimensional array where the number of offsets in the
first dimension of the array will be set by the sum of all of the values in the output value nresults. The
number of offsets in the second dimension is dependent on the input value derivation. The second
dimension of the output value results will be set as follows: If the input value derivation specifies a
“tensor to scalar” or “vector to scalar” operation there will be 1 offset. If the input value derivation
specifies a “tensor to vector” operation there will be 3 offsets.

The output values minloc and maxloc will be allocated as two dimensional arrays where the number of
offsets in the first dimension of the array will be set by the output value nres. The number of offsets in
the second dimension is dependent on the input value derivation. The second dimension of the output
values minloc and maxloc will be set as follows: If the input value derivation specifies a “tensor to scalar”
or “vector to scalar” operation there will be 1 offset. If the input value derivation specifies a “tensor to
vector” operation there will be 3 offsets.

Vector or tensor results will be transformed to the alternate coordinate frame identifier if specified.

The input value derivation can have the following values:


Chapter 6: Results Postprocessing Functions 1423
Results Utility Functions

Tensor to Scalar: “VONM” “OCT” “HYDRO”,


“TRESCA” “INV1” “INV2”
“INV3” “MAXSHR” “MAXCMP”
“MINCMP” “P1”/”MAJOR” “P2”/”INTER”
“P3”/”MINOR” “XX” “YY”
“XY” “YZ” “ZX”
“MXSH2D” “MXSH2D” “MNCP2D”
“MJR2D” “MNR2D” “TRES2D”

Tensor to Vector: “PV1”/”MAJORV” “PV2”/”INTERV” “PV3”/”MINORV”


“MJRV2D” “MNRV2D”
any six characters such as “XXYYZZ”

Vector to Scalar: “XX” “YY” “ZZ”


“MAG” “MAXCMP” “MINCMP”
“AVG”

The input value avg_method can have the following values:


“DeriveAverage”, “AverageDerive”, “Difference”, “Sum”
The input value avg_domain can have the following values:
“All”, “Material”, “Property”, “EType”, “Target”, “Element”
The input value extrap_method can have the following values:
“ShapeFunc”, “Average”, “Centroid”, “Max”, “Min”, “AsIs”
The input value complex_form can have the following values:
“Real”, “Imaginary”, “Magnitude”, “Phase”, “Angle”
This function can display an information popup message form with the following messages:
16000001Error code %I% occurred in %A%.
16000002Called from %A%.
30001425Notice: %I% interpolants lie off the field.
30001437An attempt was made to average nodal values for an element. All of the element nodes were
not found for %I% elements.
This function can display a warning popup message form with the following messages:
1424 PCL Reference Manual
Results Utility Functions

4500019The results specified for this operation are defined in an Unknown element local coordinate
system. The global system will be assumed for all transformation operations. Errors may be introduced
when using nodal averaged or transformed result components.
38000199WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing
surface) of %7.5f. The design build gap is %7.5f. Automatic gap fill invoked!
OR
WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing surface)
of %7.5f. The design build gap is %7.5f. Delete and Rebuild the Composite Trim Surface!
OR
ERROR -- Composite Trim Surface Evaluator cannot compute a point on surface! The problem is a
vertical surface. Check the geometry, change view orientation, Delete and Rebuild the Composite Trim
Surface!
30001424Routine to locate points in elements did not converge for %I% interpolants.
This function can display a fatal popup message form with the following messages:
13000088Preference not found.
16000201Database error for item %I%: %A%.
30001061Field %A% is disassociated with geometry entity and unusable unless a new geometry entity
is provided.
38000136CompTrimSurface processor cannot locate surface with LABEL=%I% -- This is a database
FAILURE! -- Delete and Rebuild the CompTrim Surface.
Example:
INTEGER i, nres, dtype, resloc, minloc(VIRTUAL), @
maxloc(VIRTUAL), status
INTEGER eids(VIRTUAL), nresults(VIRTUAL), lcids(5)=2,5,9,11,15
REAL results(VIRTUAL)

/* Extract the element tensor result with Loadcases ID=2,5,9,11,15, Subcase


ID=1,Primary Res ID=3, Secondary Res ID=1, Layer ID=1 at the element centroids.
Transform to the cylindrical system Coord 1 and retrieve the Theta component for
element 101. Create an XY plot of the result */
status = res_utl_extract_elem_history( 5, lcids,[1,1,1,1,1], @
[3,1,1], “Elm 101", “yy”, “c”, “Coord 1”, type, resloc, @
nres, eids, nresults, results, minloc, maxloc )
IF( status != 0 ) THEN @ /* print message if error */
msg_to_form( status, 4, 0, 0, 0., “”)
ELSE
/* Create the plot */
xy_window_create(“res_utls”, 2., 2., 6., 6. )
xy_window_location_set(“res_utls”, 2., 2., 0 )
xy_curve_create(“theta_stress”, “theta_stress”, 7 )
xy_curve_data_set(“theta_stress”, TRUE, 5, [0., 0., 0., 0., 0.], @
results )
END IF
Chapter 6: Results Postprocessing Functions 1425
Results Utility Functions

res_utl_create_elem_result (result_ids, primary_title, secondary_title,


nids, ids, cid_list, n_comp, data_type,
location, nresults, results)

Description:
This function adds the specified results data to the database.
Input:
INTEGER result_ids(5) This value specifies the load case identifier, subcase
identifier, primary result identifier, secondary result
identifier, and layer identifier. The primary and result
identifiers are not used as inputs by this function. This
value is used as both an input and an output to the
function and would be passed by the calling function as
a single argument.
STRING primary_title[80] This value specifies the primary result title.
STRING secondary_title[80] This value specifies the secondary result title.
INTEGER nids This value specifies the number of input element
identifiers.
INTEGER ids() This value specifies the element identifiers for the
results.
STRING cid_list[] This value specifies the alternate coordinate system for
vector or tensor results. A null string is used for the
global coordinate system.
INTEGER data_type This value specifies the data type to use: 1=scalar,
2=vector, and 3=tensor.
STRING location[] This value specifies the location to use: "C" = centroid,
and "N" = nodal.
INTEGER nresults() This value specifies the number of results per element.
REAL results() This value specifies an array of all of the results at the
specified nodes.
Output:
INTEGER result_ids(5) This value returns the load case identifier, subcase
identifier, primary result identifier, secondary result
identifier, and layer identifier. The load case, subcase,
and layer identifiers are not used as output values by
this function. The primary and result identifiers are used
as outputs by this function. This value is used as both an
input and an output to the function and would be passed
by the calling function as a single argument.
1426 PCL Reference Manual
Results Utility Functions

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500005 No Elements are found for the specified result matching the input list.
4500007 The specified Layer Id is not associated with the specified result.
4500008 The input Location string is invalid.
4500009 No results are found in the database matching the specified Ids.
4500015 The specified Coordinate Frame does not exist.
4500018 The Coordinate Frame List is not valid.
13000054 Result case not found.

Remarks:

This function expects that a load case or subcase and a layer position already exist.

The value result_ids will be used as both an input and an output value.

The primary and secondary identifiers returned by the input and output value result_ids are based on the
input values primary_title and secondary_title. These input values primary_title and secondary_title will
either match up with existing primary and secondary results or new ones will be generated.

Example:

Please see res_utl_create_elem_result.


Chapter 6: Results Postprocessing Functions 1427
Results Utility Functions

res_utl_extract_path_results (result_ids, npts, pts, derivation, cid,


data_type, results, minloc, maxloc,
elem_ids)

Description:
This function extracts the specified results data from the database and interpolate as needed to obtain
results along a specified set of XYZ coordinates defining the path.
Input:
INTEGER result_ids(5) This value specifies the load case identifier, subcase
identifier, primary result identifier, secondary result
identifier, and layer identifier.
INTEGER npts This value specifies the number of path points.
REAL pts(npts*3) This value specifies global XYZ point locations.
STRING derivation[10] This value specifies the derivation specifier if the results
are to be derived. A value of null will leave the result as
is. See the remarks below for more information.
STRING cid[] This value specifies the coordinate system for
vector/tensor transformations. A null string is used to
leave the coordinate frame identifier as is.
Output:
INTEGER data_type This value returns the data type. Valid values are:
1=scalar, 2=vector, and 3=tensor.
REAL results(VIRTUAL) This value returns all of the results at the specified path
points.
INTEGER minloc(6) This value returns the point index for each minimum
result component.
INTEGER maxloc(6) This value returns the point index for each maximum
result component.
INTEGER elem_ids(npts) This value returns identifiers for elements containing each
point. No identifiers or 0 will be returned if a point was
not interpolated.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
1 This is an internal status condition. There is no corresponding status message in the
message database.
4500002 An error has occurred calculating a nodal averaged result.
1428 PCL Reference Manual
Results Utility Functions

4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500004 No Nodes found in the database matching the input list.
4500005 No Elements found in the database matching the input list.
4500006 The Loadcase/Subcase/Primary Result/ Secondary Result Id combination
specified cannot be found.
4500007 The specified Layer Id is not associated with the specified result.
4500009 No results are found in the database matching the specified Ids.
4500010 The derivation specified in invalid.
4500011 A error has occurred extrapolating this result to the element nodes.
4500015 The specified Coordinate Frame does not exist.
4500018 The Coordinate Frame List is not valid.
4500020 The input path specified points which did not interpolate to any elements.
13000054 Result case not found.
13000056 Coordinate frame not found.
13000071 Result case type not found.
13000086 No Records Found.
13000210 The system is out of virtual memory.

Remarks:

The result data type returned will be determined by the derivation method.

If an element result is specified, it will be extrapolated to the nodes and nodal averaged result values will
be computed and used for path interpolation.

This function supports TRI3, TRI6, QUAD4, QUAD8, TET4, TET10, WEDGE6, WEDGE15, HEX8,
and HEX20 element types for interpolation. Other element shapes may yield undesirable results.

The specified result will be held in memory for further operations. Only one result is held in memory at
a time.

The output value results will be allocated as a two dimensional array where the number of offsets in the
first dimension of the array will be returned by the output value npts. The number of offsets in the second
dimension is dependent on the input value derivation. The second dimension of the output value results
will be set as follows: If the input value derivation specifies a “tensor to scalar” or “vector to scalar”
operation there will be 1 offset. If the input value derivation specifies a “tensor to vector” operation there
will be 3 offsets.

Vector or tensor results will be transformed to the alternate coordinate frame identifier if specified.
Chapter 6: Results Postprocessing Functions 1429
Results Utility Functions

The input value derivation can have the following values:

Tensor to Scalar: “VONM” “OCT” “HYDRO”,


“TRESCA” “INV1” “INV2”
“INV3” “MAXSHR” “MAXCMP”
“MINCMP” “P1” “P2”
“P3” “XX” “YY”
“XY” “YZ” “ZX”

Tensor to Vector: “PV1” “PV2” “PV3”


any six characters such as “XXYYZZ”

Vector to Scalar: “XX” “YY” “ZZ”


“MAG” “MAXCMP” “MINCMP”
“AVG”

This function can display an information popup message form with the following messages:

16000001Error code %I% occurred in %A%.

16000002Called from %A%.

30001425Notice: %I% interpolants lie off the field.

30001437An attempt was made to average nodal values for an element. All of the element nodes were
not found for %I% elements.

This function can display a warning popup message form with the following messages:

4500019The results specified for this operation are defined in an Unknown element local coordinate
system. The global system will be assumed for all transformation operations. Errors may be introduced
when using nodal averaged or transformed result components.

38000199WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing
surface) of %7.5f. The design build gap is %7.5f. Automatic gap fill invoked!

OR

WARNING -- The Composite Trim Surface Evaluator has detected a large gap (or missing surface) of
%7.5f. The design build gap is %7.5f. Delete and Rebuild the Composite Trim Surface!

OR
1430 PCL Reference Manual
Results Utility Functions

ERROR -- Composite Trim Surface Evaluator cannot compute a point on surface! The problem is a
vertical surface. Check the geometry, change view orientation, Delete and Rebuild the Composite Trim
Surface!

30001424Routine to locate points in elements did not converge for %I% interpolants.

This function can display a fatal popup message form with the following messages:

13000088Preference not found.

16000201Database error for item %I%: %A%.

30001061Field %A% is disassociated with geometry entity and unusable unless a new geometry entity
is provided.

38000136CompTrimSurface processor cannot locate surface with LABEL=%I% -- This is a database


FAILURE! -- Delete and Rebuild the CompTrim Surface.

Example:

Please see res_utl_extract_path_results.

res_utl_get_loadcases (ncases, lcids, nsub)

Description:
This function retrieves the existing load cases with associated results from the database.
Input:
None.
Output:
INTEGER ncases This value returns the number of load cases found.
INTEGER lcids(VIRTUAL) This value returns a list of load case identifiers.
INTEGER nsub(VIRTUAL) This value returns the number of subcases for each load
case.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
13000052 Load case not found.

Remarks:
Chapter 6: Results Postprocessing Functions 1431
Results Utility Functions

The output values lcids and nsub will be allocated by the function.
Example:

Please see res_utl_get_loadcases.

res_utl_get_subcases (lcid, nsub, subids)

Description:
This function retrieves the existing subcases with associated results from the database.
Input:
INTEGER lcid This value specifies the loadcase identifier.
Output:
INTEGER nsub This value returns the number of subcases found.
INTEGER subids(VIRTUAL) This value returns a list of subcase identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
13000052 Load case not found.
13000053 Sub case not found.

Remarks:

The output value subids will be allocated by the function.


Example:

Please see res_utl_get_subcases


1432 PCL Reference Manual
Results Utility Functions

res_utl_get_result_ids (nlcs, lcid, subids, nres, primary_id,


secondary_id)

Description:
This function retrieves the existing results identifiers associated with a list of load case and subcase
identifiers from the database.
Input:
INTEGER nlcs This value specifies the number of load cases.
INTEGER lcid(nlcs) This value specifies load case identifiers.
INTEGER subids() This value specifies subcase identifiers.
Output:
INTEGER nres This value returns the number of results found.
INTEGER primary_id(VIRTUA This value returns a list of primary result identifiers.
L)
INTEGER secondary_id(VIRTUAL)
This value returns a list of secondary result identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500009 No results are found in the database matching the specified Ids.

Remarks:

The output values primary_id and secondary_id will be allocated by the function.
Example:

Please see res_utl_get_result_ids.


Chapter 6: Results Postprocessing Functions 1433
Results Utility Functions

res_utl_get_result_layers (result_ids, nlayers, ids,


labels)

Description:
This function retrieves the layer positions associated with results from the database.
Input:
INTEGER result_ids(4) This value specifies the load case identifier, subcase
identifier, primary result identifier, and secondary result
identifier.
Output:
INTEGER nlayers This value returns the number of associated layers found.
INTEGER ids(VIRTUAL) This value returns a list of layer position identifiers.
STRING labels[80](VIRTUAL This value returns the labels for the layers found.
)
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
13000054 Result case not found.
13000071 Result case type not found.
13000093 Too Many Values Returned for Space Allocated.
13000210 The system is out of virtual memory.

Remarks:

ALL results have at least one associated layer position identifier. Non-layered result layer titles may be
blank.
The output values ids and labels will be allocated by the function.
Example:

Please see res_utl_get_result_layers.


1434 PCL Reference Manual
Results Utility Functions

res_utl_get_global_vars (nvar, var_name)

Description:
This function retrieves the existing global variables from the database.
Input:
None.
Output:
INTEGER nvar This value returns the number of global variables found.
STRING var_name[80](VIRTUAL)
This value returns the labels for the variables found.
INTEGER <Return This function returns a value of 0 when executed
Value> successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
4500003 A memory allocation error has occurred. Please check function inputs and
call RES_UTL_FREE_RESULTS() before proceeding.

Remarks:

The output value var_name will be allocated by the function.


Example:

Please see res_utl_get_global_vars.


Chapter 6: Results Postprocessing Functions 1435
Results Utility Functions

Description:
This function retrieves the value of a specific global variable associated with a load case and subcase.
Input:
INTEGER lcid This value specifies the load case identifier.
INTEGER subid This value specifies the subcase identifier.
STRING var_name[] This value specifies the global variable name.
Output:
INTEGER ncomp This value returns the number of components used for the
variable value 1, 3 or 6.
REAL vals(6) This value returns the value[s] for the global variable.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
4500012 The specified global variable is not found.
13000054 Result case not found.
13000055 Global variable not found.

Remarks:

None.
Example:

Please see res_utl_get_global_vars.


1436 PCL Reference Manual
Results Utility Functions

res_utl_get_subcases_by_gv (lcid, var_name, compnum,


val1, val2, method, nscs,
subids)

Description:
This function retrieves all subcase identifiers with the specified global variable value within the
specified range.
Input:
INTEGER lcid This value specifies the loadcase identifier.
STRING var_name[] This value specifies the global variable name.
INTEGER compnum This value specifies the component of the values to use.
This value is usually set to 1.
REAL val1 This value specifies the lower value of the range.
REAL val2 This value specifies the upper value of the range.
STRING method[] This value specifies the method used to retrieve the
subcase identifiers. Valid values are: "U" = under, "B" =
between, "A" = above, and "O" = outside.
Output:
INTEGER nscs This value returns the number of subcases found.
INTEGER subids(VIRTUAL) This value returns a list of subcase identifiers.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500009 No results are found in the database matching the specified Ids.
4500013 The filter method specified is not valid.
13000052 Load case not found.
13000053 Sub case not found.

Remarks:

The output value subids will be allocated by the function.

Since a floating-point compare is performed to filter subcases, a tolerance should be added the range
values to assure an expected behavior.

The input value method is case insensitive and only the first character is used.
Chapter 6: Results Postprocessing Functions 1437
Results Utility Functions

Example:

Please see res_utl_get_subcases_by_gv.

res_utl_calc_results (res1, operator, res2, res3)

Description:
This function operates mathematically on two result values on a component by component basis.
Input:
REAL res1() This value specifies the first result value or constant.
STRING operator[] This value specifies the operator to use. A “+” will
add the input values res1+res2.
REAL res2() This value specifies the second result value or
constant.
Output:
REAL res3() This value returns the result value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
4500001 One of the input array arguments is of an insufficient dimension.
4500017 The specified operation is not valid.

Remarks:

The value in either the input value res1 or res2 may be used as a constant. This is accomplished by using
a single dimensional array as one of the input values res1 or res2.
The size of the input values res1, res2, and the output value res3 is determined by the declaration. All
elements of the input values will be operated on.
The input value operation can have the following values:
1438 PCL Reference Manual
Results Utility Functions

“-” will subtract RES1-RES2


“*” will multiply RES1*RES2
“/” will divide RES1/RES2
“^” will exponentiate RES1^RES2
“<” will place the lesser of RES1 and RES2 in RES3
“>” will place the greater of RES1 and RES2 in RES3
“SIND” will place SIND(RES1) in RES3
“COSD” will place COSD(RES1) in RES3
“ASIND” will place ASIND(RES1) in RES3
“ACOSD” will place ACOSD(RES1) in RES3
“SINR” will place SINR(RES1) in RES3
“COSR” will place COSR(RES1) in RES3
“TAND” will place TAND(RES1) in RES3
“ATAND” will place ATAND(RES1) in RES3
“TANR” will place TANR(RES1) in RES3
“ATANR” will place ATANR(RES1) in RES3
“ATAN2D” will place ATAN2D(RES1,RES2) in RES3
“ATAN2R” will place ATAN2R(RES1,RES2) in RES3
“SQRT” will place SQRT(RES1) in RES3
“LN” will place LN(RES1) in RES3
“LOG” will place LOG(RES1) in RES3
“EXP” will place EXP(RES1) in RES3
“ABS” will place ABS(RES1) in RES3

Example:

Please see res_utl_calc_results.


Chapter 6: Results Postprocessing Functions 1439
Results Utility Functions

res_utl_dot_results (nres, res1, res2, res3)

Description:
This function calculates the dot product of 2 vector result values.
Input:
INTEGER nres This value specifies the number of result vectors in the
values.
REAL res1(nres,3) This value specifies the first vector result value.
REAL res2(nres,3) This value specifies the second vector result value.
Output:
REAL res3(nres) This value returns the scalar results value of dot
products.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully.
Error Conditions:
None.

Remarks:

None.
Example:

Please see res_utl_dot_results.


1440 PCL Reference Manual
Results Utility Functions

res_utl_cross_results (nres, res1, res2, res3)

Description:
This function calculates the cross product of two vector result values.
Input:
INTEGER nres This value specifies the number of result vectors in
values.
REAL res1(nres,3) This value specifies the first vector result value.
REAL res2(nres,3) This value specifies the second vector result value.
Output:
REAL res3(nres,3) This value returns the vector results value of cross
products.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully.
Error Conditions:
None.

Remarks:

None.

Example:

Please see res_utl_cross_results (p. 1016) in the PCL Reference Manual Examples.
Chapter 6: Results Postprocessing Functions 1441
Results Utility Functions

res_utl_transform_results (nvals, ncomp, in_vals, from_cid, to_cid,


out_vals)

Description:
This function transforms the input vector or tensor values from one rectangular coordinate system to
another.
Input:
INTEGER nvals This value specifies the number of result vectors in
the result values.
INTEGER ncomp This value specifies the number of components as 3 or
6
REAL in_vals(nvals,ncom This value specifies the result value.
p)
INTEGER from_cid This value specifies the FROM coordinate frame
identifier.
INTEGER to_cid This value specifies the TO coordinate frame
identifier.
Output:
REAL out_vals(nvals,ncomp) This value returns the transformed result value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
4500001 One of the input array arguments is of an insufficient dimension.
4500015 The specified Coordinate Frame does not exist.
4500017 The specified operation is not valid.
4500018 The Coordinate Frame List is not valid.

Remarks:

This function only supports transformations between rectangular coordinate systems. If cylindrical or
spherical transformations are needed, the create or extract functions need to be used so that geometric
node and element locations can be determined.

Example:

Please see res_utl_transform_results.


1442 PCL Reference Manual
Results Utility Functions

db_get_connector_fastener (id, pname, fmt, nid_gs, xyz_gs, nid_ga,


nid_gb, id_pata, id_patb)

Description:
This function retrieves fastener connector attributes from the database.
Input:
INTEGER list The connector ID.
Output:
STRING[] pname The name of the associated connector property.
INTEGER fmt The format of the spot weld (enum: SW_UNKNOWN=0,
SW_PARTPAT=1, SW_ELPAT=2, SW_ELEMID=3,
SW_GRIDID=4, OR SW_ALIGN=5).
INTEGER nid_gs ID of the node at the connector location (if zero, use
xyz_gs - supported for ELPAT and PARTPAT formats
only).
REAL(3) xyz_gs XYZ location of the connector location (used only if
nid_gs is zero - ELPAT and PARTPAT formats only).
INTEGER nid_ga ID of the node at the pierce location on surface patch A
(zero if not specified).
INTEGER nid_gb Id of the node at the pierce location on surface patch B
(zero if not specified).
INTEGER(33) id_pata The element ID, property ID or array of node ids defining
surface patch A (all formats except ALIGN).
INTEGER id_patb The element ID, property ID or array of node ids defining
surface patch B(all formats except ALIGN).
STRING[] type The connector type (e.g., Spot Weld, Fastener).
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
DbConnectorNotFound
DbConnectorWrongType

db_get_connector_spot_weld (id, pname, fmt, nid_gs, xyz_gs,


nid_ga, nid_gb, id_pata, id_patb)

Description:
This function retrieves spot weld connector attributes from the database.
Chapter 6: Results Postprocessing Functions 1443
Results Utility Functions

Input:
INTEGER list The connector ID.
Output:
STRING[] pname The name of the associated connector property.
INTEGER fmt The format of the spot weld (enum: SW_UNKNOWN=0,
SW_PARTPAT=1, SW_ELPAT=2, SW_ELEMID=3,
SW_GRIDID=4, OR SW_ALIGN=5).
INTEGER nid_gs ID of the node at the connector location (if zero, use
xyz_gs - supported for ELPAT and PARTPAT formats
only).
REAL(3) xyz_gs XYZ location of the connector location (used only if
nid_gs is zero - ELPAT and PARTPAT formats only).
INTEGER nid_ga ID of the node at the pierce location on surface patch A
(zero if not specified).
INTEGER nid_gb Id of the node at the pierce location on surface patch B
(zero if not specified).
INTEGER(33) id_pata The element ID, property ID or array of node ids defining
surface patch A (all formats except ALIGN).
INTEGER id_patb The element ID, property ID or array of node ids defining
surface patch B(all formats except ALIGN).
STRING[] type The connector type (e.g., Spot Weld, Fastener).
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
DbConnectorNotFound
DbConnectorWrongType
1444 PCL Reference Manual
Results Utility Functions

db_get_connector_type (id, title)

Description:
Given a connector ID, this function retrieves the connector type from the database..
Input:
INTEGER list The connector ID.
Output:
STRING[] type The connector type (e.g., Spot Weld, Fastener).
INTEGER <Return Value> This function returns a value of 0 if successful.
Error Conditions:
MSG_FEM_CONN_NOT_FOUND

db_get_load_case_title (id, title)

Description:
This function retrieves the title for a specified loadcase identifier.
Input:
INTEGER id This value specifies the loadcase identifier.
Output:
STRING title[80] This value returns the loadcase title.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
13000052 Load case not found.

Remarks:

None.
Example:

Please see db_get_load_case_title.


Chapter 6: Results Postprocessing Functions 1445
Results Utility Functions

db_get_load_case_id (title, id)

Description:
This function retrieves the id for a specified loadcase title.
Input:
STRING title[80] This value specifies the loadcase title.
Output:
INTEGER id This value returns the loadcase identifier.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
13000052 Load case not found.

Remarks:

None.
Example:

Please see db_get_load_case_id.


1446 PCL Reference Manual
Results Utility Functions

db_get_sub_case_title (lcid, subid, title)

Description:
This function retrieves the title for a specified loadcase and subcase identifier. It returns the title of a
subcase excluding any extension added to the name to distinguish it, in the GUI, from other subcases
with the same name.
Input:
INTEGER lcid This value specifies the loadcase identifier.
INTEGER subid This value specifies the subcase identifier.
Output:
STRING title[31] This value returns the subcase title.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
13000053 Sub case not found.

Remarks:

None.
Example:

Please see db_get_sub_case_title.


Chapter 6: Results Postprocessing Functions 1447
Results Utility Functions

db_get_sub_case_id (lcid, title, subid)

Description:
This function retrieves the subcase identifier for a specified loadcase identifier, subcase title.
Input:
INTEGER lcid This value specifies the loadcase identifier.
STRING title[31] This value specifies the subcase title.
Output:
INTEGER subid This value returns the subcase identifier.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
13000053 Sub case not found.

Remarks:

None.
Example:

Please see db_get_sub_case_id.

db_get_primary_res_label (primary_id, label)

Description:
This function retrieves the label for a specified primary result identifier.
Input:
INTEGER primary_id This value specifies the primary result identifier.
Output:
STRING label[80] This value returns the primary result label.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
13000054 Result case not found.

Remarks:
1448 PCL Reference Manual
Results Utility Functions

None.
Example:

Please see db_get_primary_res_label.

db_get_primary_res_id (label, primary_id)

Description:
This function retrieves the identifier for a specified primary result label.
Input:
STRING label[80] This value specifies the primary result label.
Output:
INTEGER primary_id This value returns the primary result identifier.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
13000054 Result case not found.

Remarks:

None.
Example:

Please see db_get_primary_res_id.


Chapter 6: Results Postprocessing Functions 1449
Results Utility Functions

db_get_secondary_res_label (primary_id, secondary_id, label)

Description:
This function retrieves the label for a specified secondary result identifier.
Input:
INTEGER primary_id This value specifies the primary results identifier.
INTEGER secondary_id This value specifies the secondary result identifier.
Output:
STRING label[80] This value returns the secondary result label.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

None.
Example:

Please see db_get_secondary_res_label.


1450 PCL Reference Manual
Results Utility Functions

db_get_secondary_res_id (primary_id, label, secondary_id)

Description:
This function retrieves the identifier for a specified secondary result label.
Input:
INTEGER primary_id This value specifies the primary result identifier.
STRING label[80] This value specifies the secondary result label.
Output:
INTEGER secondary_id This value returns the secondary result identifier.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

None.
Example:

Please see db_get_secondary_res_id.


Chapter 6: Results Postprocessing Functions 1451
Results Data Registers

Results Data Registers


The following sections describe functions used to retrieve and manipulate results data and to provide
other utility operations. These functions are used in the implementation of the operations accessed
through the form provided when “Results” is selected from the switch bar.
These functions are implemented around the concept of a register. A register can be thought of as an
“object”, called a “DataRegister” in the diagram below, that is a collection of data that is identified by an
integer. It is used to access results data and the methods used to obtain and manipulate that data. Registers
are characterized by the type of data that they contain and how that data is associated with a finite element
model entity. Registers support an association that defines the location on a finite element model entity
to which the data is applied. This location association can be of the following types: nodal, element nodal,
element centroidal, and element distributed. The data types that can be placed in a register are scalars,
vectors, or tensors. These data types may represent either real or complex results data. The methods used
to obtain and manipulate the data in a register are stored in the database and persist from session to
session. The actual register data is extracted and manipulated on request by the functions that make use
of registers.
Four families of functions, described in the Data Register Definition Functions, the Data Register Query
Functions, the Data Register Operator Functions, and the Results Display Manager sections of this
chapter, create, make use of, display the contents of, or manipulate the contents of registers. The
functions described by the “Data Register Definition Functions” section are used to specify where results
data is to be obtained, how results data is to be manipulated, how registers may be combined, and define
any location associations that finite element model entities have with results data. The functions
described in the “Data Register Query Functions” section are used to obtain information about the
contents of registers. The functions described by the “Data Register Operator Functions” section are used
to manipulate the contents of registers. The functions described by the “Results Display Manager”
section are used to display results data.
The functions that make use of registers are organized around an internal architecture that is comprised
of a procedural interface, a database layer for maintaining the register method attributes, and the register
data. The register definitions are maintained in an “object” called the “DrDataDescriptor”. This
“DrDataDescriptor” “object” is also stored in the database, allowing this data structure to persist from
session to session. The finite element model data of the registers is maintained in an “object” called
“DrDataObjects”. The following diagram depicts the architecture underlying the data register functions.
1452 PCL Reference Manual
Results Data Registers

The register functions will generally operate in the following fashion: A call, or a series of calls to the
functions used to define registers will be generated by events in the user interface. The register definitions
will be stored in the database and in a corresponding register. The “DrDataDescriptor” “object” that
contains the definition of the register will be constructed. After the registers are created, calls made to the
results display manager functions will display a plot of results data, generate data for an XY plot, or
output tabular results. The display manager will determine the finite element model entity domain for the
display request and query the specified register for data. If the register does not already hold data for the
required domain, it will be generated and held in the “DrDataObject” “object”. As the entities in the
display domain are traversed, the “DrDataObject” “object” will provide data as needed for each entity. If
at a later time it is determined that the data is no longer needed, the “DrDataObject” “object” will be
removed.
Chapter 6: Results Postprocessing Functions 1453
Data Register Definition Functions

Data Register Definition Functions


These functions define the manipulation methods and data or data source for data registers..

res_data_load_dbresult (register, location, result_type, load_case,


subcase, primary_result, secondary_result, layer,
derivation, coordinate, averaging_method,
averaging_domain, extrapolation, complex_form,
complex_angle)

Description:
This function specifies a result to be extracted from the database and manipulated into a format for
subsequent display. This description will be stored in the specified register.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the
results data is associated. Valid values are: "C" =
centroid, "N" = nodal, "EN" = element nodal, and "EL"
= element.
STRING result_type[] This value specifies the results data type. Valid values
are: "S" = scalar, "V" = vector, and "T" = tensor.
STRING load_case[] This value specifies the load case identifier.
STRING subcase[] This value specifies the subcase identifier.
STRING primary_result[] This value specifies the identifier of the primary result.
STRING secondary_result[] This value specifies the identifier of the secondary result.
STRING layer[] This value specifies the layer position identifier.
STRING derivation[10] This value specifies the derivation specifier if the results
are to be derived. A null will leave the result as is. See the
remarks below for more information.
STRING coordinate[] This value specifies the coordinate for transformations.
Valid values are: ““ = as is, “Coord i” = Db coordinate
system, "M" = material system, "IJK" = element ijk
system, "N" = nodal system, and "G" = global.
STRING averaging_method[] This value specifies the averaging method: “derive-avg”
to perform derivations and transformations, then average
the results, “avg-derive” (transform to global, average,
then derive/transform), “difference” (calculate the
difference versus average, derivations performed first),
and “sum” (sum all of the element nodal components at
the nodes).
1454 PCL Reference Manual
Data Register Definition Functions

STRING averaging_domain[] This value specifies the averaging domain: “All”,


“Matl”, “Prop”, “Target” (only consider entities in the
target definition), and “Element”.
STRING extrapolation[] This value specifies the extrapolation method:
“ShapeFunc”, “Average” (constant in element computed
as the average), and “Centroid” (constant in element as
computed centroidal value).
STRING complex_form[] This value specifies the complex form: “Real”,
“Imaginary”, “Magnitude”, “Phase”, and “Angle”.
Optional = NULL.
STRING complex_angle[] This value specifies the angle in radians to be used with
the “Angle” form. Optional = 0.0.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The input value derivation can have the following values:


Chapter 6: Results Postprocessing Functions 1455
Data Register Definition Functions

Tensor to Scalar: “VONM” “OCT” “HYDRO”,


“TRESCA” “INV1” “INV2”
“INV3” “MAXSHR” “MAXCMP”
“MINCMP” “MAJOR” “MINOR”
“INTER” “XX” “YY”
“ZZ” “XY” “YZ”
“ZX” “MXSH2D” “MXCP2D”
“MNCP2D” “MJR2D” “MNR2D”
“TRES2D”

Tensor to Vector: “MAJORV” “INTERV” “MINORV”


“XX” “YY” “ZZ”
“MJRV2D” “MNRV2D” “NRMLCOMPS”
any six characters such as “XXYYZZ”

Tensor to Tensor “TENS2D” “TENS3D”

Vector to Scalar: “XX” “YY” “ZZ”


“MAG” “MAXCMP” “MINCMP”
“AVG”

Example:

None.
1456 PCL Reference Manual
Data Register Definition Functions

res_data_load_elem_scalar (reg, scalar_id)

Description:
Create an enodal scalar register to hold the specified element scalar data
Input:
INTEGER reg This value specifies the register identifier.
INTEGER scalar_id The scalar_id is a unique identifier that you supply to this
call. It internally establishes a scalar container that you
can load with data and then post process.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:
Chapter 6: Results Postprocessing Functions 1457
Data Register Definition Functions

res_data_title (register, location, register_type, count, titles)

Description:
This function specifies a title string to be associated with the register. If this title is not specified, a
default title based on the source of the data will be used.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the
results data is associated. Valid values are: "C" =
centroid, "N" = nodal, "EN" = element nodal, and "EL" =
element.
STRING register_type[] This value specifies the register type. Valid values are:
"S" = scalar, "V" = vector, and "T" = tensor.
INTEGER count This value specifies the number of title lines.
STRING titles[](count) This value specifies the title lines to be associated with
the data in the register.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

None.
1458 PCL Reference Manual
Data Register Definition Functions

res_data_get_ntitles (register, location, register_type, count)

Description:
This function gets the number of title lines stored in a register.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the results
data is associated. Valid values are: "C" = centroid, "N" =
nodal, "EN" = element nodal, and "EL" = element.
STRING register_type[] This value specifies the register type. Valid values are: "S" =
scalar, "V" = vector, and "T" = tensor.
Output:
INTEGER count This value returns the number of title lines associated to this
register.
INTEGER <Return This function returns a value of 0 when executed successfully
Value> and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_data_get_ntitles


Chapter 6: Results Postprocessing Functions 1459
Data Register Definition Functions

res_data_get_titles (register, location, register_type, count, titles)

Description:
This function returns the number of titles and the titles themselves stored in a register.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the
results data is associated. Valid values are: "C" = centroid,
"N" = nodal, "EN" = element nodal, and "EL" = element.
STRING register_type This value specifies the register type. Valid values are: "S"
[] = scalar, "V" = vector, and "T" = tensor.
Output:
INTEGER count This value returns the number of title lines associated with
this register.
STRING titles[](count This value returns the title lines associated with this
) register.
INTEGER <Return This function returns a value of 0 when executed
Value> successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_data_get_titles.


1460 PCL Reference Manual
Data Register Definition Functions

res_data_dbres_list (register, location, register_type, count, load_cases,


subcases, primary_result, secondary_result, layers)

Description:
This function specifies a series of database result specifiers to be associated with a specific register.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which
the results data is associated. Valid values are:
"C" = centroid, "N" = nodal, "EN" = element
nodal, and "EL" = element.
STRING register_type[] This value specifies the register type. Valid
values are: "S" = scalar, "V" = vector, and "T" =
tensor.
INTEGER count This value specifies a count of the number of
results.
STRING load_cases[](count) This value specifies an value of load case
identifiers.
STRING subcases[](count) This value specifies an value of subcase
identifiers.
STRING primary_result[](count This value specifies an value of primary results
) identifiers.
STRING secondary_result[](co This value specifies an value of secondary
unt) results identifiers.
STRING layers[](count) This value specifies an value of layer position
identifiers.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This register must have previously be loaded with the res_data_load_dbresult() function and all of the
results must be of the same type.
The list of results can be subsequently used for animation, interpolation, summation, and minimum or
maximum value extraction.
Chapter 6: Results Postprocessing Functions 1461
Data Register Definition Functions

Example:

Please see res_data_dbres_list (p. 1027) in the PCL Reference Manual Examples.

res_data_register_list (register, location, register_type, count, register_list)

Description:
This function specifies a series of registers to be associated with a specific register.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the
results data is associated. Valid values are: "C" =
centroid, "N" = nodal, "EN" = element nodal, and "EL"
= element.
STRING register_type[] This value specifies the register type. Valid values are:
"S" = scalar, "V" = vector, and "T" = tensor.
INTEGER count This value specifies the number of registers.
INTEGER register_list(count) This value specifies an value of register identifiers.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

The list of registers can be subsequently used for animation, interpolation, summation, and minimum or
maximum value extraction.
Example:

Please see res_data_register_list.


1462 PCL Reference Manual
Data Register Definition Functions

res_data_list_sum (register, location, register_type, count, weights)

Description:
This function specifies that the data specified by a register list should be summed.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the
results data is associated. Valid values are: "C" =
centroid, "N" = nodal, "EN" = element nodal, and
"EL" = element.
STRING register_type[] This value specifies the register type. Valid values
are: "S" = scalar, "V" = vector, and "T" = tensor.
INTEGER count This values specifies the first count result cases.
REAL weights(count) This value specifies the optional weighting values for
the summation. Optional=NULL.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

The register list must have been previously defined using the res_data_dbres_list() or
res_data_register_list() functions.
Example:

Please see res_data_list_sum.


Chapter 6: Results Postprocessing Functions 1463
Data Register Definition Functions

res_data_list_max (register, location, register_type, method, derivation)

Description:
This function specifies that the data specified by a register list should be scanned for the maximum
values.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the results data
is associated. Valid values are: "C" = centroid, "N" = nodal, "EN"
= element nodal, and "EL" = element.
STRING register_type[] This value specifies the register type. Valid values are: "S" =
scalar, "V" = vector, and "T" = tensor.
STRING method[] This value specifies the averaging method: “derive-avg”
(perform derivations/transformations, then average), “avg-
derive” (transform to global, average, then derive/transform),
“difference” (calculate the difference versus average, derivations
performed first), and “sum” (sum all of the element nodal
components at the nodes).
STRING derivation[10] This value specifies the derivation specifier if the results are to
be derived. A null will leave the result as is. See the remarks
below for more information.
Output:
INTEGER <Return This function returns a value of 0 when executed successfully
Value> and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

The register list must have been previously defined using the res_data_dbres_list() or
res_data_register_list() functions.

The register will maintain both the result and source for each FEM entity.

The input value derivation can have the following values:


1464 PCL Reference Manual
Data Register Definition Functions

Tensor to Scalar: “VONM” “OCT” “HYDRO”,


“TRESCA” “INV1” “INV2”
“INV3” “MAXSHR” “MAXCMP”
“MINCMP” “MAJOR” “MINOR”
“INTER” “XX” “YY”
“ZZ” “XY” “YZ”
“ZX” “MXSH2D” “MXCP2D”
“MNCP2D” “MJR2D” “MNR2D”
“TRES2D”

Tensor to Vector: “MAJORV” “MINORV” “INTERV”


“XX” “YY” “ZZ”
“MJRV2D” “MNRV2D”
any six characters such as “XXYYZZ”

Tensor to Tensor “TENS2D” “TENS3D”

Vector to Scalar: “XX” “YY” “ZZ”


“MAG” “MAXCMP” “MINCMP”
“AVG”

Example:

Please see res_data_list_max.


Chapter 6: Results Postprocessing Functions 1465
Data Register Definition Functions

res_data_list_min (register, location, register_type, method, derivation)

Description:
This function specifies that the data specified by a register list should be scanned for the minimum
values.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the results
data is associated. Valid values are: "C" = centroid, "N" =
nodal, "EN" = element nodal, and "EL" = element.
STRING register_type[] This value specifies the register type. Valid values are: "S" =
scalar, "V" = vector, and "T" = tensor.
STRING method[] This value specifies the averaging method: “derive-avg”
(perform derivations/transformations, then average), “avg-
derive” (transform to global, average, then derive/transform),
“difference” (calculate the difference versus average,
derivations performed first), and “sum” (sum all of the element
nodal components at the nodes).
STRING derivation[10] This value specifies the derivation specifier if the results are to
be derived. A null will leave the result as is. See the remarks
below for more information.
Output:
INTEGER <Return This function returns a value of 0 when executed successfully
Value> and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

The register list must have been previously defined using the res_data_dbres_list() or
res_data_register_list() functions.
The register will maintain both the result and source for each FEM entity.
The input value derivation can have the following values:
1466 PCL Reference Manual
Data Register Definition Functions

Tensor to Scalar: “VONM” “OCT” “HYDRO”,


“TRESCA” “INV1” “INV2”
“INV3” “MAXSHR” “MAXCMP”
“MINCMP” “MAJOR” “MINOR”
“INTER” “XX” “YY”
“ZZ” “XY” “YZ”
“ZX” “MXSH2D” “MXCP2D”
“MNCP2D” “MJR2D” “MNR2D”
“TRES2D”

Tensor to Vector: “MAJORV” “MINORV” “INTERV”


“XX” “YY” “ZZ”
“MJRV2D” “MNRV2D”
any six characters such as “XXYYZZ”

Tensor to Tensor “TENS2D” “TENS3D”

Vector to Scalar: “XX” “YY” “ZZ”


“MAG” “MAXCMP” “MINCMP”
“AVG”

Example:

Please see res_data_list_min


Chapter 6: Results Postprocessing Functions 1467
Data Register Definition Functions

res_data_list_interp_gv (register, location, register_type, global_name,


value, interpolation, extrapolation)

Description:
This function specifies the method for interpolating/extrapolating data values between values in the
specified register list.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the results
data is associated. Valid values are: "C" = centroid, "N" =
nodal, "EN" = element nodal, and "EL" = element.
STRING register_type[] This value specifies the register type. Valid values are: "S" =
scalar, "V" = vector, and "T" = tensor.
STRING global_name[] This value specifies the name of the global variable.
REAL value This value specifies the value of the global variable.
STRING interpolation[] This value specifies the interpolation method: “Linear” to
perform linear interpolation between the two closest data
sets, ”Cubic” to perform a cubic spline fit across the closest
four data sets, ”Closest” to use the data set with the global
variable closest to the specified value, ”Ceiling” to use the
data set with the next higher global variable value, and
”Floor” to use the data set with the next lower global variable
value.
STRING extrapolation[] This value specifies the extrapolation method: “Error” to do
nothing, “Constant” to use the closest data set, and “Linear”
to extrapolate out at the ending slope.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

The register list must have been previously defined using the res_data_dbres_list() or
res_data_register_list() functions.
Only the data which is associated to the specified global variable will be considered during this operation.
1468 PCL Reference Manual
Data Register Definition Functions

The extrapolation specifier controls what action is taken when the global variable value is outside of the
range spanned by the list.
Example:

Please see res_data_list_interp_gv.

res_data_list_interp_factor (register, location, register_type,


factor, interpolation, extrapolation)

Description:
This function specifies the method for interpolating data values between values in the specified
register list.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the results
data is associated. Valid values are: "C" = centroid, "N" =
nodal, "EN" = element nodal, and "EL" = element.
STRING register_type[] This value specifies the register type. Valid values are: "S"
= scalar, "V" = vector, and "T" = tensor.
REAL factor A factor from 0.0 to 1.0.
STRING interpolation[] This value specifies the interpolation method: “Linear” to
perform linear interpolation between the two closest data
sets, ”Cubic” to perform a cubic spline fit across the closest
four data sets, ”Closest” to use the data set with the global
variable closest to the specified value, ”Ceiling” to use the
data set with the next higher global variable value, and
”Floor” to use the data set with the next lower global
variable value.
STRING extrapolation[] This value specifies the extrapolation method: “Error” to do
nothing, “Constant” to use the closest data set, and “Linear”
to extrapolate out at the ending slope.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.
Chapter 6: Results Postprocessing Functions 1469
Data Register Definition Functions

Remarks:

The register list must have been previously defined using the res_data_dbres_list() or
res_data_register_list() function. This function simply performs a linear interpolation of a list.

The factor may be varied from 0.0 to 1.0. Each data set in the list will be treated as evenly spaced
data sets with the first set having a factor of 0.0 and the last having a factor of 1.0.

This type of interpolation is useful for data not having associated global variables

Example:

Please see res_data_list_interp_factor

res_data_function (register, location, register_type, function)

Description:
This function specifies a format function used to determine the data values of a register.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the
results data is associated. Valid values are: "C" =
centroid, "N" = nodal, "EN" = element nodal, and "EL" =
element.
STRING register_type[] This value specifies the register type. Valid values are:
"S" = scalar, "V" = vector, and "T" = tensor.
STRING function[] This value specifies a PCL function such as “ ($1 + $2 /
$4) * $5”. The $n specifiers are register identifiers.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The registers specified in the function must be of the same location and type and must have been
previously loaded with a res_data_load() function.
Example:

Please see res_data_function.


1470 PCL Reference Manual
Data Register Definition Functions

res_data_scalar_to_vector (vector_register, location, coordinate,


scalar_regsisters)

Description:
This function specifies three scalar registers whose data are to make up the components of a vector data
set.
Input:
INTEGER vector_register This value specifies the register identifier that will hold
the vector data.
STRING location[] This value specifies the model entity with which the
results data is associated. Valid values are: "C" =
centroid, "N" = nodal, "EN" = element nodal, and "EL"
= element.
STRING coordinate[] This value specifies the coordinate system for the
orientation definition of the vector. Valid values are: ““ =
global, “Coord i” = Db coordinate system, "M" =
material system, "IJK" = element ijk system, "N" = nodal
system, and "G" = global.
INTEGER scalar_regsisters(3) This value specifies the identifiers for the three registers
holding the scalar data for each component of the vector
data.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

All data registers must be of the same location.


The specified coordinate system is used to define the orientation of the vector data.
Example:

Please see res_data_scalar_to_vector.


Chapter 6: Results Postprocessing Functions 1471
Data Register Definition Functions

res_data_scalar_to_tensor (tensor_register, location, coordinate,


scalar_regsisters)

Description:
This function specifies six scalar registers whose data are to make up the components of a tensor data
set.
Input:
INTEGER tensor_register This value specifies the register identifier that will hold
the tensor data.
STRING location[] This value specifies the model entity with which the
results data is associated. Valid values are: "C" =
centroid, "N" = nodal, "EN" = element nodal, and "EL"
= element.
STRING coordinate[] This value specifies the coordinate system for the
orientation definition of the tensor. Valid values are: ““
= global, “Coord i” = Db coordinate system, "M" =
material system, "IJK" = element ijk system, "N" =
nodal system, and "G" = global.
INTEGER scalar_regsisters(6) This value specifies the identifiers for the six registers
holding the scalar data for each component of the tensor
data.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

All data registers must be of the same location.


The specified coordinate system is used to define the orientation of the tensor data.
Example:

Please see res_data_scalar_to_tensor.


1472 PCL Reference Manual
Data Register Definition Functions

res_data_complex_form (register, location, register_type, form, angle)

Description:
This function specifies the method for determining the output format of complex data.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the
results data is associated. Valid values are: "C" =
centroid, "N" = nodal, "EN" = element nodal, and
"EL" = element.
STRING register_type[] This value specifies the register type. Valid values
are: "S" = scalar, "V" = vector, and "T" = tensor.
STRING form[] This value specifies the complex form to use. Valid
values are: “Real”, “Imaginary”, “Magnitude”,
“Phase”, and “Angle”.
REAL angle This value specifies the angle in radians to be used
with the “Angle” form. Optional=0.0.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

If the complex form is not explicitly set with this call, “Real” will be used as a default. See the description
for the input value form.
Example:

Please see res_data_complex_form.


Chapter 6: Results Postprocessing Functions 1473
Data Register Query Functions

Data Register Query Functions


These functions are used to query the data registers for information.

res_data_next (location, register_type)

Description:
This function returns the next available unused register identifier of the specified location and type.
Input:
STRING location[] This value specifies the model entity with which the
results data is associated. Valid values are: "C" =
centroid, "N" = nodal, "EN" = element nodal, and "EL"
= element.
STRING register_type[] This value specifies the register type. Valid values are:
"S" = scalar, "V" = vector, and "T" = tensor.
Output:
INTEGER <Return Value> The return value is the next available unused register
identifier.
Error Conditions:
None.

Remarks:

None.
Example:

Please see res_data_next.


1474 PCL Reference Manual
Data Register Query Functions

res_data_defined (register, location, register_type)

Description:
This function returns 0 or 1 depending on whether or not the register has been defined.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the
results data is associated. Valid values are: "C" =
centroid, "N" = nodal, "EN" = element nodal, and "EL"
= element.
STRING register_type[] This value specifies the register type. Valid values are:
"S" = scalar, "V" = vector, and "T" = tensor.
Output:
LOGICAL <Return Value> This value returns TRUE when the input register
identifier has an existing definition stored in the
database, or FALSE otherwise.
Error Conditions:
None.

Remarks:

None.
Example:

Please see res_data_defined (p. 1048) in the PCL Reference Manual Examples.
Chapter 6: Results Postprocessing Functions 1475
Data Register Query Functions

res_data_dump (register, location, register_type, file_name,


file_options)

Description:
This function dumps the data of the specified register to a file.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the results data
is associated. Valid values are: "C" = centroid, "N" = nodal, "EN"
= element nodal, and "EL" = element.
STRING register_type[] This value specifies the register type. Valid values are: "S" =
scalar, "V" = vector, and "T" = tensor.
STRING file_name[] This value specifies the file name to dump a register’s data into.
STRING file_options[] This value specifies the file options controlling the types of read
and write operations that may be done to the file. See the remarks
below for more information.
Output:
INTEGER <Return This function returns a value of 0 when executed successfully
Value> and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

The input value file_options can make use of the following values. This values can be concatenated
together to specify more that one option at a time:
1476 PCL Reference Manual
Data Register Query Functions

Option Description

N Use this option to create a new file.


O Use this option to open an existing file. If the “N” option is used with this option, the
file will be created if it does not already exist.
R Use this option to open the file for read access.
W Use this option to open the file for write access. If the “R” option is used with this
option, the file will be opened for both reading and writing.
A Use this option to open the file for appending at the end of the file. This option is
available with the text_open() function only.
V Use this option to specify the use of version numbers for searching for or creating the
file.
P Use this option to specify that the directories in the file utilities path in the environment
variables should be searched to find the file.
L Use this option to specify that the file be locked for exclusive access. This option is
currently not available.
S Use this option to specify that file is in the scratch directory. This option is only
available with file names that have been created using the file_unique_name() function.
D Use this option to specify that the file should be deleted when it is closed. This option
is valid only with functions that can close the file.

Example:

Please see res_data_dump (p. 1049) in the PCL Reference Manual Examples.
Chapter 6: Results Postprocessing Functions 1477
Data Register Query Functions

res_data_csys_dump (file_name, file_options)

Description:
This function dumps the coordinate system information to a file from all defined registers.
Input:
STRING file_name[] This value specifies the file name to dump a register’s
coordinate data into.
STRING file_options[] This value specifies the file options controlling the
types of read and write operations that may be done to
the file. See the remarks below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

The input value file_options can make use of the following values. This values can be concatenated
together to specify more that one option at a time:
1478 PCL Reference Manual
Data Register Query Functions

Option Description

N Use this option to create a new file.


O Use this option to open an existing file. If the “N” option is used with this option, the
file will be created if it does not already exist.
R Use this option to open the file for read access.
W Use this option to open the file for write access. If the “R” option is used with this
option, the file will be opened for both reading and writing.
A Use this option to open the file for appending at the end of the file. This option is
available with the text_open() function only.
V Use this option to specify the use of version numbers for searching for or creating the
file.
P Use this option to specify that the directories in the file utilities path in the environment
variables should be searched to find the file.
L Use this option to specify that the file be locked for exclusive access. This option is
currently not available.
S Use this option to specify that file is in the scratch directory. This option is only
available with file names that have been created using the file_unique_name() function.
D Use this option to specify that the file should be deleted when it is closed. This option
is valid only with functions that can close the file.

Example:

Please see res_data_csys_dump.


Chapter 6: Results Postprocessing Functions 1479
Data Register Query Functions

res_data_pattern_dump (file_name, file_options)

Description:
This function dumps the register data pattern information to a file from all defined registers.
Input:
STRING file_name[] This value specifies the file name to dump a register’s
pattern data into.
STRING file_options[] This value specifies the file options controlling the types
of read and write operations that may be done to the file.
See the remarks below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

The input value file_options can make use of the following values. This values can be concatenated
together to specify more that one option at a time:
1480 PCL Reference Manual
Data Register Query Functions

Option Description

N Use this option to create a new file.


O Use this option to open an existing file. If the “N” option is used with this option, the
file will be created if it does not already exist.
R Use this option to open the file for read access.
W Use this option to open the file for write access. If the “R” option is used with this
option, the file will be opened for both reading and writing.
A Use this option to open the file for appending at the end of the file. This option is
available with the text_open() function only.
V Use this option to specify the use of version numbers for searching for or creating the
file.
P Use this option to specify that the directories in the file utilities path in the environment
variables should be searched to find the file.
L Use this option to specify that the file be locked for exclusive access. This option is
currently not available.
S Use this option to specify that file is in the scratch directory. This option is only
available with file names that have been created using the file_unique_name() function.
D Use this option to specify that the file should be deleted when it is closed. This option
is valid only with functions that can close the file.

Example:

Please see res_data_pattern_dump.


Chapter 6: Results Postprocessing Functions 1481
Data Register Query Functions

res_data_get_source_type (register, location, register_type, source_type)

Description:
This function outputs the register’s data source type.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the results
data is associated. Valid values are: "C" = centroid, "N" =
nodal, "EN" = element nodal, and "EL" = element.
STRING register_type[] This value specifies the register type. Valid values are: "S" =
scalar, "V" = vector, and "T" = tensor.
Output:
STRING source_type[] This value returns the source type. Valid values are: “Db”,
“LBC”, “FEMAttrib”, “EProp”, “User”, and “Derived”.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

The data source type for a register corresponds to the load method used for that register. If the register
data is not from a single source, the type will be derived.
Example:

Please see res_data_get_source_type.


1482 PCL Reference Manual
Data Register Query Functions

res_data_get_dbresult (register, location, register_type, load_case, subcase,


primary_result, secondary_result, layer, derivation,
coordinate, average_method, average_domain,
extrapolation, list_flag, layer_flag, data_form,
complex_angle)

Description:
This function outputs the stored information regarding a register containing a database result.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the
results data is associated. Valid values are: "C" =
centroid, "N" = nodal, "EN" = element nodal, and "EL"
= element.
STRING register_type[] This value specifies the register type. Valid values are:
"S" = scalar, "V" = vector, and "T" = tensor.
Output:
STRING load_case[] This value returns the load case identifier.
STRING subcase[] This value returns the subcase identifier.
STRING primary_result[] This value returns the primary result identifier.
STRING secondary_result[] This value returns the secondary result identifier.
STRING layer[] This value returns the layer position identifier.
STRING derivation[10] This value returns the derivation specifier.
STRING coordinate[] This value returns the coordinate system for
transformations.
STRING average_method[] This value returns the defined averaging method.
STRING average_domain[] This value returns the defined averaging domain.
STRING extrapolation[] This value returns the defined extrapolation method.
LOGICAL list_flag This value returns a value of TRUE if the register has an
associated list.
LOGICAL layer_flag This value returns TRUE if the register has an associated
layer.
STRING data_form[] This value returns the data form (real, imaginary, etc.).
Optional = NULL.
REAL complex_angle This value returns the complex angle. Optional =
NULL.
Chapter 6: Results Postprocessing Functions 1483
Data Register Query Functions

INTEGER <Return Value> This function returns a value of 0 when executed


successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_data_get_dbresult.

res_data_get_subcase_name (load_case, subcase, subcase_name)

Description:
This function returns a subcase name given the load case and subcase identifiers. It returns the name
of a subcase including any extension added to distinguish it from other subcases with the same name.
("_nn")
Input:
INTEGER load_case This value specifies the load case identifier.
INTEGER subcase This value specifies the subcase identifier.
Output:
STRING subcase_name[] This value returns the subcase name.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_data_get_subcase_name.


1484 PCL Reference Manual
Data Register Query Functions

res_data_get_subcase_id (load_case, subcase, subcase_id)

Description:
This function returns the subcase identifier given the load case and subcase names.
Input:
STRING load_case[] This value specifies the load case name.
STRING subcase[] This value specifies the subcase name.
Output:
INTEGER subcase_id This value returns the subcase identifier.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_data_get_subcase_id.


Chapter 6: Results Postprocessing Functions 1485
Data Register Query Functions

res_data_get_result_names (primary_result, secondary_result,


primary_name, secondary_name)

Description:
The function returns the primary and secondary result names given their identifiers.
Input:
INTEGER primary_result This value specifies the primary result identifier.
INTEGER secondary_result This value specifies the secondary result identifier.
Output:
STRING primary_name[] This value returns the primary result name.
STRING secondary_name[] This value returns the secondary result name.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_data_get_result_names.


1486 PCL Reference Manual
Data Register Query Functions

res_data_get_result_ids (primary_name, secondary_name,


primary_result, secondary_result)

Description:
This function returns the primary and secondary results identifiers given their names.
Input:
STRING primary_name[] This value specifies the primary result name.
STRING secondary_name[] This value specifies the secondary result name.
Output:
INTEGER primary_result This value returns the primary result identifier.
INTEGER secondary_result This value returns the secondary result identifier.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_data_get_result_ids.


Chapter 6: Results Postprocessing Functions 1487
Data Register Query Functions

res_data_get_layerpos_name (layer_id, layer_name)

Description:
This function returns the layer position name given layer identifier.
Input:
INTEGER layer_id This value specifies the layer position identifier.
Output:
STRING layer_name[] This value returns the layer position name.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages (p. 1875) in the PCL Reference Manual for information on any error values
returned by this function.

Remarks:

None.
Example:

Please see res_data_get_layerpos_name.

res_data_get_layerpos_id (layer_name, layer_id)

Description:
This function returns the layer position identifier given its name.
Input:
STRING layer_name[] This value specifies the layer position name.
Output:
INTEGER layer_id This value returns the layer position identifier.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
1488 PCL Reference Manual
Data Register Query Functions

Remarks:

None.
Example:

Please see res_data_get_layerpos_id.

res_data_bulk_get_loadcases (count, load_case_ids, subcase_ids,


coordinates, load_case)

Description:
This function retrieves the number of load cases and all their load case, subcase, and coordinate
identifiers that exist in the database and the names associated to them.
Input:
Output:
INTEGER count This value returns the number of load cases.
INTEGER load_case_ids(count This value returns the load case identifiers.
)
INTEGER subcase_ids(count) This value returns the subcase identifiers.
INTEGER coordinates(count) This value returns the coordinate identifiers
associated with the load cases.
STRING load_case[](count) This value returns the load case names.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_data_bulk_get_loadcases.


Chapter 6: Results Postprocessing Functions 1489
Data Register Query Functions

res_data_get_restype_ids (restype_id, primary_result, secondary_result)

Description:
This function returns the primary and secondary result identifiers given the results type identifier.
Input:
INTEGER restype_id This value specifies the results type identifier.
Output:
INTEGER primary_result This value returns the primary result identifier.
INTEGER secondary_result This value returns the secondary result identifier.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_data_get_restype_ids.


1490 PCL Reference Manual
Data Register Operator Functions

Data Register Operator Functions


These functions operate on the registers themselves.

res_data_delete (register, location, register_type)

Description:
This function deletes the current definition of the specified register.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the results
data is associated. Valid values are: "C" = centroid, "N" =
nodal, "EN" = element nodal, and "EL" = element.
STRING register_type[] This value specifies the register type. Valid values are: "S"
= scalar, "V" = vector, and "T" = tensor.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_data_delete.


Chapter 6: Results Postprocessing Functions 1491
Data Register Operator Functions

res_data_save (register, location, register_type, load_case, subcase, layer,


primary_result, secondary_result, num_entities, entity_list)

Description:
This function saves all of the possible data available for the specified register in the database as a
result.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the
results data is associated. Valid values are: "C" =
centroid, "N" = nodal, "EN" = element nodal, and
"EL" = element.
STRING register_type[] This value specifies the register type. Valid values
are: "S" = scalar, "V" = vector, and "T" = tensor.
STRING load_case[] This value specifies the load case identifier.
STRING subcase[] This value specifies the subcase identifier.
STRING layer[] This value specifies the layer position identifier.
STRING primary_result[] This value specifies the primary result identifier.
STRING secondary_result[] This value specifies the secondary result identifier.
INTEGER num_entities The number of entities in entity list. Default is 0. If
value is 0 then PATRAN automatically generates a
list of entities to associate with the results.
STRING entity_list The picklist of entities to associate to the results. If
this argument is not existent, PATRAN automatically
associates the results with appropriate entities [no
default value].
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

The data register result is associated with the specified, existing, loadcase and subcase. It is given the
primary and secondary result titles specified by the input value primary_result and secondary_result.
1492 PCL Reference Manual
Data Register Operator Functions

Example:

Please see res_data_save.


Chapter 6: Results Postprocessing Functions 1493
Direct Results Access

Direct Results Access


res_dra_get_res_file_by_name (szFilename,iSourceFileId,iFileType
,iParamSetId)

Description:
This function returns information about an attached file.
Input:
STRING szFileName [max The attached source file name.
256]
Output:
INTEGER iSourceFileId Internal database ID of the attached file.
INTEGER iFileType Internal handle not intended for usage for the PCL
programmer.
INTEGER iParamSetId Internal handle not intended for usage for the PCL
programmer.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
MSG_RES_CANNOTOPENFILE – File does not exist.

MSG_RES_DRA_SRC_FILE_UNKNOWN – Filename not saved in the Patran database.

Remarks:

This function is to be used to retrieve information needed to call the res_dra_detach_file. The
undocumentred parameters are not to be used anywhere as their values are internal to DRA and they are
subject to change without any notification.
Example:

None .
1494 PCL Reference Manual
Direct Results Access

res_dra_detach_file (src_file_id,result_type,paramrset_id)

Description:
This function returns information about an attached file.
Input:
Output:
INTEGER <Return This function returns a value of 0 when executed successfully
Value> and a non zero value to indicate a change in status or an error.
Error Conditions:
None.

Remarks:

This function is to be uszed in conjuction with “res_dra_get_res_file_by_name” to automate the process


of detaching various attached files.
Example:

None.

res_data_function (register, location, register_type, function)

Description:
This function specifies a format function used to determine the data values of a register.
Input:
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
None.

Remarks:

The registers specified in the function must be of the same location and type and must have been
previously loaded with a res_data_load() function.
Example:

None.
Chapter 6: Results Postprocessing Functions 1495
Results Display Manager

Results Display Manager


The functions that make up the result display manager controls the display and tabular output of data
associated with a finite element model. The results display manager obtains its data from previously
defined registers containing results data.
The results display manager uses collections of data that can be thought of as “objects” called display
tools. Display tools are used to define how data is to be outputted or displayed in a viewport to the user.
The display tool “object” contains a name, a tool type, an entity type, a set of targets, a set of display
attributes, a posting status and, if the “object” is posted, a current data register. The methods of a display
tool provides the functionality used to create, modify, post, unpost, animate or delete the display tool. The
posting of a display tool will either update the graphical display of the current viewport, displaying an
XY plot, or create a tabular report to present the associated data. Unposting a display tool will revert the
display of the entities controlled by the tool to their previous state. Brief descriptions of the attributes
which make up a display tool are listed below.
The tool name display tool attribute can be an empty string or ““, denoting it as the default tool, or any
unique, valid, Patran name. The default tools can be used, reused, and modified with successive calls to
the create functions. Named tools can be modified only through calls to the appropriate modification
functions.
The tool type display tool attribute identifies the method used to display the results data. The methods
that can be identified by this attribute are: Fringe, Deformation, etc.
The entity type display tool attribute describes what type of entities are to be displayed. This attribute can
be used to identify the following entity types: Freefaces, FreeEdges, AllFaces, AllEdges, Elements,
Nodes, Corners, Isosurfaces, Streamlines, Path.
The target definition display tool attribute explicitly states which types of entities in the current model
this display tool can act on. If a value for this attribute is not defined, the entity types specified by the
display tool whose output is being shown in the current viewport will be used. This attribute can be used
to identify lists of groups, materials, property sets, etc.
The display tool display attribute defines any additional information used to control the use of the tool.
Examples of the types of information that this attribute can be used to define are element shrink, label
formatting, edge display styles, or component toggles.
To post a tool, a register is required so that an association will be created between the results data and the
display tool. The display tool will save a copy of the register with which it is currently associated for use
when the display tool is unposted.
The results display manager functions in this chapter are broken into four categories in four different
sections: the Plot Tool Creation and Modification Functions, the Plot Tool Manipulation Functions, the
Animation Functions, and the Plot Tool Query Functions.
1496 PCL Reference Manual
Plot Tool Creation and Modification Functions

Plot Tool Creation and Modification Functions


This section describes the function used to create display tools in the database. The display tools that have
been created in the database will exist until they are explicitly deleted with the appropriate function call.
Most of the functions used to create display tools have counterparts that can be used to modify a display
tool once it has been created. If the display tool that has been created is the default display tool or has an
empty string or ““for its name attribute, the functions used to create the display tool can be used to modify
it. The act of creating a display tool will not cause the display tool to be displayed. A separate call to a
function that will post the display tool is required to make the display tool visible in a viewport.
Most display tools require that the entity types, targets and attributes be specified. Valid entity types on
which to display plots are:

Freefaces FreeEdges
AllFaces AllEdges
Elements Nodes
Corners Isosurfaces
Streamlines Path

The display tool target definition attributes are optional. The entities corresponding to the display tool
entity type found in the current viewport will be used as the default target definition if the target definition
is not defined. Valid target definitions on which plots can be displayed are:

Value Description

NO Nodes
EL Elements
GR Groups
PR Properties
MA Materials
ET Element Types
IS Isosurface
SL Streamline
DF Deformed
PP Path Point
PC Path Curve
PE Path Edge

If specific deformation tools are targeted by a display tool, the display tool will be repeatedly displayed
in the deformed state described by each of the specified posted deformation tools. Specific deformation
Chapter 6: Results Postprocessing Functions 1497
Plot Tool Creation and Modification Functions

tool targets are not required unless specific deformed states are to be used, and multiple deformed states
are posted simultaneously in the same viewport. An input value to the function being called is used in
most situations to control if a display tool is to be shown in a deformed, when set to TRUE, or
undeformed, when set to FALSE, state.
The display tool display attributes are used to control the display settings associated with each tool type
attribute. They are string values in the form keyword:value(s). If multiple values are used for a given
keyword, each value is separated by a comma. Here are some definitions for common values used by
multiple tool attribute keywords throughout the following PCL function definitions:

<onoff> ON, OFF


<color> Spectrum, Black, Red, Green, Yellow, Blue, Magenta, Cyan, White,
Orange, LtOrange, DkGreen, LtGreen, DkBlue, LtBlue, DkMagenta,
LtMagenta
<linestyle> Solid, Dash, Dot, Cylinder
<percent> 0.0-1.0 (real)
<filltype> None, Flat, Shade, Transparent=<percent>
<modelstyle> Wireframe, FreeEdge, FreeFace, FlatFill, Shaded, Hidden
Transparent=<percent>
<edgedef> <color>, <linestyle>, width (integer 1-10)
<edgestyle> <onoff>,[<edgedef>]
<scaledef> ScreenConstant or ScreenRelative or ModelConstant or
ModelRelative=<real value>
1498 PCL Reference Manual
Plot Tool Creation and Modification Functions

res_display_fringe_create (plot_name, entity_type, ntargets, targets,


nattribs, attributes, deformed_flag)

Description:
This function creates a fringe plot tool definition.
Input:
STRING plot_name[] This value specifies the name of the plot: either ““ or a
unique name.
STRING entity_type[] This value specifies the entity type. Valid values are:
“FreeFaces”, “AllFaces”, ”FreeEdges”, and
”AllEdges”.
INTEGER ntargets This value specifies the number of strings in the input
value targets. If this value is set to 0, all the entities
specified by the input value entity_type will be used.
STRING targets[](ntargets) This value specifies the target specifications. See the
remarks below for more information.
INTEGER nattribs This value specifies the number of offsets in the input
value attributes.
STRING attributes[](nattribs) This value specifies the attributes. See the remarks
below for more information.
LOGICAL deformed_flag This value is set to TRUE to enable displaying in the
deformed shape if deformation tools are posted
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

FringeStyle values can be “Discrete”, “Continuous”, or “ElemFill”.


Shade filltype values can be “None”, “Flat”, or “Shaded”.
ElemEdge edge styles can be “None”, “FreeEdge”, or “ElemEdge”. The color is any valid color name.
The style can be “Solid”, “Dash”, or “Dot”. The thickness can be any integer between 1 and 10.
Filter methods are None, Minimum=value, Maximum=value, Range=value,value, Exclude=value,value.
LabelStyle display includes “Fixed”, “Integer”, or “Exponential”. The fontsize is any valid font size as
an integer value. The color is any valid color name. The digits is the number of significant digits to retain.
Chapter 6: Results Postprocessing Functions 1499
Plot Tool Creation and Modification Functions

The input value targets can be set as follows. The keyword should be separated from the values by a colon
or “:”

Keyword Value Description

NO list is for a node list.


EL list is for an element list.
GR name is for a group name.
PR name for a specific property set.
MA name for a material.
ET type for element type (point,beam, tri, ...). NULL if ntargets=0.

The input value attributes can be set as follows. The keyword should be separated from the values by a
colon or “:”

Keyword Values
Range <name>
RangeOverwrite <onoff>
FringeStyle <style>
Shade <filltype>
ElemEdge <edgestyle,color,style,width>
Shrink <percent>
TitleDisplay <onoff>
MinMaxDisplay <onoff>
ValueDisplay <onoff>
Filter <method>
ScaleFactor <value>
LabelStyle <display,fontsize,color,digits>

Example:

Please see res_display_fringe_create.


1500 PCL Reference Manual
Plot Tool Creation and Modification Functions

res_display_fringe_modify (plot_name, new_name, entity_type, ntargets,


targets, nattribs, attributes, deformed_flag)

Description:
This function modifies a fringe plot tool definition.
Input:
STRING plot_name[] This value specifies the name of the plot: either ““
or a unique name.
STRING new_name[] This value specifies a new name to give the plot.
STRING entity_type[] This value specifies the entity type. Valid values
are: “FreeFaces”, “AllFaces”, ”FreeEdges”, and
”AllEdges”.
INTEGER ntargets This value specifies the number of strings in the
input value targets. If this value is set to 0, all the
entities specified by the input value entity_type
will be used.
STRING targets[](ntargets) This value specifies the target specifications. See
the res_display_fringe_create() function for more
information.
INTEGER nattribs This value specifies the number of offsets in the
input value attributes.
STRING attributes[](nattribs This value specifies the attributes. See the remarks
) below for more information.
LOGICAL deformed_flag This value is set to TRUE to enable displaying in
the deformed shape if deformation tools are posted
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

See the corresponding create function res_display_fringe_create().


Example:

Please see res_display_fringe_modify.


Chapter 6: Results Postprocessing Functions 1501
Plot Tool Creation and Modification Functions

res_display_vector_create (plot_name, entity_type, ntargets, targets, nattribs, attributes,


deformed_flag)

Description:
This function creates a vector plot tool definition.
Input:
STRING plot_name[] This value specifies the name of the plot: either ““ or a
unique name.
STRING entity_type[] This value specifies the entity type. Valid values are:
“Nodes”, “Elements”, “Corners”, “FreeFace”, and
“FreeEdge”.
INTEGER ntargets This value specifies the number of strings in the input
value targets. If this value is set to 0, all the entities
specified by the input value entity_type will be used.
STRING targets[](ntargets) This value specifies the target specifications.
INTEGER nattribs This value specifies the number of offsets in the input
value attributes. This value should be set to 16.
STRING attributes[](nattribs) This value specifies the attributes for the vector tool.
See the remarks below for more information.
LOGICAL deformed_flag This value is set to TRUE to enable displaying in the
deformed shape if deformation tools are posted
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

VectorDisplay values can be “Resultant” or “Component”.


VectorColors, one for each component or resultant, can be any valid color name or can be mapped to the
Spectrum. Use the keywork Spectrum.
VectorScale keywords can be ScreenConstant=percent, ScreenRelative=percent,
ModelConstant=percent, ModelRelative=percent.
VectorAttachment can be “Head”, “Tail”, or “Middle”.
HeadStyle can be “None”, “Single”,or “Double”.
1502 PCL Reference Manual
Plot Tool Creation and Modification Functions

VectorStyle can be “Solid” or “Cylinder.”


Filter methods are None, Minimum=value, Maximum=value, Range=value,value, Exclude=value,value.
LabelStyle display includes “Fixed”, “Integer”, or “Exponential”. The fontsize is any valid font size as
an integer value. The color is any valid color name. The digits is the number of significant digits to retain.
The input value targets can make use of the following keywords and values. The keyword and the values
should be separated by a colon or “:

Keyword Value Description


NO list is for a node list
EL list is for an element list
GR name is for a group name
PR name is for a specific property set
MA name is for a material
ET type is for element type (point,beam, tri, ...). NULL if ntargets=0.

The input value attributes can make use of the following keywords and values. The keyword and the
values should be separated by a colon or “:”

Keyword Values

Range <name>
RangeOverwrite <onoff>
VectorDisplay <display>
VectorComps <onoff>[,<onoff>, <onoff>]
VectorColors <color>[,<color>,<color>]
VectorScale <scaledef>
VectorAttachment <location>
HeadStyle <style>
VectorStyle <style>
TailDisplay <onoff>
TitleDisplay <onoff>
MinMaxDisplay <onoff>
LabelStyle <display,fontsize,color,digits>
ValueDisplay <onoff>
Filter <method>
ScaleFactor <value>
Chapter 6: Results Postprocessing Functions 1503
Plot Tool Creation and Modification Functions

Example:

Please see res_display_vector_create.

res_display_vector_modify (plot_name, new_name, entity_type, ntargets,


targets, nattribs, attributes, deformed_flag)

Description:
This function modifies a vector plot tool definition.
Input:
STRING plot_name[] This value specifies the name of the plot: either ““ or a
unique name.
STRING new_name[] This value specifies a new name to give the plot.
STRING entity_type[] This value specifies the entity type. Valid values are:
“Nodes”, “Elements”, “Corners”, “FreeFace”, and
“FreeEdge”.
INTEGER ntargets This value specifies the number of strings in the input
value targets. If this value is set to 0, all the entities
specified by the input value entity_type will be used.
STRING targets[](ntargets) This value specifies the target specifications. See the
res_display_vector_create() function for more
information.
INTEGER nattribs This value specifies the number of offsets in the input
value attributes.
STRING attributes[](nattribs) This value specifies the attributes. See the
res_display_vector_create() function for more
information.
LOGICAL deformed_flag This value is set to TRUE to enable displaying in the
deformed shape if deformation tools are posted
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages (Ch. 11) for information on any error values returned by this function.

Remarks:

See the corresponding create function res_display_vector_create().


1504 PCL Reference Manual
Plot Tool Creation and Modification Functions

Example:

Please see res_display_vector_modify.

res_display_tensor_create (plot_name, entity_type, ntargets, targets,


nattribs, attributes, deformed_flag)

Description:
This function creates a tensor plot tool definition.
Input:
STRING plot_name[] This value specifies the name of the plot: either ““ or a
unique name.
STRING entity_type[] This value specifies the entity type. Valid values are:
“Nodes”, “Elements”, “Corners”, “FreeFace”, and
“FreeEdge”.
INTEGER ntargets This value specifies the number of strings in the input
value targets. If this value is set to 0, all the entities
specified by the input value entity_type will be used.
STRING targets[](ntargets) This value specifies the target specifications. See the
remarks below for more information.
INTEGER nattribs This value specifies the number of offsets in the input
value attributes. This value should be set to 17.
STRING attributes[](nattribs) This value specifies the attributes. See the remarks below
for more information.
LOGICAL deformed_flag This value is set to TRUE to enable displaying in the
deformed shape if deformation tools are posted
Output:
INTEGER <Return Value> his function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

TensorDisplay values can be “Component”, “Principal”, “2D_Component”, “2D_Principal”.


Tensor colors, one for each component or principal, can be any valid color name or can be mapped to the
Spectrum. Use the keywork Spectrum.
Chapter 6: Results Postprocessing Functions 1505
Plot Tool Creation and Modification Functions

VectorScale and BoxScale keywords can be ScreenConstant=percent, ScreenRelative=percent,


ModelConstant=percent, ModelRelative=percent.
VectorAttachment can be “Head”, “Tail”, or “Middle”.
HeadStyle can be “None”,or “Single”.
VectorStyle can be “Solid” or “Cylinder.”
BoxStyle can be “Wireframe”, “Filled”, or “None”.
BoxColor can be any valid color name.
Filter methods are None, Minimum=value, Maximum=value, Range=value,value, Exclude=value,value.
LabelStyle display includes “Fixed”, “Integer”, or “Exponential”. The fontsize is any valid font size as
an integer value. The color is any valid color name. The digits is the number of significant digits to retain.
The input value target can make use of the following values. The keyword should be separated from the
value by a colon or “:”

Keyword Value Description

NO list is for a node list


EL list is for an element list
GR name is for a group name
PR name for a specific property set
MA name for a material
ET type for element type (point,beam, tri, ...).
IS name for an Isosurface.
SL name for a Streamline.
DF name for specific Deformation tool.

The input value attributes can make use of the following keywords and values. The keyword should be
separated from the value by a colon or “:”
1506 PCL Reference Manual
Plot Tool Creation and Modification Functions

Keyword Values

Range <name>
RangeOverwrite <onoff>
TensorDisplay <display>
TensorComps <onoff>,<onoff>, <onoff>,<onoff>,<onoff>, <onoff>
TensorColors <color>[,<color>,<color>]
VectorScale <scaledef>
VectorAttachment <location>
HeadStyle <style>
VectorStyle <style>
TailDisplay <onoff>
TitleDisplay <onoff>
MinMaxDisplay <onoff>
LabelStyle <display,fontsize,color,digits>
ValueDisplay <onoff>
Filter <method>
ScaleFactor <value>

Example:

Please see res_display_tensor_create.


Chapter 6: Results Postprocessing Functions 1507
Plot Tool Creation and Modification Functions

res_display_tensor_modify (plot_name, new_name, entity_type, ntargets,


targets, nattribs, attributes, deformed_flag)

Description:
This function modifies a tensor plot tool definition.
Input:
STRING plot_name[] This value specifies the name of the plot: either ““ or a
unique name.
STRING new_name[] This value specifies a new name to give the plot.
STRING entity_type[] This value specifies the entity type. Valid values are:
“Nodes”, “Elements”, “Corners”, “FreeFace”, and
“FreeEdge”.
INTEGER ntargets This value specifies the number of strings in the input
value targets. If this value is set to 0, all the entities
specified by the input value entity_type will be used.
STRING targets[](ntargets) This value specifies the target specifications. See the
res_display_tensor_create() function for more
information.
INTEGER nattribs This value specifies the number of offsets in the input
value attributes.
STRING attributes[](nattribs) This value specifies the attributes. See the
res_display_tensor_create() function for more
information.
LOGICAL deformed_flag This value is set to TRUE to enable displaying in the
deformed shape if deformation tools are posted
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

See the corresponding create function res_display_tensor_create().


Example:

Please see res_display_tensor_modify.


1508 PCL Reference Manual
Plot Tool Creation and Modification Functions

res_display_report_create (report_name, entity_type, ntargets,


targets, nattribs, attributes)

Description:
This function creates a report tool definition.
Input:
STRING report_name[] This value specifies the name of the report: either ““
or a unique name.
STRING entity_type[] This value specifies the entity type. Valid values are:
“Nodes”, and “Elements”.
INTEGER ntargets This value specifies the number of strings in the
input value targets. If this value is set to 0, all the
entities specified by the input value entity_type will
be used.
STRING targets[](ntargets) This value specifies the target specifications. See the
remarks below for more information.
INTEGER nattribs This value specifies the number of offsets in the
input value attributes.
STRING attributes[](nattri This value specifies the attributes. See the remarks
bs) below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

ReportType is either “Full” or “Summary”.


ReportPageAlignment can be “Center”, “Left”, or “Right”.
EntitySort can be “Load Case”, or “Entity”.
ValueSort needs the column number to sort on, the order, either Ascending or Descending, and the
method to sort by, either Algebraic or Absolute value.
Filter methods are None, Minimum=value, Maximum=value, Range=value,value, Exclude=value,value.
The input value attributes can make use the following values. The keyword should be separated from the
value by a colon or “:”
Chapter 6: Results Postprocessing Functions 1509
Plot Tool Creation and Modification Functions

Keyword Value Description

NO list is for a node list.


EL list is for an element list.
GR name is for a group name.
PR name for a specific property set.
MA name for a material.
ET type for element type (point,beam, tri, ...).

The input value attributes can make use the following values. The keyword should be separated from the
value by a colon or “:”

Keyword Values

ReportType <type>
ReportTitle <title> - repeat for all title lines
ReportHeader <text> - repeat for all header lines
ReportFooter <text> - repeat for all footer lines
ReportPage height=<lines>,
width=<characters>,TopMargin=<line>,LeftMargin=<characters
>,BottomMargin=<characters>
ReportPagination <onoff>
ReprotPageNumber <startnumber>
ReportPageAlignment <location>
ReportColumn <column#>, <Heading>, <value keyword>, <format> - repeat for
each column
EntitySort <method>
ValueSort <column>,<order>,<method>
Filter <method>
ScaleFactor <value>

The attributes will define the output. There can be multiple ReportHeader and ReportFooter definitions.
They will be used in order as written. The following special strings can be inserted in Header and Footer
definitions
1510 PCL Reference Manual
Plot Tool Creation and Modification Functions

$DATE The current date will be inserted


$PAGE The current report page# will be inserted
$DATA_TITLE The register title will be inserted
$PRODUCT
The Patran product/version will be inserted
$DB_NAME The name of the current database will be inserted
$JOB_NAME The name of the analysis job will be inserted
$CODE_NAME The name of the analysis code will be inserted

The report column value keywords are scalar derivation strings defined for the registers as well as the
following values:

ID The entity identifier


XLOC The X location of the node or element data position
YLOC The Y location of the node or element data position
ZLOC The Z location of the node or element data position
MID The associated element material identifier
MATNAME The associated element material name
PID The associated element property identifier
PROPNAME The associated element property name
ETYPE The associated element type name
LCID The associated Loadcase identifier (very useful for minmax of LC list)
SCID The associated Subcase identifier (very useful for minmax of list)
LPID The associated Layer identifier

Example:

Please see res_display_report_create.


Chapter 6: Results Postprocessing Functions 1511
Plot Tool Creation and Modification Functions

res_display_report_modify (report_name, new_name, entity_type,


ntargets, targets, nattribs, attributes)

Description:
This function modifies a report tool definition.
Input:
STRING report_name[] This value specifies the name of the report: either ““ or
a unique name.
STRING new_name[] This value specifies a new name to give the report.
STRING entity_type[] This value specifies the entity type. Valid values are:
“Nodes”, or “Elements”.
INTEGER ntargets This value specifies the number of strings in the input
value targets. If this value is set to 0, all the entities
specified by the input value entity_type will be used.
STRING targets[](ntargets) This value specifies the target specifications. See the
res_display_report_create() function description for
more information.
INTEGER nattribs This value specifies the number of offsets in the input
value attributes.
STRING attributes[](nattribs) This value specifies the attributes. See the
res_display_report_create() function description for
more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

See the corresponding create function res_display_report_create.


Example:

Please see res_display_report_modify.


1512 PCL Reference Manual
Plot Tool Creation and Modification Functions

res_display_graph_create (plot_name, graph_type, entity_type,


ntargets, targets, nattribs, attributes)

Description:
This function creates a graph plot tool definition.
Input:
STRING plot_name[] This value specifies the name of the plot: either ““
or a unique name.
STRING graph_type[] This value specifies the X vs Y graph type:
“GVGV” = global variable vs. global variable,
“DataGV” = result vs. global variable, “DataData”
= results vs. result, “DataLocation” = result vs.
coordinate location, and “DataDistance” = result vs.
curve or beam distance.
STRING entity_type[] This value specifies the entity type. Valid values are:
“Nodes”, “Elements”, and “Path”.
INTEGER ntargets This value specifies the number of strings in the
input value targets. If this value is set to 0, all the
entities specified by the input value entity_type will
be used.
STRING targets[](ntargets) This value specifies the target specifications. See
the remarks below for more information.
INTEGER nattribs This value specifies the number of offsets in the
input value attributes.
STRING attributes[](nattribs This value specifies the attributes. See the remarks
) below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

CurveFitMethod is either “Linear”, “Scatter”, “Spline”, or “LeastSquares”.


CurveStyle is either “Solid”, “Dash”, “Dot”, or “DotDash”
xAxisScale and yAxisScale is either “Linear” or “Log”.
Chapter 6: Results Postprocessing Functions 1513
Plot Tool Creation and Modification Functions

xAxisLabelFormat and yAxisLabelFormat display includes “Fixed”, “Integer”, or “Exponential”. The


fontsize is any valid font size as an integer value. The color is any valid color name. The digits is the
number of significant digits to retain.
The input value targets can make use the following values. The keyword should be separated from the
value by a colon or “:”

Keyword Value Description

NO list is for a node list.


EL list is for an element list.
GR name is for a group name.
PR name is for a specific property set.
MA name is for a material.
ET type is for element type (point,beam, tri, ...).
PP list is for an points on a path.
PC list is for a path defined by curves.
PE list is for path along element edges.

The input value attributes can make use the following values. The keyword should be separated from the
value by a colon or “:”

Keyword Values

curveFitMethod <method>
curveStyle <style>
symbolDisplay <onoff.>
xAxisLabelDisplay <onoff>
xAxisLabel <text>
xAxisScale <scale>
xAxisLabelFormat <format>, <number>, < color>, <digits>
yAxisLabelDisplay <onoff>
yAxisLabel <text>
yAxisScale <scale>
yAxisLabelFormat <format>, <number>, < color>, <digits>
ScaleFactor <factor>
1514 PCL Reference Manual
Plot Tool Creation and Modification Functions

Example:

Please see res_display_graph_create.

res_display_graph_modify (plot_name, new_name, graph_type,


entity_type, ntargets, targets, nattribs,
attributes)

Description:
This function modifies a graph plot tool definition.
Input:
STRING plot_name[] This value specifies the name of the plot: either ““ or
a unique name.
STRING new_name[] This value specifies a new name to give the plot.
STRING graph_type[] This value specifies the X vs Y graph type: “GVGV”
= global variable vs. global variable, “DataGV” =
result vs. global variable, “DataData” = results vs.
result, “DataLocation” = result vs. coordinate
location, and “DataDistance” = result vs. curve or
beam distance.
STRING entity_type[] This value specifies the entity type. Valid values are:
“Nodes”, “Elements”, and “Path”.
INTEGER ntargets This value specifies the number of strings in the input
value targets. If this value is set to 0, all the entities
specified by the input value entity_type will be used.
STRING targets[](ntargets) This value specifies the target specifications. See the
res_display_graph_create() function description for
more information.
INTEGER nattribs This value specifies the number of offsets in the input
value attributes.
STRING attributes[](nattribs) This value specifies the attributes. See the
res_display_graph_create() function description for
more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Chapter 6: Results Postprocessing Functions 1515
Plot Tool Creation and Modification Functions

Remarks:

See the corresponding create function res_display_graph_create().

Example:

Please see res_display_graph_modify.

res_display_deformation_create (plot_name, entity_type, ntargets,


targets, nattribs, attributes)

Description:
This function creates a deformation plot tool definition.
Input:
STRING plot_name[] This value specifies the name of the plot: either ““ or
a unique name.
STRING entity_type[] This value specifies the entity type. Valid values are:
“Nodes”, and “Elements”.
INTEGER ntargets This value specifies the number of strings in the input
value targets. If this value is set to 0, all the entities
specified by the input value entity_type will be used.
STRING targets[](ntargets) This value specifies the target specifications. Valid
values are: “NO” = list is for a node list, “EL” = list is
for an element list, “GR” = name is for a group name,
“PR” = name for a specific property set, “MA” = name
for a material, and “ET” = type for element type
(point,beam, tri, ...).
INTEGER nattribs This value specifies the number of offsets in the input
value attributes.
STRING attributes[](nattribs) This value specifies the attributes. See the remarks
below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
1516 PCL Reference Manual
Plot Tool Creation and Modification Functions

Remarks:

DeformedStyle keywords consist of any valid color, a line style of “Solid”, “Dash” or “Dot”, and a
thickness value between 1 and 10 and a render style of either “Wireframe”, “Shaded”, “HiddenLine”, or
“FreeEdge”. The same is true for UndeformedStyle.
The DeformedScale keyword is either True or Model=percentage.
LabelStyle display includes “Fixed”, “Integer”, or ”Exponential”. The fontsize is any valid font size as
an integer value. The color is any valid color name. The digits is the number of significant digits to retain.
The input value attributes can make use the following values. The keyword should be separated from the
value by a colon or “:

Keyword Values

DeformedStyle <color>,<style>,<thickness>,<render>
DeformedScale <method>[=factor]
UndeformedStyle <onoff>,<color>,<style>,<thickness>,<render>
TitleDisplay: <onoff>
MinMaxDisplay <onoff>
ScaleFactor <value>
LabelStyle <display,fontsize,color,digits>

Example:

Please see res_display_deformation_create.


Chapter 6: Results Postprocessing Functions 1517
Plot Tool Creation and Modification Functions

res_display_deformation_modify (plot_name, new_name,


entity_type, ntargets, targets,
nattribs, attributes)

Description:
This function specifies a fringe plot tool definition.
Input:
STRING plot_name[] This value specifies the name of the plot: either ““ or a
unique name.
STRING new_name[] This value specifies a new name to give the plot.
STRING entity_type[] This value specifies the entity type. Valid values are:
“Nodes”, or “Elements”.
INTEGER ntargets This value specifies the number of strings in the input
value targets. If this value is set to 0, all the entities
specified by the input value entity_type will be used.
STRING targets[](ntargets) This value specifies the target specifications. See the
res_display_deformation_create() function for more
information.
INTEGER nattribs This value specifies the number of offsets in the input
value attributes.
STRING attributes[](nattribs) This value specifies the attributes. See the
res_display_deformation_create() function for more
information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_display_deformation_modify.


1518 PCL Reference Manual
Plot Tool Manipulation Functions

Plot Tool Manipulation Functions


The following function calls are used for posting, unposting, and deleting plot tools.

res_display_fringe_post (plot_name, register_id, register_location,


range_flag, spectrum_flag)

Description:
This function posts a fringe plot tool definition to the current viewport.
Input:
STRING plot_name[] This value specifies the name of the existing plot: either
““ or an existing name.
INTEGER register_id This value specifies the scalar register id (of location
specified) containing data definition.
STRING register_location[] This value specifies the location of the data: either "C" =
centroid, "N" = nodal, or "EN" = element nodal.
LOGICAL range_flag This value is set to TRUE to flag this tool to control the
range info in the viewport.
LOGICAL spectrum_flag This value is set to TRUE to display the spectrum bar
with this plot. Optional=TRUE.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_display_fringe_post.


Chapter 6: Results Postprocessing Functions 1519
Plot Tool Manipulation Functions

res_display_vector_post (plot_name, register_id, register_location,


range_flag, spectrum_flag)

Description:
This function posts a vector plot tool definition to the current viewport.
Input:
STRING plot_name[] This value specifies the name of the existing plot:
either ““ or an existing name.
INTEGER register_id This value specifies the vector register id (of
location specified) containing data definition.
STRING register_location[] This value specifies the location of the data: either
"C" = centroid, or "N" = nodal.
LOGICAL range_flag This value is set to TRUE to flag this tool to
control the range info in the viewport.
LOGICAL spectrum_flag This value is set to TRUE to display the spectrum
bar with this plot. Optional=TRUE.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_display_vector_post.


1520 PCL Reference Manual
Plot Tool Manipulation Functions

res_display_tensor_post (plot_name, register_id, register_location,


range_flag, spectrum_flag)

Description:
This function posts a tensor plot tool definition to the current viewport.
Input:
STRING plot_name[] This value specifies the name of the existing plot:
either ““ or an existing name.
INTEGER register_id This value specifies the tensor register id of the
location specified containing the data definition.
STRING register_location[] This value specifies the location of the data: either "C"
= centroid, or "N" = nodal.
LOGICAL range_flag This value is set to TRUE to flag this tool to control the
range info in the viewport.
LOGICAL spectrum_flag This value is set to TRUE to display the spectrum bar
with this plot. Optional=TRUE.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_display_tensor_post.


Chapter 6: Results Postprocessing Functions 1521
Plot Tool Manipulation Functions

res_display_deformation_post (plot_name, register_id)

Description:
This function posts a deformation plot tool definition to the current viewport.
Input:
STRING plot_name[ This value specifies the name of the existing plot: either ““ or an
] existing name.
INTEGER register_id This value specifies the vector register id of the location specified
containing the data definition.
Output:
INTEGER <Return This function returns a value of 0 when executed successfully
Value> and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

None.
1522 PCL Reference Manual
Plot Tool Manipulation Functions

res_display_report_write (report_name, register_id, register_type,


register_location, output_method,
file_name)

Description:
This function writes a report tool definition to the specified file.
Input:
STRING report_name[] This value specifies the name of the report: either ““ or
an existing name.
INTEGER register_id This value specifies the nodal vector register id of the
location specified containing the data definition.
STRING register_type[] This value specifies the register type. Valid values are:
"S" = scalar, "V" = vector, and "T" = tensor.
STRING register_location[] This value specifies the location of the data: either "C"
= centroid, "N" = nodal, "EN" = element nodal, or "EL"
= element.
STRING output_method[] This value specifies the output method: either
“STDOUT”, “NewFile”, “Overwrite”, or “Append”.
STRING file_name[] This value specifies the name of the file to which the
report definition will be written.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_display_report_write.


Chapter 6: Results Postprocessing Functions 1523
Plot Tool Manipulation Functions

res_display_graph_post (plot_name, register_location, y_register_id,


x_register_id, plot_title, append_flag)

Description:
This function posts a fringe plot tool definition to the current viewport.
Input:
STRING plot_name[] This value specifies the name of the plot: either ““
or an existing name.
STRING register_location[] This value specifies the data location: either "C" =
centroid, "N" = nodal, "EN" = element nodal, or
"EL" = element.
INTEGER y_register_id This value specifies the nodal vector register id of
the location specified containing the data
definition.
INTEGER x_register_id This value specifies the nodal vector register id of
the location specified containing the data
definition.
STRING plot_title[] This value specifies the plot title.
LOGICAL append_flag This value specifies, when set to TRUE, that
curves are to be appended end to end. When this
value is set to FALSE, curves will not be appended
end to end.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_display_graph_post.


1524 PCL Reference Manual
Plot Tool Manipulation Functions

res_display_tool_unpost (plot_type, plot_name)

Description:
This function unposts a plot tool from the current viewport.
Input:
STRING plot_type[] This value specifies the type of plot. See the remarks below
for more information.
STRING plot_name[] This value specifies the name of the plot to unpost.
Output:
INTEGER <Return This function returns a value of 0 when executed successfully
Value> and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The input value type can be set to the following values


:

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”

Example:

Please see res_display_tool_unpost.

res_display_tool_exist (plot_type, plot_name)

Description:
This function posts a fringe plot tool definition to the current viewport.
Input:
STRING plot_type[] This value specifies the type of plot. See the remarks below for
more information.
STRING plot_name[] This value specifies the name of the plot to unpost.
Output:
Chapter 6: Results Postprocessing Functions 1525
Plot Tool Manipulation Functions

LOGICAL <Return This function returns TRUE if the plot tools exists, and FALSE
Value> otherwise.
Error Conditions:
None.

Remarks:

The input value type can be set to the following values:

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”

Example:

Please see res_display_tool_exist.

res_display_tool_delete (plot_type, plot_name)

Description:
This function deletes a plot tool definition from the database.
Input:
STRING plot_type[] This value specifies the type of plot. See the remarks
below for more information.
STRING plot_name[] This value specifies the name of the plot to unpost.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The input value plot_type can be set to the following values:


1526 PCL Reference Manual
Plot Tool Manipulation Functions

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”

Example:

Please see res_display_tool_delete.


Chapter 6: Results Postprocessing Functions 1527
Animation Functions

Animation Functions
The following functions are used for animation.

res_display_tool_anim_scale (method, plot_type, plot_name, init_angle)

Description:
This function specifies a sinusoid or linear ramp variation to be used in a subsequent animation
sequence for a tool posted in the current viewport.
Input:
STRING method[] This value specifies the method of animation: either
“modal”, or “ramp”.
STRING plot_type[] This value specifies the type of plot tool. See the remarks
below for more information.
STRING plot_name[] This value specifies the name of the plot tool: either ““ or an
existing posted tool name.
REAL init_angle This value specifies the angle in radians to start the
animation. This value is used mostly for modal animations
where you might want to start animation, say 90 degrees out
of phase.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The COSINE function will be used for the modal data scale factor.
A linear ramp from 1 to 0 will be used for a ramped animation.
The input value plot_type can be set to the following values:

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”
1528 PCL Reference Manual
Animation Functions

Example:

None.

res_display_tool_anim_index (plot_type, plot_name, start_index, end_index)

Description:
This function specifies a register list index is to be used in a subsequent animation sequence for a plot
tool posted in the current viewport.
Input:
STRING plot_type[] This value specifies the type of plot tool. See the remarks
below for more information.
STRING plot_name[] This value specifies the name of the plot tool: either ““ or
an existing posted tool name.
INTEGER start_index This value specifies any number between 1 and N-1, where
N is the number of data sets specified in the register list as
explained below.
INTEGER end_index This value specifies any number between start_index+1
and N.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The indices for this function are 1 through N, corresponding to the N data sets specified by the defined
register list.
This tool must be currently associated to a register containing a register list defined using the
res_data_dbres_list() or res_data_register_list() functions.
The input value plot_type can be set to the following values:

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”
Chapter 6: Results Postprocessing Functions 1529
Animation Functions

Example:

None.

res_display_tool_anim_gv (plot_type, plot_name, global_name, init_value,


end_value)

Description:
This function specifies a subsequent animation to be created using the specified global variable.
Input:
STRING plot_type[] This value specifies the type of plot tool. See the
remarks below for more information.
STRING plot_name[] This value specifies the name of the plot tool: either ““
or an existing posted tool name.
STRING global_name[] This value specifies the global variable name.
REAL init_value This value specifies the starting global variable value.
REAL end_value This value specifies the ending global variable value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The global variable specified by the input value global_name must be associated with the data sets in the
register list of the plot tool.
The values in the tool’s register list correspond to the data set global variable values to be traversed during
the animation.
The input value plot_type can be set to the following values:

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”
1530 PCL Reference Manual
Animation Functions

Example:

None.

res_display_tool_anim_off (plot_type, plot_name)

Description:
This function turns off the animation of a particular plot tool.
Input:
STRING plot_type[] This value specifies the type of plot tool. See the
remarks below for more information.
STRING plot_name[] This value specifies the name of the plot tool: either
““ or an existing posted tool name.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The input value plot_type can be set to the following values:

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”

Example:

None.
Chapter 6: Results Postprocessing Functions 1531
Animation Functions

res_display_tool_anim_get (plot_type, plot_name, method, start_index,


end_index, global_name, init_value,
end_value)

Description:
This function retrieves animation definitions for a particular plot tool.
Input:
STRING plot_type[] This value specifies the type of plot tool. See the remarks
below for more information.
STRING plot_name[] This value specifies the name of the plot tool: either ““or
an existing posted tool name.
Output:
STRING method[] This value returns the animation method for the current
animation.
INTEGER start_index This value returns the starting index for the current
animation.
INTEGER end_index This value returns the ending index for the current
animation.
STRING global_name[] This value returns the global variable associated with the
current animation.
REAL init_value This value returns the initial value of the global variable
for this animation.
REAL end_value This value returns the ending value of the global variable
associated with this animation.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The input value plot_type can be set to the following values:

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”
1532 PCL Reference Manual
Animation Functions

Example:

None.

res_display_anim_setup_2d (number_frames,
interp_method, file_name)

Description:
This function specifies the number of frames and interpolation method to be used for creating a 2D
image animation.
Input:
INTEGER number_frames This value specifies the number of animation
frames to create.
STRING interp_method[] This value specifies the method of interpolation for
transient animation to create frames when actual
existing data does not exist for that frame. Valid
values are: “Linear”, “Spline”, “Closest”, and
“None”.
STRING file_name[] This value specifies the root file name for
animation files to be created in conjunction with
the animation process. The animation files will not
be created if this value is set to an empty string or
““.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The interpolation factor is used for any tool animating from a register list.
Example:

Please see res_display_anim_setup_2d.


Chapter 6: Results Postprocessing Functions 1533
Animation Functions

res_display_anim_setup_3d (number_frames, interp_method)

Description:
This function specifies the number of frames and interpolation method to be used for creating a 3D
display list animation.
Input:
INTEGER number_frames This value specifies the number of animation frames
to create.
STRING interp_method[] This value specifies the method of interpolation for
transient animation to create frames when actual
existing data does not exist for that frame. Valid
values are: “Linear”, “Spline”, “Closest”, and
“None”.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The interpolation factor is used for any tool animating from a register list.
Example:

Please see res_display_anim_setup_3d.


1534 PCL Reference Manual
Animation Functions

res_display_anim_image_create (file_name)

Description:
This function creates an image file of the current viewport.
Input:
STRING file_name[] This value specifies the file name to which the image will
be dumped.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_display_anim_image_create.

res_display_anim_setup_image (number_frames, file_name)

Description:
This function specifies the files containing images to be read in and used as animation frames.
Input:
INTEGER n_frames This value specifies the number of animation frames
to create.
STRING file_name[](n_frames) This value specifies the names of the files containing
image information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Chapter 6: Results Postprocessing Functions 1535
Animation Functions

Remarks:

None.
Example:

Please see res_display_anim_setup_image.

res_display_anim_bounds (current_frame, start_frame, end_frame)

Description:
This function modifies the bounds of the frames used by a running animation.
Input:
INTEGER current_frame This value specifies the frame to display upon execution.
INTEGER start_frame This value specifies the lower bound of the frames to
display.
INTEGER end_frame This value specifies the upper bound of the frames to
display.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_display_anim_bounds.


1536 PCL Reference Manual
Animation Functions

res_display_anim_method (method)

Description:
This function modifies the method of paging from frame to frame during an animation.
Input:
STRING method[] This value specifies the animation method. Valid values
are: “Cycle” (1->n,1->n) and “Bounce” (1<->n).
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_display_anim_method.

res_display_anim_run (delay)

Description:
This function starts the running of an animation at a specific frame rate and can also be used to modify
the frame rate of a running animation process.
Input:
INTEGER delay This value specifies the delay in milliseconds
between frame display calls. Setting this value to 0
will produce the maximum frame refresh rate.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Chapter 6: Results Postprocessing Functions 1537
Animation Functions

Remarks:

None.
Example:

Please see res_display_anim_run.

res_display_anim_step ()

Description:
This function stops any running animation and displays the next frame in the queue.
Input:
None.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function can be used to stop animation sequences started with a call to the res_dipslay_anim_run()
function.
Example:

Please see res_display_anim_step.


1538 PCL Reference Manual
Animation Functions

res_display_anim_frame (frame_number)

Description:
This function displays an animation frame and stops any running animation.
Input:
INTEGER frame_number This value specifies the frame number of the animation
to display.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_display_anim_frame.

res_display_anim_clear ()

Description:
This function stops any running animation and clears any stored animation frames from memory.
Input:
None.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Chapter 6: Results Postprocessing Functions 1539
Animation Functions

Example:

Please see res_display_anim_clear.

res_display_anim_active ()

Description:
This function queries whether an animation is active or not.
Input:
None.
Output:
LOGICAL <Return Value> This function returns TRUE if an animation is active,
and FALSE otherwise.
Error Conditions:
None.

Remarks:

None.
Example:

Please see res_display_anim_active.


1540 PCL Reference Manual
Animation Functions

res_display_anim_status (current_frame, start_frame, end_frame,


number_frame, delay disp_method,
anim_status)

Description:
This function returns the status of an animation in the current viewport.
Input:
None.
Output:
INTEGER current_frame This value returns the current frame displayed in the
current animation.
INTEGER start_frame This value returns the starting frame number of the
current animation.
INTEGER end_frame This value returns the ending frame number of the
current animation.
INTEGER number_frame This value returns the number of frames in the current
animation.
INTEGER delay This value returns the delay (in milliseconds) of the
current animation.
INTEGER disp_method This value returns the display method of the current
animation.
INTEGER anim_status This value returns the status of the current animation.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

This function only works if an animation is currently in progress.


Example:

None.
Chapter 6: Results Postprocessing Functions 1541
Animation Functions

res_display_cleanup ()

Description:
This function cleans up the graphical display and returns the graphics to a wireframe state.
Input:
None.
Output:
INTEGER <Return This function returns a value of 0 when executed successfully
Value> and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_display_cleanup.


1542 PCL Reference Manual
Quick Plot Functions

Quick Plot Functions


res_display_anim_qk_setup (number_frames, graphics_method,
string)

Description:
This function specifies the number of frames and graphics method to be used for creating an image
animation.
Input:
INTEGER number_frames This value specifies the number of animation frames to
create.
STRING graphics_method[] This value specifies the graphics method for animation.
Valid values are: "2D", "3D", "Preview", and "MPEG".
STRING string[] For future use. Set value to an empty string.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None
Example:

None
Chapter 6: Results Postprocessing Functions 1543
Quick Plot Functions

res_display_anim_qk_fringe_data (location, result_type, primary_result,


secondary_result, layer, derivation,
coordinate, averaging_method,
averaging_domain, extrapolation)

Description:
This function specifies a result to be extracted and manipulated into a format for subsequent display.
Input:
STRING location[] This value specifies the model entity with which the
results data is associated. Valid values are: "C" =
centroid, "N" = nodal, "EN" = element nodal, and
"EL" = element.
STRING result_type[] This value specifies the results data type. Valid
values are: "S" = scalar, "V" = vector, and "T" =
tensor.
STRING primary_result[] This value specifies the identifier of the primary
result.
STRING secondary_result[] This value specifies the identifier of the secondary
result.
STRING layer[] This value specifies the layer position identifier.
STRING derivation[10] This value specifies the derivation specifier if the
results are to be derived. A null will leave the result
as is. See the remarks in res_data_load_dbresults()
for more information.
STRING coordinate[] This value specifies the coordinate for
transformations. Valid values are: ““ = as is, “Coord
i” = Db coordinate system, "M" = material system,
"IJK" = element ijk system, "N" = nodal system, and
"G" = global.
STRING averaging_method[ This value specifies the averaging method: “derive-
] avg” to perform derivations and transformations,
then average the results, “avg-derive” (transform to
global, average, then derive/transform),
“difference” (calculate the difference versus
average, derivations performed first), and “sum”
(sum all of the element nodal components at the
nodes).
STRING averaging_domain[ This value specifies the averaging domain: “All”,
] “Matl”, “Prop”, “Target” (only consider entities in
the target definition), and “Element”.
1544 PCL Reference Manual
Quick Plot Functions

STRING extrapolation[] This value specifies the extrapolation method:


“ShapeFunc”, “Average” (constant in element
computed as the average), and “Centroid” (constant
in element as computed centroidal value).
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

See the remarks in res_data_load_dbresult for more information.


Example:

None.

res_display_anim_qk_layers (derivation, count, layers)

Description:
This function specifies the element layer information.
Input:
STRING derivation[] This value specifies the results data be scanned for the
maximum, minimum, summation, or averaged
values. Valid values are: "MAXIMUM",
"MINIMUM", "SUM", and "AVERAGE".
INTEGER count This value specifies the number of layers selected.
STRING layers[](count) This value specifies the layer position labels.
Output:
None
Error Conditions:
None

Remarks:

None
Chapter 6: Results Postprocessing Functions 1545
Quick Plot Functions

Example:

Note
.

res_display_anim_qk_fringe_ttle (title)

Description:
This function specifies a title string to be associated with the fringe plot. If this title is not specified, a
default title based on the source of the data will be used.
Input:
STRING title[] This value specifies the fringe title.
Output:
None
Error Conditions:
None

Remarks:

None.
Example:

None.
1546 PCL Reference Manual
Quick Plot Functions

res_display_anim_qk_fringe_attr ( nattribs, attributes,


deformed_flag, spectrum_flag,
range_flag)

Description:
This function creates a fringe plot tool definition.
Input:
INTEGER nattribs This value specifies the number of offsets in the input
value attributes.
STRING attributes[](nattribs) This value specifies the attributes. See remarks in
res_display_fringe_create() for more information.
LOGICAL deformed_flag This value is set to TRUE to enable displaying in the
deformed shape if deformation tools are posted
LOGICAL spectrum_flag This value is set to TRUE to display the spectrum bar
with this plot.
LOGICAL range_flag This value is set to TRUE to flag this tool to control the
range info in the viewport.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

See remarks in res_display_fringe_create for more information.


Chapter 6: Results Postprocessing Functions 1547
Quick Plot Functions

res_display_anim_qk_deform_data (register, location, result_type,


primary_result, secondary_result, layer,
derivation, coordinate,
averaging_method, averaging_domain,
extrapolation)

Description:
This function specifies a result to be extracted from the database and manipulated into a format for
subsequent display. This description will be stored in the specified register.
Input:
INTEGER register This value specifies the register identifier.
STRING location[] This value specifies the model entity with which the
results data is associated. Valid values are: "C" =
centroid, "N" = nodal, "EN" = element nodal, and
"EL" = element.
STRING result_type[] This value specifies the results data type. Valid
values are: "S" = scalar, "V" = vector, and "T" =
tensor.
STRING primary_result[] This value specifies the identifier of the primary
result.
STRING secondary_result[] This value specifies the identifier of the secondary
result.
STRING layer[] This value specifies the layer position identifier.
STRING derivation[10] This value specifies the derivation specifier if the
results are to be derived. A null will leave the result
as is. See the remarks in res_data_load_dbresults()
for more information.
STRING coordinate[] This value specifies the coordinate for
transformations. Valid values are: ““ = as is, “Coord
i” = Db coordinate system, "M" = material system,
"IJK" = element ijk system, "N" = nodal system,
and "G" = global.
STRING averaging_method[] This value specifies the averaging method: “derive-
avg” to perform derivations and transformations,
then average the results, “avg-derive” (transform to
global, average, then derive/transform),
“difference” (calculate the difference versus
average, derivations performed first), and “sum”
(sum all of the element nodal components at the
nodes).
1548 PCL Reference Manual
Quick Plot Functions

STRING averaging_domain[] This value specifies the averaging domain: “All”,


“Matl”, “Prop”, “Target” (only consider entities in
the target definition), and “Element”.
STRING extrapolation[] This value specifies the extrapolation method:
“ShapeFunc”, “Average” (constant in element
computed as the average), and “Centroid” (constant
in element as computed centroidal value).
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

See remarks in res_display_fringe_create for more information.


Example:

None.
.

res_display_anim_qk_deform_ttle (register, location,


register_type, count, titles)

Description:
This function specifies a title string to be associated with the deformed plot. If this title is not specified,
a default title based on the source of the data will be used.
Input:
STRING titles[] This value specifies the fringe title.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Chapter 6: Results Postprocessing Functions 1549
Quick Plot Functions

Example:

None.

res_display_anim_qk_deform_attr nattribs, attributes, deformed_flag,


spectrum_flag, range_flag )

Description:
This function defines the deformation attributes for the plot tool definition.
Input:
INTEGER nattribs This value specifies the number of offsets in the input
value attributes.
STRING attributes[](nattribs) This value specifies the attributes. See the remarks
below for more information.
LOGICAL deformed_flag This value is set to TRUE to enable displaying in the
deformed shape if deformation tools are posted
LOGICAL spectrum_flag This value is set to TRUE to display the spectrum bar
with this plot.
LOGICAL range_flag This value is set to TRUE to flag this tool to control the
range info in the viewport.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

See remarks in res_display_fringe_create for more information.


Example:

None.
1550 PCL Reference Manual
Quick Plot Functions

res_display_anim_qk_res_list (fringe_flag, deform_flag, graphics_method,


fringe_range, const_range_flag, num_cases,
load_case, subcase)

Description:
This function specifies a series of database result specifiers to be associated with a specific register.
Input:
LOGICAL fringe_flag This value is set to TRUE to enable displaying in
the fringe.
LOGICAL deformed_flag This value is set to TRUE to enable displaying in
the deformed.
STRING graphics_method[] This value specifies the graphics method for
animation. Valid values are: "2D", "3D", "Preview",
and "MPEG".
STRING fringe_range This value specifies the fringe spectrum for display.
LOGICAL const_range_flag This value is set to TRUE to enable use a constant
range values the spectrum bar.
INTEGER num_cases This value specifies the number of result cases.
STRING load_case[](num_cases) This value specifies the load case identifiers.
STRING subcase[](num_cases) This value specifies the subcase identifiers.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None
Example:

None
Chapter 6: Results Postprocessing Functions 1551
Plot Tool Query Functions

Plot Tool Query Functions


The following functions are used to retrieve information regarding currently defined plot tools.
.

res_display_get_ntools (plot_type)

Description:
This function returns the number of tools of the specified type.
Input:
STRING plot_type[] This value specifies the tool type. If this value is set to an
empty string or ““ the count of all tools is returned. See
the remarks below for more information.
Output:
INTEGER <Return Value> This function returns the number of tools of the specified
type.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The input value plot_type can be set to the following values:

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”

Example:

Please see res_display_get_ntools.


1552 PCL Reference Manual
Plot Tool Query Functions

res_display_get_nposted_tools (plot_type, view_id)

Description:
This function returns the number of posted tools of the specified type.
Input:
STRING plot_type[] This value specifies the tool type. If this value is set
to an empty string or ““ the count of all tools is
returned. See the remarks below for more
information.
INTEGER view_id This value specifies the viewport identifier. If this
value is set to 0, the number of posted tools for all
viewports will be returned.
Output:
INTEGER <Return Value> This function returns the number of posted tools of
the specified type.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The input value plot_type can be set to the following values:

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”

Example:

Please see res_display_get_nposted_tools.


Chapter 6: Results Postprocessing Functions 1553
Plot Tool Query Functions

res_display_get_posted_tools (plot_type, tools, types, view_id)

Description:
This function outputs the names and types of the posted tools.
Input:
STRING plot_type[] This value specifies the tool type. If this value is set to an
empty string or ““, the name and types of all tools is
returned. See the remarks below for more information.
INTEGER view_id This value specifies the viewport identifier. Optional=0.
Output:
STRING tools[](VIRTUAL) This value returns the plot tool names that are posted to
the specified viewport.
STRING types[](VIRTUAL) This value returns the plot types.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The input value plot_type can be set to the following values:

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”

Example:

Please see res_display_get_posted_tools.


1554 PCL Reference Manual
Plot Tool Query Functions

res_display_get_color_id (color_str, color_id)

Description:
This function outputs the color identifier of the input color string as it is used with the tool attribute
definitions.
Input:
STRING color_str[] This value specifies the input color. See the remarks
below for more information.
Output:
INTEGER color_id This value returns the color identifier of the specified
color.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The input value color_str can be set to the following values:

“Black” “Red” “Green”


“Yellow” “Blue” “Magenta”
“Cyan” “White” “Orange”
“LtOrange” “DkGreen” “LtGreen”
“DkBlue” “LtBlue” “DkMagenta”
“LtMagenta”

Example:

Please see res_display_get_color_id.


Chapter 6: Results Postprocessing Functions 1555
Plot Tool Query Functions

res_display_get_color_str (color_id, color_str)

Description:
This function outputs the color string of the input color identifier as it is used with the tool attribute
definitions.
Input:
INTEGER color_id This value specifies the color identifier. This value
must be 0 or greater and less than 16.
Output:
STRING color_str[] This value returns the color associated with the given
identifier.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_display_get_color_str.


1556 PCL Reference Manual
Plot Tool Query Functions

res_display_get_tool_size (plot_type, plot_name, ntargets, target_length,


nattribs)

Description:
This function outputs the size of the targets and attributes of the specified plot tool.
Input:
STRING plot_type[] This value specifies the tool type. If this value is set to an
empty string or ““, the target size and attributes of all tools
is returned. See the remarks below for more information.
STRING plot_name[] This value specifies the name of the plot tool.
Output:
INTEGER ntargets This value returns the number of targets defined.
INTEGER target_length This value returns the maximum length of a target string.
INTEGER nattribs This value returns the number of attributes defined.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The input value plot_type can be set to the following values:

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”

Example:

Please see res_display_get_tool_size.


Chapter 6: Results Postprocessing Functions 1557
Plot Tool Query Functions

res_display_get_tool (plot_type, plot_name, ent_type, ntargets, targets,


nattribs, attributes, deformed_flag)

Description:
This function outputs the specified plot tool definition.
Input:
STRING plot_type[] This value specifies the tool type. If this value is set
to an empty string or ““, the definition of all tools is
returned. See the remarks below for more
information.
STRING plot_name[] This value specifies the name of the plot tool.
Output:
STRING ent_type[] This value returns the entity type specification.
INTEGER ntargets This value returns the number of target entities.
STRING targets[](ntargets) This value returns the target entities.
INTEGER nattribs This value returns the number of attributes
associated with this plot tool
STRING attributes[](nattribs This value returns the attributes of this plot tool.
)
LOGICAL deformed_flag This value returns the state of the deformed flag.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Isosurface and Streamline tools have additional parameters and are not supported by the get_tool function
but have their own get_ functions.
The input value plot_type can be set to the following values:
:

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”
1558 PCL Reference Manual
Plot Tool Query Functions

Example:

Please see res_display_get_tool.

res_display_get_graph (plot_name, graph_type, entity_type, ntargets, targets,


nattribs, attributes)

Description:
This function outputs the specified graph plot tool definitions.
Input:
STRING plot_name[] This value specifies the name of the graph plot tool.
Output:
STRING graph_type[] This value returns the graph type.
STRING entity_type[] This value returns the entity type.
INTEGER ntargets This value returns the number of targets.
STRING targets[](ntargets) This value returns the target values.
INTEGER nattribs This value returns the number of attributes associated
with this plot.
STRING attributes[](nattribs) This value returns the attributes of this plot tool.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

None.
Example:

Please see res_display_get_graph.


Chapter 6: Results Postprocessing Functions 1559
Plot Tool Query Functions

res_display_count_tools (plot_type, status)

Description:
This function retrieves the number of plot tools of the specified type.
Input:
INTEGER plot_type This value specifies the tool type. If this value is set to
an empty string or ““, the number of plot tools of all
types is returned. See the remarks below for more
information.
INTEGER status This value specifies the status of the plot tool. Valid
values are: 0 = unposted tools, 1 = posted tools, and 2
= all tools.
Output:
INTEGER <Return Value> This function returns a value specifying the number of
tools of the given type.
Error Conditions:
None.

Remarks:

The input value plot_type can be set to the following values:


:

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”

Example:

Please see res_display_count_tools.


1560 PCL Reference Manual
Plot Tool Query Functions

res_display_get_tool_data (plot_type, plot_name, location, type)

Description:
This function retrieves the location and type of data associated with a plot tool.
Input:
STRING plot_type[] This value specifies the tool type. If this value is
set to an empty string or ““, the location and data
type for all of the plot tools is set. See the remarks
below for more information.
STRING plot_name[] This value specifies the name of the plot tool.
Output:
STRING location[] This value returns the data location.
STRING type[] This value returns the data type.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

Please see res_display_set_tool_data, 1561 for more information.


The input value plot_type can be set to the following values:

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”

Example:

Please see res_display_get_tool_data.


Chapter 6: Results Postprocessing Functions 1561
Plot Tool Query Functions

res_display_set_tool_data (plot_type, plot_name, register_id)

Description:
This function sets the data handling descriptions to the registers for a plot tool which has previously
been posted.
Input:
STRING plot_type[] This value specifies the tool type. If this value is set to
an empty string or ““, the data associated to all of the
plot tools is set. See the remarks below for more
information.
STRING plot_name[] This value specifies the name of the plot tool.
INTEGER register_id This value specifies the register identifier.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The input value plot_type can be set to the following values:

“Fringe” “2DContour” “Vector”


“Tensor” “Icon” “3DContour”
“Deformation” “Element” “Cursor”
“Isosurface” “Stream”

The use of this function will allow subsequent calls to the res_display_fringe_post,
res_display_vector_post, res_display_tensor_post, res_display_deformation_post, and
res_display_graph_post PCL functions to repost the specified plot tool using the data descriptions in the
specified registers.
Example:

None.
1562 PCL Reference Manual
Plot Tool Query Functions

res_display_set_graph_data (plot_name, x_register_id, y_register_id)

Description:
This function sets the data handling descriptions to the registers for a graph tool which has previously
been posted.
Input:
STRING plot_name[] This value specifies the graph plot tool name.
INTEGER x_register_id This value specifies the register identifier containing
the X axis data.
INTEGER y_register_id This value specifies the register identifier containing
the Y axis data.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.

Remarks:

The use of this function will allow subsequent calls to the res_display_fringe_post,
res_display_vector_post, res_display_tensor_post, res_display_deformation_post, and
res_display_graph_post PCL functions to repost the specified graphics tool using the data descriptions
in the specified registers.
Example:

None.
Chapter 6: Results Postprocessing Functions 1563
Results Template Functions

Results Template Functions

Session file commands


res_tmpl_create_over ( tmpl_id, overwrite_tmpl, name, tool_type, desc,
num_attributes, va_attributes , num_options,
va_options, num_misc, va_misc, pclexp, title )

Description:
This function creates a result template and states it in the database.
Input:
LOGICAL overwrite_tmpl If TRUE, causes existing template with the same name
and tool type to be overwritten.
STRING name[max 31] Template name.
STRING tool_type[] Template tool type.
STRING desc[VIRTUAL] Template description.
INTEGER num_attributes Number of strings in va_attributes.
STRING va_attributes[113] Template attribute values. Each string consists of up to
(num_attributes) 32 characters of a key value, followed by : and then the
value of up to 80 characters associated with that key.
INTEGER num_options Number of strings in va_options.
STRING va_options[113] Template option values. Each string consists of up to 32
(num_options) characters of a key value, followed by : and then the
value of up to 80 characters associated with that key.
INTEGER num_misc Number of strings in va_misc.
STRING va_misc[113](num_misc) Template miscellaneous values. Each string consists of
up to 32 characters of a key value, followed by : and then
the value of up to 80 characters associated with that key.
STRING pclexp[VIRTUAL] Template Pcl expression. Although a virtual string here,
other parts of the code may limit it to no more than 200
characters.
STRING title[VIRTUAL] Template title. Although a virtual string here, other parts
of the code may limit it to no more than 159 characters.
Output:
INTEGER tmpl_id Internal database id of the newly created template.
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
1564 PCL Reference Manual
Results Template Functions

MSG_RES_RDM_TMPL_INVALID_TYPE
MSG_RES_RDM_INVALID_TOOL_TYPE
MSG_RES_RDM_TOOL_DOES_NOT_EXIST
MSG_RES_RDM_TMPL_NO_NAME
MSG_RES_RDM_TOOL_ALREADY_EXISTS
DbInvalidMemoryDbPageOffset

DbInvalidMemoryDbPageId

Other db errors

DbVirtualMemoryExhausted

Other db exceptions

Remarks

Only the first 31 characters of a result template name are stored in the database.
The valid tool_type values are the valid result tool types. However, at this time, templates are only
supported for Deformation, Fringe, Vector, Tensor, Graph, and Report.
The combination of name and tool_type must be unique.
The deformation attributes:

"LegendDisplay:value" , where value is one of ON or OFF.


"LegendSetting:value" , where value is one of 0 or 1.
"DeformedStyle:color,style,thickness where color is one of the 16 color names (see Colors Available)
,render" , ; style is one of Solid , Dash , Dotted , or DotDash ; thickness
is one of 1 through 10 ; and render is one of Wireframe ,
FreeEdge , HiddenLine , or Shaded.
"DeformedScale:value" , where value is True=real_val or Model=real_val.
where onoff is one of ON or OFF ; color is one of the 16 color
"UndeformedStyle:onoff,color,style,t names (see Colors Available) , style is one of Solid , Dash ,
hickness,render" , Dotted , or DotDash ; thickness is one of 1 through 10 ; and
render is one of Wireframe , FreeEdge , HiddenLine , or
Shaded.
"TitleDisplay:value" , where value is one of ON or OFF.
"MinMaxDisplay:value" , where value is one of ON or OFF.
"LabelStyle:form,font,color,digits" , where form is one of Exponential , Fixed or Integer ; font is 12
; color is one of the 16 color names (see Colors Available ) ; and
digits is one of 0 through 13.
Chapter 6: Results Postprocessing Functions 1565
Results Template Functions

The fringe attributes:

"SpectrumDisplay:value" , where value is one of ON or OFF.


"LegendDisplay:value" , where value is one of ON or OFF.
"LegendSetting:value" , where value is one of 0 or 1.
"Range:value where value is name of a range.
"RangeOverwrite:value" , where value is one of ON or OFF.
"RangePost:value" , where value is one of ON or OFF.
"FringeStyle:value where value is one of ElemFill , Discrete/Flat ,
Discrete/Smooth , or Continuous.
"Shade:value where value is one of None , or Shade.
where edge is one of None , FreeEdge , or ElemEdge ; color is
"ElemEdge:edge,color,style,thicknes one of the 16 color names (see ) , style is one of Solid , Dash ,
s" , Dotted , or DotDash ; thickness is one of 1 through 10
"Shrink:value , where value is percentage as an integer.
"TitleDisplay:value" , where value is one of ON or OFF.
"MinMaxDisplay:value" , where value is one of ON or OFF.
"ValueDisplay:value" , where value is one of ON or OFF.
"LabelStyle:form,font,color,digits" , where form is one of Exponential , Fixed or Integer ; font is 12
; color is one of the 16 color names (see Colors Available ) ; and
digits is one of 0 through 13.
"ShowOnDeformed:value" , where value is one of ON or OFF.

The graph attributes:

"curveFitMethod:value" , where value is one of Linear , Scatter , Spline , LeastSquares.


"curveStyle:value" , where value is one of Solid , LongDash , ShortDash , OddDash ,
Dotted , or DotDash.
"symbolDisplay:value" , where value is one of ON or OFF.
"xAxisLabelDisplay:value" , where value is one of ON or OFF.
"xAxisLabel:value" , where value is the axis label.
"xAxisScale:value" , where value is one of Linear or Log.
where form is one of Exponential , Fixed or Integer ; font is 12 ; color
"xAxisLabelFormat:form,font, is one of the 16 color names (see Colors Available ) ; and digits is one
color,digits" , of 0 through 13.
"yAxisLabelDisplay:value" , where value is one of ON or OFF
"yAxisLabel:value" , where value is the axis label
1566 PCL Reference Manual
Results Template Functions

"yAxisScale:value" , where value is one of Linear or Log


where form is one of Exponential , Fixed or Integer ; font is 12 ; color
"yAxisLabelFormat:form,font, is one of the 16 color names (see Colors Available ) ; and digits is one
color,digits" , of 0 through 13.
"sortPtsByXCoord:value" , where value is one of ON or OFF
"WindowName:value" , where value is the window name.
"AppendToWindow:value" , where value is one of ON or OFF

The report attributes:

"ReportType:value" , where value is one of Full , Summary , or DataOnly.


"ReportTitle:value" , where value is the title string. Note that reports can have several
ReportTitle:value attributes.
"ReportHeader:value" , where value is the header string.
"ReportFooter:value" , where value is the footer string.
"ReportPage:value" , where value is
Height=val,Width=val,TopMargin=val,LeftMargin=val,BottomMa
rgin=val , where val is an integer and represents the number of lines
for height or charaters for Width.
"ReportPagination:value" , where value is one of ON or OFF.
"ReportPageNumber:value" , where value is beginning page number.
where value is one of Center , Left , or Right.
"ReportPageAlignment:value"
,
"EntitySort:value" , where value is one of LoadCase or Entity.
where column is 0 ; direction is one of Ascending or Descending ;
"ValueSort:column,direction, and method is one of Algebraic or Absolute.
method" ,
"ColumnHeaders:value" where value is one of ON or OFF.

The tensor marker attributes:

"SpectrumDisplay:value" , where value is one of ON or OFF.


"LegendDisplay:value" , where value is one of ON or OFF.
"LegendSetting:value" , where value is one of 0 or 1.
"Range:value where value is name of a range.
"RangeOverwrite:value" , where value is one of ON or OFF.
"RangePost:value" , where value is one of ON or OFF.
Chapter 6: Results Postprocessing Functions 1567
Results Template Functions

"ColoringMethod:value" , where value is one of Constant or Spectrum.


"TensorColors:color,color,color,c where color is one of the 16 color names (see Colors Available ) or
olor,color,color" , Spectrum.
where color is one of the 16 color names (see Colors Available ) or
"PrincipalColors:color,color,colo Spectrum.
r" ,
"VectorScale:value" , where value is one of ScreenConstant=real_val ,
ScreenScaled=real_val , ModelConstant=real_val , or
ModelScaled=real_val
"HeadStyle:value" , where value is one of None or Single.
"VectorStyle:value" , where value is one of Solid , or Cylinder.
"BoxStyle:value," , where value is one of ON or OFF ; and style is one of wireframe or
filled.
"BoxColor:value" , where value is one of the 16 color names (see Colors Available ).
"BoxScale:value" , where value is one of ScreenConstant=real_val ,
ScreenScaled=real_val , ModelConstant=real_val , or
ModelScaled=real_val
"TitleDisplay:value" , where value is one of ON or OFF.
"MinMaxDisplay:value" , where value is one of ON or OFF.
"ValueDisplay:value" , where value is one of ON or OFF.
where form is one of Exponential , Fixed or Integer ; font is 12 ;
"LabelStyle:form,font,color,digit color is one of the 16 color names (see ) ; and digits is one of 0
s" , through 13.
"ShowOnDeformed:value" , where value is one of ON or OFF.

The vector marker attributes:

"SpectrumDisplay:value" , where value is one of ON or OFF.


"LegendDisplay:value" , where value is one of ON or OFF.
"LegendSetting:value" , where value is one of 0 or 1.
"Range:value where value is name of a range.
"RangeOverwrite:value" , where value is one of ON or OFF.
"RangePost:value" , where value is one of ON or OFF.
"ColoringMethod:value" , where value is one of Constant or Spectrum.
"VectorColors:color,color,col where color is one of the 16 color names (see Colors Available ) or
or,color" , Spectrum.
1568 PCL Reference Manual
Results Template Functions

"VectorScale:value" , where value is one of ScreenConstant=real_val ,


ScreenScaled=real_val , ModelConstant=real_val , or
ModelScaled=real_val
"VectorAttachment:value" , where value is one of Head , Tail , or Middle.
"HeadStyle:value" , where value is one of None , Single, or Double
"VectorStyle:value" , where value is one of Solid , or Cylinder.
"TailDisplay:value" , where value is ON.
"TitleDisplay:value" , where value is one of ON or OFF.
"MinMaxDisplay:value" , where value is one of ON or OFF.
"ValueDisplay:value" , where value is one of ON or OFF.
where form is one of Exponential , Fixed or Integer ; font is 12 ; color
"LabelStyle:form,font,color,d is one of the 16 color names (see Colors Available ) ; and digits is one
igits" , of 0 through 13.
"ShowOnDeformed:value" , where value is one of ON or OFF.

The array of options values uses the same key words for all the template types. However, note that note
all possible values make sense for a particular tool type or for your particular results data. Take care to
supply appropriate values for your situation.

"CoordTrans:value" , where value is one of AsIs , Coord id , ResCoord id , Global , Default ,


Material , IJK , or Nodal. Id is a database id of a coordinate system.
Note that not all possible values are valid for all analysis codes and
results data.
"FilterData:value" , where value is one of blank , None , Minumun=real_val ,
Maximun=real_val , Range=real_val , Exclude=real_val.
"ScaleFactor:value" , where value is a real number
"AverageDomain:value" , where value is one of blank , All , Material , Property , Etype , Target ,
or Element.
"AverageMethod:value" , where value is one of blank , DeriveAverage , AverageDerive ,
Difference , or Sum.
"ExtrapolateMethod:value" where value is one of AsIs , ShapeFunc , Average , Centroid , Min , or
, Max.
"SpreadFlag:value" , where value is on of ON or OFF
"ComplexForm:value" , where value is one of Real , Imaginary , Magnitude , Phase , or Angle.
"ComplexAngle:value" , where value is a real number.
"PclFlag:value" , where value is on of ON or OFF.
Chapter 6: Results Postprocessing Functions 1569
Results Template Functions

The misc data:

The data in va_misc is optional and is used to define the color palettes, spectrums, and ranges for result
plots using the template.
If no data is given here, then num_misc should be set to 0. In this case, va_misc needs to be an array of
1 blank string since the code does not support an array of 0 strings, [ “” ]. This no data case will default
to using the whatever is the current color palette, current spectrum and range as specified in the template
attributes.
Note that not all tools use color palettes, spectrums and ranges. For example, report tools use none of
them while graph tools and deform tools use only the color palette. Data that is not needed by the tool
type will be ignored.
If data is not provided for one or more of the color palette, spectrum or range, then it will default to the
current color palette, current spectrum, and/or range defined by the template attributes.
There are three ways to specify which color palette, spectrum or range to use.
1. You may also explicitly specify to use the current color palette, spectrum and/or range.
2. You may specify the name of an existing color palette or spectrum. This will then be used by the
result tool using the template.
3. You may define the color palette, spectrum and/or range by giving the data that defines them.
Then, when the template is used, a color palette, spectrum and/or range will be created with these
data values and used by the result tool using the template. You have the option to specify that
conflicts with existing color palettes, spectrums and/or ranges in the patran database be
overwritten automatically or that the user be queried about how to resolve the conflict.
Examples of strings to put in the va_misc data array to define spectrums are as follows:
" Spectrum_Use_Current :"

use the current spectrum, or


"Spectrum_Use_Name:spectrum_name”

uses the existing spectrum named, or to define a spectrum and overwrite if its name already exists:
"Spectrum_Definition:spectrum_name,Overwrite=TRUE" ,
"Spectrum_Attributes:Continuous=FALSE,Interpolation Factor=2." ,
"Spectrum_LookUpTable:16,[0,1,8,9,3,5,14,15,10,11,2,12,4,13,6,7]"

Examples of strings to put in the va_misc data array to define color palettes are as follows:
" Palette_Use_Current :"

use the current palette, or


"Palette_Use_Name:palette_name” - uses the existing palette named,

or to define a palette and overwrite if its name already exists:


"Palette_Definition:gray_scale,Overwrite=TRUE,NumColors=16,RGB_HLS=RGB" ,
1570 PCL Reference Manual
Results Template Functions

"Palette_Colors:0,[0.,0.,0.]" ,
"Palette_Colors:1,[0.07,0.07,0.07]" ,
"Palette_Colors:2,[0.13,0.13,0.13]" ,
"Palette_Colors:3,[0.2,0.2,0.2]" ,
"Palette_Colors:4,[0.27000001,0.27000001,0.27000001]" ,
"Palette_Colors:5,[0.33000001,0.33000001,0.33000001]" ,
"Palette_Colors:6,[0.40000001,0.40000001,0.40000001]" ,
"Palette_Colors:7,[0.47,0.47,0.47]" ,
"Palette_Colors:8,[0.52999997,0.52999997,0.52999997]" ,
"Palette_Colors:9,[0.60000002,0.60000002,0.60000002]" ,
"Palette_Colors:10,[0.67000002,0.67000002,0.67000002]" ,
"Palette_Colors:11,[0.73000002,0.73000002,0.73000002]" ,
"Palette_Colors:12,[0.80000001,0.80000001,0.80000001]" ,
"Palette_Colors:13,[0.87,0.87,0.87]" ,
"Palette_Colors:14,[0.93000001,0.93000001,0.93000001]" ,
"Palette_Colors:15,[1.,1.,1.]"

Examples of strings to put in the va_misc data array to define ranges are as follows:
" Range_Use_Current :"

use the current range, or to define a range and overwrite if its name already exists:
"Range_Definition:my range,Overwrite=TRUE,NumSubrange=15" ,
"Range_SubRange:0,[8.4472103,4.,6.2236052]" ,
"Range_SubRange:1,[4.,3.8461537,3.9230769]" ,
"Range_SubRange:2,[3.8461537,3.6923075,3.7692306]" ,
"Range_SubRange:3,[3.6923075,3.5384612,3.6153843]" ,
"Range_SubRange:4,[3.5384612,3.3846149,3.4615381]" ,
"Range_SubRange:5,[3.3846149,3.2307687,3.3076918]" ,
"Range_SubRange:6,[3.2307687,3.0769224,3.1538455]" ,
"Range_SubRange:7,[3.0769224,2.9230762,2.9999993]" ,
"Range_SubRange:8,[2.9230762,2.7692299,2.846153]" ,
"Range_SubRange:9,[2.7692299,2.6153836,2.6923068]" ,
"Range_SubRange:10,[2.6153836,2.4615374,2.5384605]" ,
"Range_SubRange:11,[2.4615374,2.3076911,2.3846142]" ,
"Range_SubRange:12,[2.3076911,2.1538448,2.230768]" ,
"Range_SubRange:13,[2.1538448,2.,2.0769217]" ,
"Range_SubRange:14,[2.,1.42274,1.71137]" ]

An example showing definition of spectrum, color palette and range in the result template data is shown
in the example for a fringe template below.
Example - Deformation
INTEGER tmpl_id
res_tmpl_create_over( tmpl_id , TRUE , @
"default_deform_tmpl" , "Deformation" , @
"My default settings for deformation plots" , @
8 , [ @
"LegendDisplay:ON" , @
"LegendSetting:1" , @
"DeformedStyle:White,Solid,1,Wireframe" , @
"DeformedScale:Model=0.2" , @
"UndeformedStyle:ON,Blue,Solid,1,Wireframe" , @
"TitleDisplay:ON" , @
"MinMaxDisplay:ON" , @
"LabelStyle:Exponential, 12, White, 3" ] , @
10 , [ @
"CoordTrans:AsIs" , @
"FilterData:" , @
"ScaleFactor:1." , @
"AverageDomain:" , @
"AverageMethod:" , @
"ExtrapolateMethod:AsIs" , @
"SpreadFlag:OFF" , @
Chapter 6: Results Postprocessing Functions 1571
Results Template Functions

"ComplexForm:Real" , @
"ComplexAngle:0." , @
"PclFlag:OFF" ] , @
0 , [ "" ] , @
"" , @
"BENDING, Static Subcase, Displacements, Translational, (NON-LAYERED)" )
Example - Fringe
INTEGER tmpl_id
res_tmpl_create_over( tmpl_id , TRUE , @
"default_fringe_tmpl " , "Fringe" , @
"My default settings for fringe plots" , @
15 , [ @
"SpectrumDisplay:ON" , @
"LegendDisplay:ON" , @
"LegendSetting:1" , @
"Range:Fri_fri_t" , @
"RangeOverwrite:ON" , @
"RangePost:ON" , @
"FringeStyle:Discrete/Smooth" , @
"Shade:None" , @
"ElemEdge:FreeEdge,Blue,Solid,1" , @
"Shrink:5" , @
"TitleDisplay:ON" , @
"MinMaxDisplay:ON" , @
"ValueDisplay:OFF" , @
"LabelStyle:Exponential, 12, White, 3" , @
"ShowOnDeformed:ON" ] , @
10 , [ @
"CoordTrans:AsIs" , @
"FilterData:None" , @
"ScaleFactor:1." , @
"AverageDomain:" , @
"AverageMethod:" , @
"ExtrapolateMethod:AsIs" , @
"SpreadFlag:OFF" , @
"ComplexForm:Real" , @
"ComplexAngle:0." , @
"PclFlag:OFF" ] , @
36 , [ @
"Spectrum_Definition:std1,Overwrite=TRUE" , @
"Spectrum_Attributes:Continuous=FALSE,Interpolation Factor=2." , @
"Spectrum_LookUpTable:16,[0,1,8,9,3,5,14,15,10,11,2,12,4,13,6,7]" , @

"Palette_Definition:standard_colortable,Overwrite=TRUE,NumColors=16,RGB_HLS=RGB"
, @
"Palette_Colors:0,[0.,0.,0.]" , @
"Palette_Colors:1,[1.,0.,0.]" , @
"Palette_Colors:2,[0.,1.,0.]" , @
"Palette_Colors:3,[1.,1.,0.]" , @
"Palette_Colors:4,[0.,0.,1.]" , @
"Palette_Colors:5,[1.,0.,1.]" , @
"Palette_Colors:6,[0.,1.,1.]" , @
"Palette_Colors:7,[1.,1.,1.]" , @
"Palette_Colors:8,[1.,0.47,0.]" , @
"Palette_Colors:9,[1.,0.80000001,0.]" , @
"Palette_Colors:10,[0.,0.5,0.]" , @
"Palette_Colors:11,[0.,0.75,0.]" , @
"Palette_Colors:12,[0.,0.,0.67000002]" , @
"Palette_Colors:13,[0.,0.60000002,1.]" , @
"Palette_Colors:14,[1.,0.40000001,1.]" , @
"Palette_Colors:15,[1.,0.75,1.]" , @
"Range_Definition:my range,Overwrite=TRUE,NumSubrange=15" , @
"Range_SubRange:0,[8.4472103,4.,6.2236052]" , @
"Range_SubRange:1,[4.,3.8461537,3.9230769]" , @
"Range_SubRange:2,[3.8461537,3.6923075,3.7692306]" , @
"Range_SubRange:3,[3.6923075,3.5384612,3.6153843]" , @
"Range_SubRange:4,[3.5384612,3.3846149,3.4615381]" , @
"Range_SubRange:5,[3.3846149,3.2307687,3.3076918]" , @
1572 PCL Reference Manual
Results Template Functions

"Range_SubRange:6,[3.2307687,3.0769224,3.1538455]" , @
"Range_SubRange:7,[3.0769224,2.9230762,2.9999993]" , @
"Range_SubRange:8,[2.9230762,2.7692299,2.846153]" , @
"Range_SubRange:9,[2.7692299,2.6153836,2.6923068]" , @
"Range_SubRange:10,[2.6153836,2.4615374,2.5384605]" , @
"Range_SubRange:11,[2.4615374,2.3076911,2.3846142]" , @
"Range_SubRange:12,[2.3076911,2.1538448,2.230768]" , @
"Range_SubRange:13,[2.1538448,2.,2.0769217]" , @
"Range_SubRange:14,[2.,1.42274,1.71137]" ] , @
““, @
"BENDING, Static Subcase, Displacements, Translational - Magnitude, (NON-
LAYERED)" )
Example - Graph
INTEGER tmpl_id
res_tmpl_create_over( tmpl_id , TRUE , @
"default_graph_tmpl" , "Graph" , @
"My default settings for graphs" , @
14 , [ @
"curveFitMethod:Linear" , @
"curveStyle:LongDash" , @
"symbolDisplay:OFF" , @
"xAxisLabelDisplay:ON" , @
"xAxisLabel:Displacements, Translational" , @
"xAxisScale:Linear" , @
"xAxisLabelFormat:Exponential, 12, White, 3" , @
"yAxisLabelDisplay:ON" , @
"yAxisLabel:Strain Tensor," , @
"yAxisScale:Linear" , @
"yAxisLabelFormat:Exponential, 12, White, 3" , @
"sortPtsByXCoord:ON" , @
"WindowName:3" , @
"AppendToWindow:OFF" ] , @
10 , [ @
"CoordTrans:AsIs" , @
"FilterData:" , @
"ScaleFactor:1." , @
"AverageDomain:All" , @
"AverageMethod:DeriveAverage" , @
"ExtrapolateMethod:ShapeFunc" , @
"SpreadFlag:OFF" , @
"ComplexForm:Real" , @
"ComplexAngle:0." , @
"PclFlag:OFF" ] , @
0 , [ "" ] , @
"" , @
"Strain Tensor, VONM" )
Example - Report
INTEGER tmpl_id
res_tmpl_create_over( tmpl_id , TRUE , @
"default_report_tmpl" , "Report" , @
"My default settings for reports" , @
14 , [ @
"ReportType:Full" , @
"ReportTitle:$PRODUCT - Analysis Code: $CODE_NAME " , @
"ReportTitle:Load Case: $LC_NAME, $SC_NAME " , @
"ReportTitle:Result $PRES_NAME, $SRES_NAME - Layer $LYR_NAME " , @
"ReportTitle:Entity: Element Tensor" , @
"ReportHeader:Page $PAGE" , @
"ReportFooter:$DATE" , @
"ReportPage:Height=52,Width=128,TopMargin=5,LeftMargin=8,BottomMargin=5" ,
@
"ReportPagination:OFF" , @
"ReportPageNumber:1" , @
Chapter 6: Results Postprocessing Functions 1573
Results Template Functions

"ReportPageAlignment:Center" , @
"EntitySort:LoadCase" , @
"ValueSort:0,Descending,Algebraic" , @
"ColumnHeaders:ON" ] , @
10 , [ @
"CoordTrans:AsIs" , @
"FilterData:None" , @
"ScaleFactor:0.5" , @
"AverageDomain:All" , @
"AverageMethod:DeriveAverage" , @
"ExtrapolateMethod:ShapeFunc" , @
"SpreadFlag:OFF" , @
"ComplexForm:Real" , @
"ComplexAngle:0." , @
"PclFlag:OFF" ] , @
0 , [ "" ] , @
"" , @
"" )
Example - Tensor
INTEGER tmpl_id
res_tmpl_create_over( tmpl_id , TRUE , @
"default_tensor_tmpl" , "Tensor" , @
"My default settings for tensor marker plots" , @
20 , [ @
"SpectrumDisplay:ON" , @
"LegendDisplay:ON" , @
"LegendSetting:1" , @
"Range:Ten_ten_t" , @
"RangeOverwrite:ON" , @
"RangePost:ON" , @
"ColoringMethod:Constant" , @
"TensorColors:Blue,Green,Yellow,Red,Magenta,White" , @
"PrincipalColors:Blue,Green,Yellow" , @
"VectorScale:ScreenConstant=0.400000" , @
"HeadStyle:Single" , @
"VectorStyle:Solid" , @
"BoxStyle:ON,Wireframe" , @
"BoxColor:Yellow" , @
"BoxScale:ScreenConstant=0.100000" , @
"TitleDisplay:ON" , @
"MinMaxDisplay:ON" , @
"ValueDisplay:ON" , @
"LabelStyle:Exponential, 12, White, 3" , @
"ShowOnDeformed:ON" ] , @
10 , [ @
"CoordTrans:AsIs" , @
"FilterData:None" , @
"ScaleFactor:1." , @
"AverageDomain:All" , @
"AverageMethod:DeriveAverage" , @
"ExtrapolateMethod:ShapeFunc" , @
"SpreadFlag:OFF" , @
"ComplexForm:Real" , @
"ComplexAngle:0." , @
"PclFlag:OFF" ] , @
0 , [ "" ] , @
"" , @
"BENDING, Static Subcase, Strain Tensor,, (NON-LAYERED)" )
Example - Vector
INTEGER tmpl_id
res_tmpl_create_over( tmpl_id , TRUE , @
"default_vector_tmpl" , "Vector" , @
"My default settings for vector marker plots" , @
18 , [ @
1574 PCL Reference Manual
Results Template Functions

"SpectrumDisplay:ON" , @
"LegendDisplay:ON" , @
"LegendSetting:1" , @
"Range:Vec_vec_t" , @
"RangeOverwrite:ON" , @
"RangePost:ON" , @
"ColoringMethod:Constant" , @
"VectorColors:Spectrum,Spectrum,Spectrum,Spectrum" , @
"VectorScale:ScreenConstant=0.300000" , @
"VectorAttachment:Head" , @
"HeadStyle:Single" , @
"VectorStyle:Solid" , @
"TailDisplay:ON" , @
"TitleDisplay:ON" , @
"MinMaxDisplay:ON" , @
"ValueDisplay:ON" , @
"LabelStyle:Exponential, 12, White, 3" , @
"ShowOnDeformed:ON" ] , @
10 , [ @
"CoordTrans:AsIs" , @
"FilterData:Exclude = -1e-36, 1e-36" , @
"ScaleFactor:1." , @
"AverageDomain:" , @
"AverageMethod:" , @
"ExtrapolateMethod:AsIs" , @
"SpreadFlag:OFF" , @
"ComplexForm:Real" , @
"ComplexAngle:0." , @
"PclFlag:OFF" ] , @
0 , [ "" ] , @
"" , @
"BENDING, Static Subcase, Displacements, Translational, (NON-LAYERED)" )
Chapter 6: Results Postprocessing Functions 1575
Results Template Functions

Colors Available
Black Red Green Yellow
Blue Magenta Cyan white
Orange LtOrange DkGreen LtGreen
DkBlue LtBlue DkMagenta LtMagenta

res_tmpl_modify ( tmpl_id , name , tool_type , desc , num_attributes ,


va_attributes , num_options , va_options , num_misc ,
va_misc , pclexp , title )

Description:
This function modifies an existing results template in the database and replaces its stored values with
the input data values.
Input:
INTEGER tmpl_id Internal database id of the result template record to
modify.
STRING name[max 31] Modified name.
STRING tool_type[] Modified tool type.
STRING desc[VIRTUAL Modified description.
]
INTEGER num_attributes Number of strings in va_attributes.
STRING va_attributes[113](num_attributes)
Modified attribute values. Each string consists of up to 32
characters of a key value, followed by : and then the value
of up to 80 characters associated with that key.
INTEGER num_options Number of strings in va_options.
STRING va_options[113](num_options)
Modified option values. Each string consists of up to 32
characters of a key value, followed by : and then the value
of up to 80 characters associated with that key.
INTEGER num_misc Number of strings in va_misc.
STRING va_misc[113](num_misc)
Modified miscellaneous values. Each string consists of up
to 32 characters of a key value, followed by : and then the
value of up to 80 characters associated with that key.
1576 PCL Reference Manual
Results Template Functions

STRING pclexp[VIRTUA Modified Pcl expression. Although a virtual string here,


L] other parts of the code may limit it to no more than 200
characters.
STRING title[VIRTUAL] Modified title. Although a virtual string here, other parts
of the code may limit it to no more than 159 characters.
Output:
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
MSG_RES_RDM_TMPL_INVALID_TYPE
MSG_RES_RDM_INVALID_TOOL_TYPE
MSG_RES_RDM_TOOL_DOES_NOT_EXIST
MSG_RES_RDM_TMPL_NO_NAME

DbInvalidMemoryDbPageOffset
DbInvalidMemoryDbPageId

Other db errors

DbVirtualMemoryExhausted

Other db exceptions

Remarks:

Only the first 31 characters of a result template name are stored in the database.
The valid tool_type values are the valid result tool types. However, at this time, templates are only
supported for Deformation, Fringe, Vector, Tensor, Graph, and Report.
The combination of name and tool_type must be unique.
Chapter 6: Results Postprocessing Functions 1577
Results Template Functions

res_tmpl_delete ( name , tool_type )

Description:
This function deletes the specified results template and its data from the database.
Input:
STRING name[max 31] Name of existing template to be deleted.
STRING tool_type[] The template type.
Output:
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
MSG_RES_RDM_TMPL_INVALID_TYPE
MSG_RES_RDM_INVALID_TOOL_TYPE
MSG_RES_RDM_TOOL_DOES_NOT_EXIST

Remarks:

The valid tool_type values are the valid result tool types. However, at this time, templates are only
supported for Deformation, Fringe, Vector, Tensor, Graph, and Report.
Example:

INTEGER status
Status = res_tmpl_delete( my_old_name , Deformation )
1578 PCL Reference Manual
Results Template Functions

res_tmpl_copy ( new_id , new_name , existing_name , tool_type )

Description:
This function creates a new results template in the database and copies the data from an existing
results template in the database to the new one.
Input:
STRING name[max 31] Name for the new template.
STRING existing_name[max 31] Name of existing template to be copied.
STRING tool_type[] The template type.
Output:
INTEGER new_id Internal database id of the newly created template.
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
MSG_RES_RDM_TMPL_INVALID_TYPE
MSG_RES_RDM_INVALID_TOOL_TYPE
MSG_RES_RDM_TOOL_DOES_NOT_EXIST
MSG_RES_RDM_TMPL_NO_NAME
MSG_RES_RDM_TOOL_ALREADY_EXISTS
DbInvalidMemoryDbPageOffset
DbInvalidMemoryDbPageId
Other db errors
DbVirtualMemoryExhausted
Other db exceptions

Remarks:

The valid tool_type values are the valid result tool types. However, at this time, templates are only
supported for Deformation, Fringe, Vector, Tensor, Graph, and Report.
Example:

INTEGER status
Status = res_tmpl_copy( new_id , “my_new_name” , “my_old_name” , “Deformation” )
Chapter 6: Results Postprocessing Functions 1579
Results Template Functions

res_tmpl_set_force_overwrite ( val )

Description:
This function sets or clears a logical value that controls whether existing results templates in the
database are overwritten when importing a template via the res_tmpl_create_over command.
Input:
LOGICAL val TRUE forces overwriting. FALSE has no effect.
Output:
None
Error Conditions:
None

Remarks:

The values is cleared, that is, set to FALSE, whenever a results template form is displayed. Thus, you
will want to issue this command just before the res_tmpl_create_over() command(s) that you want it to
effect there by forcing them to overwrite existing templates. The value is cleared (set to FALSE) when
the forms are displayed to prevent accidental overwriting of templates by the user.
Example:

Res_tmpl_set_force_overwrite_tmpl( TRUE )
1580 PCL Reference Manual
Results Plot Sets

Results Plot Sets


res_plot_set_create_over ( plot_set_id, overwrite_plot_set, name, desc )

Description:

This function creates a new Plot Set and persists it in the Patran database. An overwrite specifier is
included to allow the command to overwrite an existing Plot Set if it uses the same name as the new
name provided with this command.
Input:
LOGICAL overwrite_plot_set TRUE forces overwriting. FALSE causes the copy to fail
if an existing Plot Set already uses the input new_name.
STRING name[max 79] New Plot Set name.
STRING desc[VIRTUAL] Plot Set description.
Output:
INTEGER plot_set_id Internal database ID of the newly created Plot Set.
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
MSG_RES_PLOT_SET_DOES_NOT_EXIST
DbErrorNotFound
DbOtherFailure

Remarks:

None
Example:

None
Chapter 6: Results Postprocessing Functions 1581
Results Plot Sets

res_plot_set_copy_over ( new_id, overwrite_plot_set, new_name, new_desc,


old_id, old_name )

Description:

This function copies an existing Plot Set and persists it in the Patran database. An overwrite specifier
is included to allow the command to overwrite an existing Plot Set if it uses the same name as the new
name provided with this command.
Input:
LOGICAL overwrite_plot_set TRUE forces overwriting. FALSE causes the copy to
fail if an existing Plot Set already uses the input
new_name.
STRING new_name[max 79] New Plot Set name.
STRING new_desc[VIRTUAL] Plot Set description.
INTEGER old_id Internal database id of the Plot Set to be copied.
STRING old_name[max 79] Plot Set name to be copied.
Output:
INTEGER new_id Internal database ID of the newly created Plot Set.
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
MSG_RES_PLOT_SET_DOES_NOT_EXIST
MSG_RES_PLOT_SET_LONG_NAME
MSG_RES_PLOT_SET_NULL_NAME
MSG_RES_PLOT_SET_EMPTY_NAME
MSG_RES_PLOT_SET_BLANK_NAME
MSG_RES_PLOT_INVALID_NAME
DbErrorNotFound
DbOtherFailure
DbNotADatabase
DbOutOfMemory

Remarks:

If old_name is not blank it will be used to look up the existing Plot Set and the old_id will be ignored.
Otherwise, old_id will be used to lookup the existing Plot Set in the database.
1582 PCL Reference Manual
Results Plot Sets

Example:

None.

res_create_plot_set_row (row_id, plot_set_name, row_index, row_type_name,


num_cols, a_col_vals, stride )

Description:
This function creates a plots set’s row definition.
Input:
STRING plot_set_name[max 79] Plot Set name the row is associated to.
INTEGER row_index Position of row within the Plot Set definition.
STRING row_type_name[ ] Specification of the rows purpose. The options are:
“Fringe Plot”, “Deformed Plot”, “Vector Plot”,
“Tensor Plot”, “Image Data”, “Default Values”,
“Column Order”, “Combined Plot”, and “Saved Plot”.
INTEGER num_cols Number of data column sets that are required to
support the row type.
STRING a_col_vals Data required to support the row type. Each data
column must have the following data within the
column: column_type_name, num_values, value1,
value2, ..., valueN.
INTEGER stride The stride specifies how column data must be indexed.
If the stride value is less than or equal to 0 then data
indexing is assumed to be num_values + 2 strings. If
stride is greater than 0 then the stride value represents
the index jump size. This allows the data to be given
in a two dimensional array. In this case stride is the
size of the first dimension. It should be at least the
largest of the num_values +2. The second dimension
should be at least the number of columns in the row.
Output:
INTEGER row_id Internal database ID of the newly created Plot Set row.
INTEGER <Return Value> Zero for success, else error message code.
Chapter 6: Results Postprocessing Functions 1583
Results Plot Sets

Error Conditions:
MSG_RES_PLOT_SET_DOES_NOT_EXIST
MSG_RES_PLOT_SET_LONG_NAME
MSG_RES_PLOT_INVALID_NAME
MSG_RES_PLOT_SET_NULL_NAME
MSG_RES_PLOT_SET_EMPTY_NAME
MSG_RES_PLOT_SET_BLANK_NAME
DbInstanceNotFound
DbOutOfMemory
DbNotADatabase
DbOtherFailure

Remarks:

a_col_vals is either a one dimensional array with data packed sequentially (stride <= 0) or the equivalent
of a two dimensional array dimensioned (num_cols)(stride).
Example:

None

Iterator Descriptions
When you define your Plot Set rows with the, res_create_plot_set_row, command you must provide one
or more “a_col_vals” which represents the data required to support the row type. The syntax for
a_col_vals is, column_type_name, num_values, value1, value2, ..., valueN. If you specify num_values
greater than 1and provide the corresponding number of data values the Plot Set system iterate across
these values to produce the Plot Set’s analysis plots. Currently there are two iteration methods available.
They are, outer product iterator, abbreviated “product” and tuple iterator, abbreviated “tuple”.

Outer Product Iterator


The outer product iterator will provide individual plots for every possible combination that can be
generated by Plot Set’s row’s column data. For example, if your Plot Set contains a single combination
plot of a fringe and deform plot where you have specified the required data for each plot as single valued
except for,
Fringe Plot:2 Titles
Deform Plot:2 Subcases, 4 Show As, 2 Targets, 2 Titles, 4 Viewportsthe Plot Set system would then
produce 256 plots.
1584 PCL Reference Manual
Results Plot Sets

Tuple Iterator (default)


The tuple iterator will produce individual plots for each possible pairing of the data values needed to
describe each plot included in the Plot Set. For the tuple iterator to function properly it is required that
each plot have an equal number of data values that vary and that the variance be equal. The following
examples show a correct and an incorrect Plot Set definition relative to the successful operation of the
tuple iterator.
Example 1 (correct):
Fringe Plot:2 Loadcases, 4 Targets, 2 Viewports
Deform Plot:2 Subcases, 4 Show As, 2 Titles
Example 2 (incorrect):
Fringe Plot:2 Loadcases, 4 Targets, 2 Viewports
Deform Plot:2 Subcases, 4 Show As, 3 Titles
In the first example the Tuple iterator will successfully create 16 plots by selecting from each plot type a
different varying value to define the plot. In the second example the Tuple iterator will fail since it does
not have 3 viewport selections to pair with the 3 title selections.
For individual plots (not part of a combination Plot Set definition) there is no difference between the
Outer Product Iterator and the Tuple Iterator.

Plot Set Definition


This section describes the Patran’s Plot Set syntax. An experienced Patran user can easily understand how
a Plot Set is defined by visualizing a spread sheet that holds the typical data that can be found in the PCL
commands that create and post an analysis plot in Patran. The Plot Set rows typically represent plot
definitions and the row’s columns hold the data that support the plot’s definition. For example, the
columns for a fringe plot definition row would contain information describing the analysis data keys that
are needed to identify the analysis data set to be rendered, the plot’s target definition, graphic attributes
of the plot, numerical operations that will transform the input data to its final state, range, and spectrum
names to specify the plot’s colored regions with respect to the analysis data numeric intervals.

Sample Plot Set Example


Shown in Appendix A is a simple Plot Set that contains two plots. We will use exerts from the sample in
this section to describe the elements of a Plot Set, its syntax, and the options that exist for each element.
Appendix B contains complete descriptions of all current Plot Set row types and their supporting data
entries.
Take a moment to review the Plot Set example in Appendix A before reading the following steps that
describe its contents.
Chapter 6: Results Postprocessing Functions 1585
Results Plot Sets

At the top of the example Plot Set you will see the following PCL declarations for the variables used in
the file. As you can see the plot names are limited to 79 characters.
INTEGER plot_set_id, status
INTEGER row_id
STRING plot_set_name [ 79 ]
At the start of each Plot Set definition you must specify the Plot Set name and call the function that
creates the new Plot Set within Patran’s database.

plot_set_name = "combo_plot_1"
status = res_plot_set_create_over( plot_set_id , FALSE ,
plot_set_name , @
"Deformed fringe plot" )
IF( status == 0 ) THEN
<lines that represent the Plot Set definition go here>
END IF
If the create function returns a successful status then, as we will describe in the next point, the Plot Set
row definitions will be exercised to provide the content of the Plot Set definition.
The arguments of the res_plot_set_create_over function are as follows.

plot_set_id An output variable the returns the id of the new Plot Set.
FALSE (or TRUE) A logical that specifies if the command is allowed to over write an existing
Plot Set definition if the Plot Set names are identical. (TRUE = over write
allowed)
plot_set_name The new Plot Set name to be created.
Deformed fringe plot The Plot Set’s text description.

Within this samples Plot Set’s IF-block are placed res_create_plot_set_row commands. These commands
provide the combination plot’s specification and the fringe and deform plots that define the combo plot.
Described below are the rows specifying the combination plot and its fringe plot. The specification for
the deformed plot is similar to the fringe plot and therefore will not be described.
The arguments of res_create_plot_set_row function for the combination plot specification are as follows.

row_id Output variable that returns the id of the new Plot Set row.
plot_set_name The Plot Set name that the row belongs to.
1 The row index within the Plot Set.
Combined Plot The row type. Options are, “Fringe Plot”, “Deformed Plot”, “Vector Plot”,
“Tensor Plot”, “Image Data”, “Default Values”, Column Order”,
“Combined Plot”, and “Saved Plot”.
3 The number of data columns that are needed to support the row type.
1586 PCL Reference Manual
Results Plot Sets

Combined Plot Data The data column syntax is defined to be, column_type_name, num_values,
Columns: value1, value2, ..., valueN. Appendix B shows the data necessary to
support the various row types.
Num Combo Plots / Num Combo Rows / Iterator Type
These are the column_type_name selection for the combo plot row
columns. They must be used in the order shown.
1 Number of data specifications to follow.
2 / 2 / product The first value represents the number of plots that define the combination
plot. The second value represents the number of total rows that are used to
define the combination plot. The number of plots and the number of rows
might be different since extra rows can be interspersed between the plot
definition rows to alter global parameters that effect all plot types. In the
first release, interspersed rows are not supported and the number of plots
and rows should be the same. The final value, product, represents the
iterator type used to generate the combined plots. Iterator types are
described in detail in Appendix B.
0 The stride specifies how column data must be indexed. If the stride value
is less than or equal to 0 then data indexing is assumed to be num_values
+ 2 strings. If stride is greater than 0 then the stride value represents the
index jump size. This allows the data to be given in a two dimensional
array. In this case stride is the size of the first dimension. It should be at
least the largest of the num_values +2. The second dimension should be at
least the number of columns in the row.
The arguments of res_create_plot_set_row for the fringe plot specification are as follows.
row_id Output variable that returns the id of the new Plot Set row.
plot_set_name The Plot Set name the row belongs to.
2 The row index within the Plot Set.
Fringe Plot The row type. Options are, “Fringe Plot”, “Deformed Plot”, “Vector Plot”,
“Tensor Plot”, “Image Data”, “Default Values”, Column Order”,
“Combined Plot”, and “Saved Plot”.
14 The number of data columns that are needed to support the row type.
Fringe Plot Data The data column syntax is defined to be, column_type_name, num_values,
Columns: value1, value2,..., valueN. Since these are labeled data entries they can be
entered in any order. Appendix B shows the data necessary to support the
various row types.
Loadcase Column specification used to identify the analysis results data set.
1 Number of load cases.
Combine Load case name.
Subcase Column specification used to identify the analysis results data set.
Chapter 6: Results Postprocessing Functions 1587
Results Plot Sets

1 Number of subcases.
Subcase 3 Subcase name. Used to identify the analysis results data.
Primary Result Column specification used to identify the primary results type name.
1 Number of primary results types.
Nodal Vector Primary specification of results to be rendered. Typical options are,
“Displacement”, “Stress”, “Strain”, “Constraint Forces”, “Strain Energy”,
etc.
Secondary Result Column specification used to identify the secondary results type name.
1 Number of secondary results types.
Demo Result1 Secondary specification of results to be rendered. Typical options are,
“Translational”, “”, “Energy”, “Moment Resultant”, “Energy Density”,
etc.
Layer Location Column specification used to identify the data layer location.
1 Number of layer ids specified for the plot.
““ Nonlayered data. Typical options are, “Z2”, “Layer 1”, “At Middle”, etc.
Derived Quantity Column specification used to identify the derivation to be applied to the
analysis data.
1 Number of derivations specified.
ZZ Extract the ZZ component. Typical options are, “von Mises”, “tresca”,
“Min Principal”, “Magnitude”, etc.
Target Column specification used to identify the of entities to render the plot
upon.
1 Number of target specifications.
FreeFaces,0 Render on the nodes posted in the view port that lie on the element’s free
faces. Typical options are, “Elements,0”, “Nodes,0”, etc.
Template Column specification used to identify the associated plot template that is
to be retrieved to provide the plots graphics attributes and numerical
operation options.
1 Number of templates that are specified.
fringe_template Template name to retrieve.
Save As Column specification used to allow the plot to be persisted with a name
1 Number of plot names specified
““ Blank specifier implies the default name will be used (e.g. default_Fringe).
filename Column specification used to allow the user to provide a print file name for
the plot.
1 Number of print file names that are provided
1588 PCL Reference Manual
Results Plot Sets

““ If left blank as it is here the Plot Set name will be used as the default print
file name.
Title Column specification that allows user to enter a plot title.
1 Number of title specifiers
““ Since a blank title has been specified the title that is specified in the
template file will be used. Titles are limited to 159 characters.
Range Column specification of the range name that will be used for the plot.
1 Number of range specifiers
““ Since a blank range name has been specified the plot will use the range
tool’s default range (e.g. Fri_default_Fringe, Vec_default_Vector, etc.).
Spectrum Specification of the spectrum name that will be used for the plot.
1 Number of spectrum specifiers
““ Since a blank spectrum name has been specified the plot will use the
default spectrum (i.e. standard_spectrum).
Viewport Column specification of the viewport the plot will be rendered within.
1 Number of viewport specifiers
““ Since a blank viewport name has been specified the plot will be rendered
in the current viewport.
Chapter 6: Results Postprocessing Functions 1589
Results Plot Sets

Simple Plot Set Containing a Deformed Fringe Plot


INTEGER plot_set_id, status
INTEGER row_id
STRING plot_set_name [ 79 ]
plot_set_name = "combo_plot_1"
status = res_plot_set_create_over( plot_set_id , FALSE , plot_set_name
,@
"Deformed fringe plot" )
IF( status == 0 ) THEN
res_create_plot_set_row( row_id , plot_set_name , 1 , @
"Combined Plot" , 3 , @
[ "Column Index" , "1" , @
"2" , @
"Column Index" , "1" , @
"2" , @
"Column Index" , "1" , @
"product" ] , 0 )
res_create_plot_set_row( row_id , plot_set_name , 2 , @
"Fringe Plot" , 14 , @
[ "Loadcase" , "1" , @
"Combine" , @
"Subcase" , "1" , @
"Subcase 3" , @
"Primary Result" , "1" , @
"Nodal Vector" , @
"Secondary Result" , "1" , @
"Demo Result1" , @
"Layer Location" , "1" , @
"" , @
"Derived Quantity" , "1" , @
"ZZ" , @
"Target" , "1" , @
"FreeFaces,0," , @
"Template" , "1" , @
1590 PCL Reference Manual
Results Plot Sets

"fringe_template" , @
"Save As" , "1" , @
"" , @
"Filename" , "1" , @
"" , @
"Title" , "1" , @
"" , @
"Range" , "1" , @
"" , @
"Spectrum" , "1" , @
"" , @
"Viewport" , "1" , @
"" ] , 0 )
res_create_plot_set_row( row_id , plot_set_name , 3 , @
"Deformed Plot" , 14 , @
[ "Loadcase" , "1" , @
"Derived Results" , @
"Subcase" , "2" , @
"Demo" , @
"DemoElem" , @
"Primary Result" , "1" , @
"Nodal Vector" , @
"Secondary Result" , "1" , @
"Demo Result1" , @
"Layer Location" , "1" , @
"" , @
"Show As" , "4" , @
"Resultant,x" , @
"Component,on,off,off" , @
"Component,off,on,off" , @
"Component,off,off,on" , @
"Target" , "2" , @
"Elements,0," , @
"Nodes,0," , @
Chapter 6: Results Postprocessing Functions 1591
Results Plot Sets

"Template" , "1" , @
"def_tmpl" , @
"Save As" , "1" , @
"" , @
"Filename" , "1" , @
"" , @
"Title" , "2" , @
"$Use_Default_Title" , @

update_plotset_combined_data ( set_name, row_name, iterator_type,


num_rows, total_rows )

Description:
Update a plot set Combined Plot row.
Input:
STRING set_name[] Plot Set name.
STRING row_name[] Row name.
STRING iterator_type[] Type of iterator, "Tuple" or "Product"
INTEGER num_rows Number of "active" rows defining Combo Plot
INTEGER total_rows Number of all rows defining Combo Plot
Output:
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
See Error conditions: for more information.

Remarks:

None
Example:

None
1592 PCL Reference Manual
Results Plot Sets

update_plotset_results_data ( set_name, row_name, row_type, result_type,


result_cases, results, derived_quantities,
show_as, layers, rescase_combinations,
layer_combinations )

Description:
Update a plot set row with results data.
Input:
STRING set_name[] Plot Set name.
STRING row_name[] Row name.
STRING row_type[] Type of row, eg, "Fringe Plot"
STRING result_type[] Type of result, eg "Nodal Vector"
STRING result_cases[]() Result cases
STRING results[]() Results
STRING derived_quantities[]() Derived Quantities
STRING show_as[]() Show as selections
STRING layers[]() Layers
STRING rescase_combinations[]() Result case combination methods
STRING layer_combinations[]() Layer combination methods
Output:
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
See Error conditions: for more information.

Remarks:

None

Example:

update_plotset_results_data( "Combined_Fringe_Plots",
"Fringe_Plots", @
"Fringe Plot", "Element Tensor", ["SKRUVAD INF|STNING, Static
Subcase", @
"SKRUVAD INF|STNING-REVERSED, Static Subcase"], ["Stress
Tensor"], [ @
"Von Mises", "X Component", "Y Component", "Max Principal"],
[""], ["At Z1"], @
["NONE"], ["NONE"] )
Chapter 6: Results Postprocessing Functions 1593
Results Plot Sets

update_plotset_attributes_data ( set_name, row_name, templates,


viewports, views, spectrums, ranges,
tool_name, print_fname )

Description:
Update a plot set row with Attributes data.
Input:
STRING set_name[] Plot set name
STRING row_name[] Row name
STRING templates[]() Result templates
STRING viewports[]() Viewports
STRING views[]() Views
STRING spectrums[]() Spectrums name
STRING ranges[]() Ranges
STRING tool_name[] Tool name
STRING print_fname[] Print filename
Output:
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
See Error conditions: for more information.

Remarks:

None

Example:
update_plotset_attributes_data( "Combined_Fringe_Plots", "Fringe_Plots", [ @
"Fringe_attribue_1", "Fringe_attribue_2"], ["default_viewport"], [ @
"isometric_view"], ["standard_spectrum"], ["standard_range"], "", "" )
1594 PCL Reference Manual
Results Plot Sets

update_plotset_targets_data ( set_name, row_name, targets )

Description:
Update a plot set row with Targets data.
Input:
STRING set_name[] Plot set name
STRING row_name[] Row name
STRING targets[]() Target sets
Output:
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
See Error conditions: for more information.

Remarks:

None

Example:

update_plotset_targets_data( "Combined_Fringe_Plots",
"Fringe_Plots", [ @
"Current Viewport;Free Faces", "Elements;Free Faces;Elm 1:33
37:39 42:44 8" // @
"6 89 90 93 94 135:169 171:178 222 223 226 227 268:291 293:296
298:300 302" // @
":318 320:468 471:477 479 490:495 498 499 514:789 832 834
873:877:2 881 88" // @
"2 885:890 893:898 900:931 959:965:2 966:970 1007:1015:2
1016:1022 1059 10" // @
"63:1067:2 1068:1074 1102 1108:1117 1120:1125 1128:1133
1136:1141 1143:116" // @
"9 1203:1208 1245 1247 1253:1259 1261:1332 1341:1344 1351:1477"]
)
Chapter 6: Results Postprocessing Functions 1595
Results Plot Sets

update_plotset_image_data ( set_name, row_name )

Description:
Update a plot set row with image_data data.
Input:
STRING set_name[] Plot set name
STRING row_name[] Row name
Output:
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:

Remarks:

None
Example:

None

rename_plotset ( set_name, new_set_name, plotset_desc )

Description:
Rename a plotset and/or change the description.
Input:
STRING set_name[] Plot set name
STRING new_set_name[] New Plot Set Name
STRING row_name[] Plot Set description
Output:
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
See Error conditions: for more information.

Remarks:

None
1596 PCL Reference Manual
Results Plot Sets

Example:

None

add_plotset_row ( set_name, new_row_name, row_type )

Description:
Add a plotset row to the end of a plotset.
Input:
STRING set_name[] Plot set name
STRING new_row_name[] New Row Name
STRING row_type[] Row Type
Output:
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
See Error conditions: for more information.

Remarks:

None
Example:

None
Chapter 6: Results Postprocessing Functions 1597
Results Plot Sets

insert_plotset_row ( t_name, new_row_name, row_type, position,


target_row )

Description:
Insert a plotset row in a plotset.
Input:
STRING set_name[] Plot Set Name
STRING new_row_nam New Row Name
e[]
STRING row_type[] Row Type
STRING position[] Position, "Before","After","Beginning","End" or ""
STRING target_row[] Row Name to target Ignored if position is not
"Before" or "After" Need more comments on
optional args, etc.
Output:
INTEGER <Return Zero for success, else error message code.
Value>
Error Conditions:
See Error conditions:, 1603 for more information.

Remarks:

None
Example:

None
1598 PCL Reference Manual
Results Plot Sets

rename_plotset_row ( set_name, source_row, new_row_name, row_type )

Description:
Insert a plotset row in a plotset.
Input:
STRING set_name[] Plot Set Name
STRING source_row[] Row name to Rename
STRING new_row_name[] New Row Name Stays the same if blank
STRING row_type[] Row Type Stays the same if blank
STRING target_row[] Row Name to target Ignored if position is not "Before" or
"After" Need more comments on optional args, etc.
Output:
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
See Error conditions: for more information.

Remarks:

None
Example:

None
Chapter 6: Results Postprocessing Functions 1599
Results Plot Sets

move_plotset_row ( set_name, source_row, position,


target_row )

Description:
Move a plot set row within a plot set.
Input:
STRING set_name[] Plot Set Name
STRING source_row[] Row name to Move
STRING position[] Position, "Before", "After","Beginning", "End", "" "Up",
"Down"
STRING target_row[] Row Name to target Ignored if position is not "Before" or
"After"
Output:
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
See Error conditions: for more information.

Remarks:

None
Example:

None
1600 PCL Reference Manual
Results Plot Sets

move_plotset_rows ( set_name, source_rows, position, target_row )

Description:
Move a plot set row within a plot set.
Input:
STRING set_name[] Plot Set Name
STRING source_rows[] Row name to Move
STRING position[] Position, "Before", "After","Beginning", "End", "" "Up",
"Down"
STRING target_row[] Row Name to target Ignored if position is not "Before" or
"After"
Output:
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
See Error conditions: for more information.

Remarks:

None
Example:

None
Chapter 6: Results Postprocessing Functions 1601
Results Plot Sets

copy_plotset_row ( set_name, source_row, new_row_name,


position, target_row )

Description:
Copy a plotset row within a plotset.
Input:
STRING set_name[] Plot Set Name
STRING source_row[] Row name to copy
STRING new_row_name[] New row name
STRING position[] Position, "Before", "After","Beginning", "End", "" "Up",
"Down"
STRING target_row[] Row Name to target Ignored if position is not "Before" or
"After"
Output:
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
See Error conditions: for more information.

Remarks:

None
Example:

None
1602 PCL Reference Manual
Results Plot Sets

delete_plotset_row ( set_name, source_row )

Description:
Delete a plotset row from a plotset.
Input:
STRING set_name[] Plot Set Name
STRING source_row[] Row name to delete
Output:
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
See Error conditions: for more information.

Remarks:

None
Example:

None

delete_plotset_rows ( set_name, source_rows )

Description:
Delete plotset rows from a plotset.
Input:
STRING set_name[] Plot Set Name
STRING source_rows[] Row name to delete
Output:
INTEGER <Return Value> Zero for success, else error message code.
Error Conditions:
See Error conditions: for more information.

Remarks:

None
Example:

None
Chapter 6: Results Postprocessing Functions 1603
Results Plot Sets

Error conditions:
#define PLOTSET_UNEXPECTED_ERROR 1001
#define PLOTSET_DOES_NOT_EXIST 1002
#define PLOTSET_ROW_DOES_NOT_EXIST 1003
#define PLOTSET_ROW_INDEX_NOT_EXIST 1004
#define PLOTSET_ID_DOES_NOT_EXIST 1005
#define PLOTSET_ROW_STORE_FAILED 1006
#define PLOTSET_BAD_ROW_TYPE 1007
#define PLOTSET_BAD_RESULT_TYPE 1008
#define PLOTSET_SINGLE_STRING 1009
#define PLOTSET_BAD_ROW_TYPE_NAME 1010
#define PLOTSET_BAD_ROW_TYPE_ID 1011
#define PLOTSET_BAD_COL_TYPE_ID 1012
#define PLOTSET_ROW_UNEXPECTED_ERR 1013
#define PLOTSET_ROW_NEEDS_AT_LEAST_ONE 1014
#define PLOTSET_ROW_NO_DOUBLE_COMBOS 1015
#define PLOTSET_BAD_RESULTS_ROW_TYPE 1016
#define PLOTSET_UNKNOWN_RESULT_TYPE 1017
#define PLOTSET_UNSPECIFIED_RESULT_TYPE 1018
#define PLOTSET_BAD_ROW_ACTION 1019
#define PLOTSET_DUPLICATE_ROW_NAME 1020
#define PLOTSET_BLANK_ROW_NAME 1021
#define PLOTSET_ROW_DOESNT_EXIST 1022
#define PLOTSET_BAD_ROW_POSITION 1023
#define PLOTSET_TARGET_ROW_DOESNT_EXIST 1024
#define PLOTSET_TARGET_ROW_IS_BLANK 1025
#define PLOTSET_ROW_CHANGING_TYPES 1026
#define PLOTSET_ROW_IGNORED 1027
#define PLOTSET_ROW_NOTHING_TO_DELETE 1028
#define PLOTSET_REPEATED_ROW_NAME 1029
#define PLOTSET_NAME_IS_BLANK 1030
#define PLOTSET_ALREADY_EXISTS 1031
#define PLOTSET_ROW_NAME_DOES_NOT_EXIST 1032
#define PLOTSET_APPEND_ERROR 1033
#define PLOTSET_BAD_COMBO_ROW_TYPE 1034
#define PLOTSET_BAD_COMBO_ITERATOR 1035
#define PLOTSET_BAD_COL_TYPE_NAME 1036
#define PLOTSET_WRONG_COLUMN_COUNT 1037
#define PLOTSET_WRONG_COLUMN_TYPE 1038
#define PLOTSET_BAD_ITERATOR_TYPE 1039
#define PLOTSET_BAD_TEMPLATE_FOR_ROW 1040
#define PLOTSET_BAD_TARGET 1041
#define PLOTSET_BAD_TARGET2 1042
#define PLOTSET_NO_ATTRIBUTES 1043
#define PLOTSET_NO_TARGETS 1044
#define PLOTSET_BAD_PRINT_FNAME 1045
1604 PCL Reference Manual
Results Plot Sets
Chapter 7: XY Plot Functions
PCL Reference Manual

7 XY Plot Functions


Introduction 1616

Create Action 1617

Post Action 1634

Modify Action 1642

Rename Action 1745

Delete Action 1746
1616 PCL Reference Manual
Introduction

Introduction
This chapter documents the functions that are used in the implementation of the “XY Plot” switch bar
form.
This chapter presents function descriptions in five separate sections:

Create Action This section is used to describe some of the functions used to implement the
“Create” actions.
Post Action This section is used to describe some of the functions used to implement the
“Post” actions.
Modify Action This section is used to describe some of the functions used to implement the
“Modify” actions.
Rename Action This section is used to describe some of the functions used to implement the
“Rename” actions.
Delete Action This section is used to describe some of the functions used to implement the
“Delete” action.
Chapter 7: XY Plot Functions 1617
Create Action

Create Action
This section is used to describe some of the functions used to implement the “Create” actions.

xy_curve_create (curve_name, text, text_color)

Description:
This function creates a curve.
Input:
STRING curve_name[31] This value specifies the name of the curve to create.
STRING text[31] This value specifies the text for this curve.
INTEGER text_color This value specifies what color index to use for the text.
See the remarks below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000008 The specified new title name already exists. Please check the listbox of current title
names and re-input your title name.
10000009 The specified text is invalid. Please input a valid text string.
10000010 The color index has returned an invalid value.
10000102 The specified curve name is invalid.
10000104 A current curve has not been defined.
10000105 The specified curve name already exists. Please check the listbox of current curves
and re-input your curve name.
10000703 The specified window name already exists.
10000705 There is no current window specified.
13000004 Duplicate entry exists in table
13000063 XY window not found
13000067 XY curve not found
1618 PCL Reference Manual
Create Action

Remarks:

The input value text_color can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
6 Lightest Blue 14 Cyan
7 white 15 Light Cyan

Example:

Please see xy_curve_create.

xy_curve_current_get (curve_name)

Description:
This function gets the current curve.
Input:
None.
Output:
STRING curve_name[31] This value returns the curve name.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
13000063 XY window not found

Example:

Please see xy_curve_current_get.


Chapter 7: XY Plot Functions 1619
Create Action

xy_curve_current_set (curve_name)

Description:
This function sets the current curve.
Input:
STRING curve_name[31] This value specifies the curve name to make current.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000102 The specified curve name is invalid.
13000067 XY curve not found

Example:

Please see xy_curve_current_set.


1620 PCL Reference Manual
Create Action

xy_curve_data_file_get (file_name, curve_name, set_number)

Description:
This function reads x and y data value sets representing curve data from a file, starting at a specific
data set.
Input:
STRING file_name[] This value specifies the name of the file to read from.
STRING curve_name[31] This value specifies the curve name.
INTEGER set_number This value specifies the data set defining the starting
point at which data will be read from the file. The file
contains ascii data defining sets of X and Y data values.
The first character of each line of text in the file is either
the case insensitive character X or Y followed by a real
number representing the data. Each X and Y data point
together forms a set of data points.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
20002 String specified is too small
8103001 File Already Exists
8103002 File Not Found
8103003 Maximum File Version Exceeded
8103011 File not executable
8105001 No memory to allocate text I/O channel
8105009 Text I/O channel table full
10000011 No memory available for current XY operation.
10000014 The requested dataset is not found in the curve data file
10000102 The specified curve name is invalid.
10000104 A current curve has not been defined.
10000706 The .xyd data file has an invalid header line. The line must look like either
XYDATA,curvename or YDATA,curvename.
13000004 Duplicate entry exists in table
13000067 XY curve not found
Chapter 7: XY Plot Functions 1621
Create Action

Example:

Please see xy_curve_data_file_get.

xy_curve_data_get (curve_name, yonly, npoints, x_array, y_array)

Description:
This function gets curve data. It should be used in conjunction with
xy_curve_num_points_get to determine the allocation size of the x and y point arrays.
Input:
STRING curve_name[31] This value specifies the curve name to get the
curve data for.
Output:
LOGICAL yonly This value returns a logical which indicates
whether XY, when set to FALSE, or Y data,
when set to TRUE, was returned.
INTEGER npoints This value returns the number of points
returned.
REAL x_array(VIRTUAL) This value returns an array of x data points.
Must be allocated before use.
REAL y_array(VIRTUAL) This value returns an array of y data points.
Must be allocated before use.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_data_get.

xy_curve_num_points_get (curve_name, yonly, npoints)

Example:

Please see xy_curve_data_get.


1622 PCL Reference Manual
Create Action

xy_curve_data_set (curve_name, yonly, npoints, x_array, y_array)

Description:
This function creates curves with data point values.
Input:
STRING curve_name[31] This value specifies the curve name which is to have
data point values assigned to it.
LOGICAL yonly This value specifies, when set to TRUE, that only the
information in the input value y_array is to be used. If
this value is set to FALSE, both the input values
x_array and y_array will be used.
INTEGER npoints This value specifies the number of points to set.
REAL x_array(npoints) This value specifies an array of x data points.
REAL y_array(npoints) This value specifies an array of y data points.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000011 No memory available for current XY operation.
10000104 A current curve has not been defined.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Example:

Please see xy_curve_data_set.


Chapter 7: XY Plot Functions 1623
Create Action

xy_curve_list_get (curve_list)

Description:
This function gets the list of curves.
Input:
None.
Output:
STRING curve_list[31]() This value returns a list of curves from the database. This array
must be allocated with enough offsets to contain the entire list.
Use the function xy_curve_num_get() to get the number of
offsets required.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
10000011 No memory available for current XY operation.
13000067 XY curve not found

Example:

Please see xy_curve_list_get.

xy_curve_num_get (ncurves)

Description:
This function gets the number of curves in the database.
Input:
None.
Output:
INTEGER ncurves This value returns the number of curves found in the
database.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
None.
1624 PCL Reference Manual
Create Action

Example:

Please see xy_curve_num_get.

xy_title_create (title_name, text, font_size, location, text_color)

Description:
This function creates a title.
Input:
STRING title_name[256] This value specifies the name of title to be created.
STRING text[256] This value specifies the text for this title.
INTEGER font_size This value specifies the font size of the text.
REAL location(2) This value specifies the location where the text is to be
placed. Offset 1 will specify the X location and offset
2 will specify the Y location. These values can range
from 1.0 to 100.0.
INTEGER text_color This value specifies what color index to use for the
text. See the remarks below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000005 The specified XY title name is invalid. Please Input a valid title name that is
31 characters or less and contains no embedded blanks.
10000006 The XY font name typed in is invalid. Please input a valid font name.
10000007 The X and Y location must both be in %. This is a percentage of the XY
window from the top left corner. Please input valid X and Y locations.
10000009 The specified text is invalid. Please input a valid text string.
10000010 The color index has returned an invalid value.
10000101 The specified title does not exist in the database.
10000705 There is no current window specified.
13000004 Duplicate entry exists in table
13000063 XY window not found
13000068 XY title not found

Remarks:
Chapter 7: XY Plot Functions 1625
Create Action

The input value text_color can have the following values:

Color Color Description Color Color Description


Value Value

0 Black 8 Dark Orange


1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
6 Lightest Blue 14 Cyan
7 white 15 Light Cyan

Example:

Please see xy_title_create (p. 1147) in the PCL Reference Manual Examples.

xy_title_list_get (title_list)

Description:
This function gets the list of titles.
Input:
None.
Output:
STRING title_list[256]() This value returns a list of titles from the database. This
array must be allocated with enough offsets to contain
the entire list. Use the function xy_title_num_get() to get
the number of offsets required.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
None.

Example:

Please see xy_title_list_get.


1626 PCL Reference Manual
Create Action

xy_title_num_get (ntitles)

Description:
This function gets the number of titles in the database.
Input:
None.
Output:
INTEGER ntitles This value returns the number of titles found in the
database.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
None.

Example:

Please see xy_title_num_get


Chapter 7: XY Plot Functions 1627
Create Action

xy_window_create (window_name, x_location, y_location, width, height)

Description:
This function creates a xy window.
Input:
STRING window_name[31] This value specifies the name of the window to create.
REAL x_location This value specifies the X location for the window. This
value must be greater than 0.
REAL y_location This value specifies the Y location for the window. This
value must be greater than 0.
REAL width This value specifies the width of the window. This
value must be greater than 0.
REAL height This value specifies the height of the window. This
value must be greater than 0.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000007 The X and Y location must both be in %. This is a percentage of the XY window
from the top left corner. Please input valid X and Y locations.
10000700 The specified window name is invalid. Enter a window name that is less than
31 characters and that has no embedded blanks.
10000702 The specified window height is invalid.
13000004 Duplicate entry exists in table
13000063 XY window not found
13000214 No corresponding message available

Example:

Please see xy_window_create.


1628 PCL Reference Manual
Create Action

xy_window_current_get (window_name)

Description:
This function gets the current xy window.
Input:
None.
Output:
STRING window_name[31] This value returns the xy window name.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
13000063 XY window not found

Example:

Please see xy_window_current_get.

xy_window_current_set (window_name)

Description:
This function sets the current window.
Input:
STRING window_name[31] This value specifies the window name to make current.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000700 The specified window name is invalid. Enter a window name that is less than
31 characters and that has no embedded blanks.
13000063 XY window not found

Example:

Please see xy_window_current_set.


Chapter 7: XY Plot Functions 1629
Create Action

xy_window_list_get (window_list)

Description:
This function gets the list of xy windows.
Input:
None.
Output:
STRING window_list[31]() This value returns a list of xy windows from the
database. This array must be allocated with enough
offsets to contain the entire list. Use the function
xy_window_num_get() to get the number of offsets
required.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
10000011 No memory available for current XY operation.
13000063 XY window not found

Example:

Please see xy_window_list_get.


1630 PCL Reference Manual
Create Action

xy_window_nposted_get (nposted)

Description:
This function gets the number of posted xy windows in the database.
Input:
None.
Output:
INTEGER nposted This value returns the number of posted xy windows
found in the database.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
None.

Example:

Please see xy_window_nposted_get.

xy_window_num_get (nwindows)

Description:
This function gets the number of xy windows in the database.
Input:
None.
Output:
INTEGER nwindows This value returns the number of xy windows found in the
database.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
None.

Example:

Please see xy_window_num_get.


Chapter 7: XY Plot Functions 1631
Create Action

xy_window_post (window_name)

Description:
This function posts a xy window.
Input:
STRING window_name[31] This value specifies the name of the xy window to
post.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
10000011 No memory available for current XY operation.
10000705 There is no current window specified.
13000063 XY window not found

Example:

Please see xy_window_post.


1632 PCL Reference Manual
Create Action

xy_window_posted_get (posted_list)

Description:
This function gets the list of posted xy windows.
Input:
None.
Output:
STRING posted_list[31]() This value returns a list of posted xy windows from
the database. This array must be allocated with
enough offsets to contain the entire list. Use the
function xy_window_nposted_get() to get the number
of offsets required.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000011 No memory available for current XY operation.
13000063 XY window not found

Example:

Please see xy_window_posted_get.


Chapter 7: XY Plot Functions 1633
Create Action

xy_window_unpost (window_name)

Description:
This function unposts a xy window.
Input:
STRING window_name[31] This value specifies the name of the xy window to unpost.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000705 There is no current window specified.
13000063 XY window not found

Example:

Please see xy_window_unpost.


1634 PCL Reference Manual
Post Action

Post Action
This section is used to describe some of the functions used to implement the “Post” actions.

xy_curve_nposted_get (nposted)

Description:
This function gets the number of posted curves in the database.
Input:
None.
Output:
INTEGER nposted This value returns the number of posted curves found in the
database.
INTEGER <Return This function returns a value of 0 when executed successfully
Value> and a non zero value to indicate a change in status or an error.
Error Conditions:
13000063 XY window not found

Example:

Please see xy_curve_nposted_get.


Chapter 7: XY Plot Functions 1635
Post Action

xy_curve_posted_get (posted_list)

Description:
This function gets the list of posted curves.
Input:
None.
Output:
STRING posted_list[31]( This value returns a list of posted curves from the database.
) This array must be allocated with enough offsets to contain
the entire list. Use the function xy_curve_nposted_get() to
get the number of offsets required.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000011 No memory available for current XY operation.
13000063 XY window not found
13000067 XY curve not found

Example:

Please see xy_curve_posted_get.


1636 PCL Reference Manual
Post Action

xy_title_nposted_get (nposted)

Description:
This function gets the number of posted titles in the database.
Input:
None.
Output:
INTEGER nposted This value returns the number of posted titles found in
the database.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
13000063 XY window not found

Example:

Please see xy_title_nposted_get.


Chapter 7: XY Plot Functions 1637
Post Action

xy_title_posted_get (posted_list)

Description:
This function gets the list of posted titles.
Input:
None.
Output:
STRING posted_list[256]() This value returns a list of posted titles from the
database. This array must be allocated with enough
offsets to contain the entire list. Use the function
xy_title_nposted_get() to get the number of offsets
required.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000011 No memory available for current XY operation.
13000063 XY window not found
13000068 XY title not found

Example:

Please see xy_title_posted_get.


1638 PCL Reference Manual
Post Action

xy_window_curve_post (window_name, curve_name)

Description:
This function posts a curve to the window.
Input:
STRING window_name[31] This value specifies the name of the window to which
the curve will be posted.
STRING curve_name[31] This value specifies the name of the curve that is to be
posted to the window,
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000008 The specified new title name already exists. Please check the listbox of
current title names and re-input your title name.
10000104 A current curve has not been defined.
10000105 The specified curve name already exists. Please check the listbox of current
curves and re-input your curve name.
10000703 The specified window name already exists.
10000705 There is no current window specified.
13000004 Duplicate entry exists in table
13000063 XY window not found
13000067 XY curve not found

Example:

Please see xy_window_curve_post.


Chapter 7: XY Plot Functions 1639
Post Action

xy_window_curve_unpost (window_name, curve_name)

Description:
This function unposts a curve to the window.
Input:
STRING window_name[31] This value specifies the name of the window to be
created.
STRING curve_name[31] This value specifies the name of the curve that is to
be unposted from the window,
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
10000705 There is no current window specified.
13000063 XY window not found
13000067 XY curve not found

Example:

Please see xy_window_curve_unpost.


1640 PCL Reference Manual
Post Action

xy_window_title_post (window_name, title_name)

Description:
This function posts a title to the window.
Input:
STRING window_name[31] This value specifies the name of the window to which
the title will be posted.
STRING title_name[256] This value specifies the name of the title that is to be
posted to the window.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000101 The specified title does not exist in the database.
10000705 There is no current window specified.
13000004 Duplicate entry exists in table
13000063 XY window not found
13000068 XY title not found

Example:

Please see xy_window_title_post.


Chapter 7: XY Plot Functions 1641
Post Action

xy_window_title_unpost (window_name, title_name)

Description:
This function unposts a title to the window.
Input:
STRING window_name[31] This value specifies the name of the window from
which the title will be unposted.
STRING title_name[256] This value specifies the name of the title that is to be
unposted from the window.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000101 The specified title does not exist in the database.
10000705 There is no current window specified.
13000063 XY window not found
13000068 XY title not found

Example:

Please see xy_window_title_unpost.


1642 PCL Reference Manual
Modify Action

Modify Action
This section is used to describe some of the functions used to implement the “Modify” actions.

xy_axis_assign_method_get (axis_name, method)

Description:
This function gets the labels assignment method.
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
STRING method[20] This value returns the labels assignment method for
the specified axis. This value can return
“automatic”, “manual”, “semiauto”, and “range”.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
10000012 Internal XY string lookup failure.
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_assign_method_get.


Chapter 7: XY Plot Functions 1643
Modify Action

xy_axis_assign_method_set (axis_name, method)

Description:
This function sets the labels assignment method.
Input:
STRING axis_name[31] This value specifies the axis name.
STRING method[20] This value specifies the label assignment method to be
used for the specified axis. This value can be set to
“automatic”, “manual”, “semiauto”, and “range”.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
10000307 The specified assignment method for the axis is invalid.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Example:

Please see xy_axis_assign_method_set.


1644 PCL Reference Manual
Modify Action

xy_axis_color_get (axis_name, color_index)

Description:
This function gets the axis color index.
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
INTEGER color_index This value returns the color index for the specified axis.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_color_get.


Chapter 7: XY Plot Functions 1645
Modify Action

xy_axis_color_set (axis_name, color_index)

Description:
This function sets the axis color index.
Input:
STRING axis_name[31] This value specifies the axis name.
INTEGER color_index This value specifies the color index for the specified
axis. See the remarks below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000010 The color index has returned an invalid value.
10000302 A current axis has not been defined.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Remarks:

The input value color_index can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
6 Lightest Blue 14 Cyan
7 white 15 Light Cyan

Example:

Please see xy_axis_color_set.


1646 PCL Reference Manual
Modify Action

xy_axis_display_labels_get (axis_name, label_flag)

Description:
This function gets the display labels flag.
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
LOGICAL label_flag This value returns the display labels flag.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_display_labels_get.


Chapter 7: XY Plot Functions 1647
Modify Action

xy_axis_display_labels_set (axis_name, label_flag)

Description:
This function sets the display labels flag.
Input:
STRING axis_name[31] This value specifies the axis name.
LOGICAL label_flag This value specifies the display labels flag.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
10000305 The specified axis display flag is invalid.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Example:

Please see xy_axis_display_labels_set.


1648 PCL Reference Manual
Modify Action

xy_axis_display_title_get (axis_name, title_flag)

Description:
This function gets the display title flag.
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
LOGICAL title_flag This value returns the display title flag.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_display_title_get.


Chapter 7: XY Plot Functions 1649
Modify Action

xy_axis_display_title_set (axis_name, title_flag)

Description:
This function sets the display title flag.
Input:
STRING axis_name[31] This value specifies the axis name.
LOGICAL title_flag This value specifies the display title flag.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Example:

Please see xy_axis_display_title_set.


1650 PCL Reference Manual
Modify Action

xy_axis_grid_display_get (axis_name, grid_type)

Description:
This function gets the grid display type.
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
STRING grid_type[31] This value returns the grid display type for the
specified axis. The following values can be
returned: “Primary”, “Secondary”,
“PrimarySecondary”, “Both”, or “None”.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
10000012 Internal XY string lookup failure.
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_grid_display_get


Chapter 7: XY Plot Functions 1651
Modify Action

xy_axis_grid_display_set (axis_name, grid_type)

Description:
This function sets the grid display type.
Input:
STRING axis_name[31] This value specifies the axis name.
STRING grid_type[31] This value specifies the grid display type for the
specified axis. This value can be set to “Primary”,
“Secondary”, “PrimarySecondary”, “Both”, or
“None”.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
10000500 The specified display type for grid lines is invalid.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Example:

Please see xy_axis_grid_display_set.


1652 PCL Reference Manual
Modify Action

xy_axis_grid_get (axis_name, prim_sec, curve_style,


thickness, color_index)

Description:
This function gets the grid line attributes.
Input:
STRING axis_name[31] This value specifies the axis name.
STRING prim_sec[31] This value specifies the primary or secondary grid line. This
value can be set to “Primary”, “Secondary”,
“PrimarySecondary”, or “Both”.
Output:
STRING curve_style[31] This value returns the grid line curve style. This value can
return “Solid”, “Dotted”, “DotDash”, “ShortDash”,
“LongDash”, or “OddDash”.
INTEGER thickness This value returns the grid line thickness.
INTEGER color_index This value returns the grid line color.
INTEGER <Return This function returns a value of 0 when executed successfully
Value> and a non zero value to indicate a change in status or an error.
Error Conditions:
10000012 Internal XY string lookup failure.
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_grid_get.


Chapter 7: XY Plot Functions 1653
Modify Action

xy_axis_grid_set (axis_name, prim_sec, curve_style,


thickness, color_index)

Description:
This function sets the grid line attributes.
Input:
STRING axis_name[31] This value specifies the axis name.
STRING prim_sec[31] This value specifies the primary or secondary grid line. This
value can be set to “Primary”, “Secondary”,
“PrimarySecondary”, or “Both”.
STRING curve_style[31] This value specifies the grid line curve style. This value can be
set to: “Solid”, “Dotted”, “DotDash”, “ShortDash”,
“LongDash”, or “OddDash”.
INTEGER thickness This value specifies the grid line thickness. This value must be
greater than 0 and less than 51.
INTEGER color_index This value specifies the grid line color. See the remarks below
for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
10000010 The color index has returned an invalid value.
10000013 Invalid option given to XY routine.
10000201 The specified line style is invalid. Please choose another from the option menu.
10000302 A current axis has not been defined.
10000501 The specified thickness for grid lines is invalid.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Remarks:

The input value color_index can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
1654 PCL Reference Manual
Modify Action

Color Value Color Description Color Value Color Description


2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
6 Lightest Blue 14 Cyan
7 white 15 Light Cyan

Example:

Please see xy_axis_grid_set.

xy_axis_label_color_get (axis_name, label_color)

Description:
This function gets the label color index.
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
INTEGER label_color This value returns the label color index for the specified
axis.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_label_color_get .


Chapter 7: XY Plot Functions 1655
Modify Action

xy_axis_label_color_set (axis_name, label_color)

Description:
This function sets the label color index.
Input:
STRING axis_name[31] This value specifies the axis name
INTEGER label_color This value specifies the label color index for the
specified axis. See the remarks below for more
information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000010 The color index has returned an invalid value.
10000302 A current axis has not been defined.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Remarks:

The input value label_color can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
6 Lightest Blue 14 Cyan
7 white 15 Light Cyan

Example:

Please see xy_axis_label_color_set.


1656 PCL Reference Manual
Modify Action

xy_axis_label_format_get (axis_name, label_format)

Description:
This function gets the label format value. (float, exponential, integer, power).
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
STRING label_format[31] This value returns the label format for the specified axis.
This value can return “Fixed”, “Exponential”, “Integer”, or
“Power”.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000012 Internal XY string lookup failure.
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_label_format_get.


Chapter 7: XY Plot Functions 1657
Modify Action

xy_axis_label_format_set (axis_name, label_format)

Description:
This function sets the label format (float, exponential, integer).
Input:
STRING axis_name[31] This value specifies the axis name.
STRING label_format[31] This value specifies the label format for the specified axis. This
value can be set to: “Fixed”, “Exponential”, “Integer”,
or “Power”.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
10000310 The specified label format for the axis is invalid.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Example:

Please see xy_axis_label_format_set.


1658 PCL Reference Manual
Modify Action

xy_axis_label_type_get (axis_name, label_type)

Description:
This function gets the label type (linear/logarithm).
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
STRING label_type[31] This value returns the label type for the specified axis.
This value can return “Linear” or “Logarithmic”.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000012 Internal XY string lookup failure.
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_label_type_get.


Chapter 7: XY Plot Functions 1659
Modify Action

xy_axis_label_type_set (axis_name, label_type)

Description:
This function sets the label type (linear/logarithm).
Input:
STRING axis_name[31] This value specifies the axis name.
STRING label_type[31] This value specifies the label type for the specified
axis. This value can be set to “Linear”, or
“Logarithmic”.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
10000308 The specified label type for the axis is invalid.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Example:

Please see xy_axis_label_type_set.


1660 PCL Reference Manual
Modify Action

xy_axis_labels_get (axis_name, labels)

Description:
This function gets the labels for the specified axis.
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
REAL labels() This value returns an array of labels for the specified axis.
This array must be allocated with enough offsets to contain
the entire list. Use the function xy_axis_labels_get_count()
to get the number of offsets required.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_labels_get (p. 1200) in the PCL Reference Manual Examples.
Chapter 7: XY Plot Functions 1661
Modify Action

xy_axis_labels_get_count (axis_name, nlabels)

Description:
This function gets the number of labels defined for the specified axis.
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
INTEGER nlabels This value returns the number of labels defined for the
specified axis.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_labels_get_count.


1662 PCL Reference Manual
Modify Action

xy_axis_labels_set (axis_name, labels)

Description:
This function sets the labels for the specified axis.
Input:
STRING axis_name[31] This value specifies the axis name.
REAL labels() This value specifies an array of labels for the
specified axis.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Example:

Please see xy_axis_labels_set.


Chapter 7: XY Plot Functions 1663
Modify Action

xy_axis_linestyle_get (axis_name, line_style)

Description:
This function gets the axis line style.
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
STRING line_style[30] This value returns the curve style for the specified axis.
This value can return “Solid”, “Dotted”, “DotDash”,
“ShortDash”, “LongDash”, or “OddDash”.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000012 Internal XY string lookup failure.
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_linestyle_get.


1664 PCL Reference Manual
Modify Action

xy_axis_linestyle_set (axis_name, line_style)

Description:
This function sets the axis line style.
Input:
STRING axis_name[31] This value specifies the axis name.
STRING line_style[30] This value specifies the curve style for the specified
axis. This value can be set to: “Solid”, “Dotted”,
“DotDash”, “ShortDash”, “LongDash”, or “OddDash”.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000201 The specified line style is invalid. Please choose another from the option menu.
10000302 A current axis has not been defined.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Example:

Please see xy_axis_linestyle_set.


Chapter 7: XY Plot Functions 1665
Modify Action

xy_axis_location_get (axis_name, display_location)

Description:
This function gets the display location.
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
STRING display_location[16] This value returns the location of the axis. This value
can return “TopBottom”, “Top”, “Bottom”,
“LeftRight”, “Left”, “Right”, or “None”.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000012 Internal XY string lookup failure.
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_location_get.


1666 PCL Reference Manual
Modify Action

xy_axis_location_set (axis_name, display_location)

Description:
This function sets the display location.
Input:
STRING axis_name[31] This value specifies the axis name.
STRING display_location[16] This value specifies the location of the axis. This value
can be set to “TopBottom”, “Top”, “Bottom”,
“LeftRight”, “Left”, “Right”, or “None”.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000302 A current axis has not been defined.
10000304 The specified axis display location is invalid.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Example:

Please see xy_axis_location_set.


Chapter 7: XY Plot Functions 1667
Modify Action

xy_axis_nvalues_get (axis_name, num_vals)

Description:
This function gets the number of values for the specified axis.
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
INTEGER num_vals This value returns the number of values for the
specified axis.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_nvalues_get.


1668 PCL Reference Manual
Modify Action

xy_axis_nvalues_set (axis_name, num_vals)

Description:
This function sets the number of values for the specified axis.
Input:
STRING axis_name[31] This value specifies the axis name.
INTEGER num_vals This value specifies the number of values for the
specified axis.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
10000306 The specified number of values for the axis is invalid.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Example:

Please see xy_axis_nvalues_set.


Chapter 7: XY Plot Functions 1669
Modify Action

xy_axis_sig_digits_get (axis_name, sig_digits)

Description:
This function gets the number of significant digits.
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
INTEGER sig_digits This value returns the number of significant digits for
the specified axis.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_sig_digits_get.


1670 PCL Reference Manual
Modify Action

xy_axis_sig_digits_set (axis_name, sig_digits)

Description:
This function sets the number of significant digits.
Input:
STRING axis_name[31] This value specifies the axis name.
INTEGER sig_digits This value specifies the number of significant digits for the
specified axis.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000302 A current axis has not been defined.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Example:

Please see xy_axis_sig_digits_set.


Chapter 7: XY Plot Functions 1671
Modify Action

xy_axis_thickness_get (axis_name, thickness)

Description:
This function gets the axis thickness.
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
INTEGER thickness This value returns the axis thickness.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_thickness_get.


1672 PCL Reference Manual
Modify Action

xy_axis_thickness_set (axis_name, thickness)

Description:
This function sets the axis thickness.
Input:
STRING axis_name[31] This value specifies the axis name.
INTEGER thickness This value specifies the axis thickness. This value must be
greater than 0 and less than 101.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000302 A current axis has not been defined.
10000303 The specified thickness for the axis is invalid.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Example:

Please see xy_axis_thickness_set.


Chapter 7: XY Plot Functions 1673
Modify Action

xy_axis_tic_display_get (axis_name, ticmark_type)

Description:
This function gets the ticmark display type (none/primary/secondary).
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
STRING ticmark_type[31] This value returns the ticmark display type for the
specified axis. The value returned can be “Primary”,
“Secondary”, “PrimarySecondary”, or “None”.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000012 Internal XY string lookup failure.
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_tic_display_get.


1674 PCL Reference Manual
Modify Action

xy_axis_tic_display_set (axis_name, ticmark_type)

Description:
This function sets the ticmark display type.
Input:
STRING axis_name[31] This value specifies the axis name.
STRING ticmark_type[31] This value specifies the ticmark display type for the
specified axis. This value can be set to “Primary”,
“Secondary”, “PrimarySecondary”, or “None”.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
10000309 The specified display type for the axis is invalid.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Example:

Please see xy_axis_tic_display_set.


Chapter 7: XY Plot Functions 1675
Modify Action

xy_axis_tic_get (axis_name, prim_sec, location, thickness, color_index)

Description:
This function gets the ticmark attributes.
Input:
STRING axis_name[31] This value specifies the axis name.
STRING prim_sec[31] This value specifies the primary or secondary
ticmark. This value can be set to “Primary”,
“Secondary”, or “Both”.
Output:
STRING location[31] This value returns the location of the ticmark. This
value can return “Inside”, or “Outside”.
INTEGER thickness This value returns the ticmark thickness. This
value should be greater than 0 and less than 51.
INTEGER color_index This value returns the ticmark color. See the
remarks below for more information.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
10000012 Internal XY string lookup failure.
10000302 A current axis has not been defined.
13000064 XY axis not found

Remarks:

The input value color_index can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
6 Lightest Blue 14 Cyan
7 white 15 Light Cyan
1676 PCL Reference Manual
Modify Action

Example:

Please see xy_axis_tic_get (p. 1223) in the PCL Reference Manual Examples.

xy_axis_tic_numsec_get (axis_name, num_sec_tick)

Description:
This function gets the number of secondary ticmarks.
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
INTEGER num_sec_tick This value returns the number of secondary ticmarks
found. This value should be greater than 0 and less than
51.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000302 A current axis has not been defined.
13000064 XY axis not found

Example:

Please see xy_axis_tic_numsec_get.


Chapter 7: XY Plot Functions 1677
Modify Action

xy_axis_tic_numsec_set (axis_name, num_sec_tick)

Description:
This function sets the number of secondary ticmarks.
Input:
STRING axis_name[31] This value specifies the axis name.
INTEGER num_sec_tick This value specifies the number of secondary
ticmarks. This value should be greater than 0 and
less than 51.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
10000302 A current axis has not been defined.
10000400 The specified number of ticmarks for the axis is invalid.
50 > number_of_ticmarks > 1.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Example:

Please see xy_axis_tic_numsec_set.


1678 PCL Reference Manual
Modify Action

xy_axis_tic_set (axis_name, prim_sec, location, thickness, color_index)

Description:
This function sets the ticmark attributes.
Input:
STRING axis_name[31] This value specifies the axis name.
STRING prim_sec[] This value specifies the primary or secondary ticmark.
STRING location[] This value specifies the location of the ticmark.
INTEGER thickness This value specifies the ticmark thickness.
INTEGER color_index This value specifies the ticmark color. See the remarks
below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000010 The color index has returned an invalid value.
10000013 Invalid option given to XY routine.
10000302 A current axis has not been defined.
10000303 The specified thickness for the axis is invalid.
10000304 The specified axis display location is invalid.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Remarks:

The input value color_index can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
Chapter 7: XY Plot Functions 1679
Modify Action

Color Value Color Description Color Value Color Description


6 Lightest Blue 14 Cyan
7 white 15 Light Cyan

Example:

Please see xy_axis_tic_set.

xy_axis_title_get (axis_name, title, font_size, title_color)

Description:
This function gets the title attributes.
Input:
STRING axis_name[31] This value specifies the axis name.
Output:
STRING title[256] This value returns the title text for the specified axis.
INTEGER font_size This value returns the font size of the title text. This
value will be set to 8, 10, 12, 14, 18, or 24.
INTEGER title_color This value returns the title color for the specified axis.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000013 Invalid option given to XY routine.
13000064 XY axis not found

Example:

Please see xy_axis_title_get.


1680 PCL Reference Manual
Modify Action

xy_axis_title_set (axis_name, title, font_size, title_color)

Description:
This function sets the title attributes.
Input:
STRING axis_name[31] This value specifies the axis name.
STRING title[256] This value specifies the title text for the specified axis.
INTEGER font_size This value specifies the font size of the title text.
INTEGER title_color This value specifies the title color for the specified axis.
See the remarks below for more information. This value
can be set to 8, 10, 12, 14, 18, or 24.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000006 The XY font name typed in is invalid. Please input a valid font name.
10000009 The specified text is invalid. Please input a valid text string.
10000010 The color index has returned an invalid value.
10000013 Invalid option given to XY routine.
13000004 Duplicate entry exists in table
13000064 XY axis not found
13000214 No corresponding message available

Remarks:

The input value title_color can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
Chapter 7: XY Plot Functions 1681
Modify Action

Color Value Color Description Color Value Color Description


6 Lightest Blue 14 Cyan
7 white 15 Light Cyan

Example:

Please see xy_axis_title_set.

xy_curve_color_get (curve_name, color_index)

Description:
This function gets the curve color index.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
INTEGER color_index This value returns the color index for the specified
curve.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_color_get.


1682 PCL Reference Manual
Modify Action

xy_curve_color_set (curve_name, color_index)

Description:
This function sets the curve color index.
Input:
STRING curve_name[31] This value specifies the curve name.
INTEGER color_index This value specifies the color index for the specified
curve. See the remarks below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000010 The color index has returned an invalid value.
10000104 A current curve has not been defined.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Remarks:

The input value color_index can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
6 Lightest Blue 14 Cyan
7 white 15 Light Cyan

Example:

Please see xy_curve_color_set.


Chapter 7: XY Plot Functions 1683
Modify Action

xy_curve_display_symbol_get (curve_name, symbol_flag)

Description:
This function gets the display symbol flag.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
LOGICAL symbol_flag This value returns the display symbol flag. This value
will be set to TRUE if the curve symbols are to be
displayed, FALSE if they are not.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_display_symbol_get.


1684 PCL Reference Manual
Modify Action

xy_curve_display_symbol_set (curve_name, symbol_flag)

Description:
This function sets display symbol flag.
Input:
STRING curve_name[31] This value specifies the curve name.
LOGICAL symbol_flag This value specifies, when set to TRUE, that the
curve symbols should be displayed, FALSE if they
are not.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Example:

Please see xy_curve_display_symbol_set.


Chapter 7: XY Plot Functions 1685
Modify Action

xy_curve_endpt_get (curve_name, end_point)

Description:
This function gets the last data point to be displayed.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
INTEGER end_point This value returns the end point for the specified
curve.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_endpt_get.


1686 PCL Reference Manual
Modify Action

xy_curve_endpt_set (curve_name, end_point)

Description:
This function sets the last data point to be displayed.
Input:
STRING curve_name[31] This value specifies the curve name.
INTEGER end_point This value specifies the end point for the specified
curve.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
10000107 The specified ending point is invalid. Please input another ending point in the
databox.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Example:

Please see xy_curve_endpt_set.


Chapter 7: XY Plot Functions 1687
Modify Action

xy_curve_freq_get (curve_name, frequency)

Description:
This function gets the display frequency of data points for the curve.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
INTEGER frequency This value returns the display frequency value for the
specified curve.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_freq_get.


1688 PCL Reference Manual
Modify Action

xy_curve_freq_set (curve_name, frequency)

Description:
This function sets the display frequency of data points for the curve.
Input:
STRING curve_name[31] This value specifies the curve name.
INTEGER frequency This value specifies the display frequency value for the
specified curve.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000104 A current curve has not been defined.
10000108 The specified frequency is invalid. Please input another frequency in the databox.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Example:

Please see xy_curve_freq_set.


Chapter 7: XY Plot Functions 1689
Modify Action

xy_curve_func_get (curve_name, fit_function)

Description:
This function gets the curve fit function.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
STRING fit_function[30] This value returns the curve fit function. This value
can return “Linear”, “Scatter”, “Spline”, or
“LeastSquares”.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000012 Internal XY string lookup failure.
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_func_get.


1690 PCL Reference Manual
Modify Action

xy_curve_func_set (curve_name, fit_function)

Description:
This function sets the curve fit function.
Input:
STRING curve_name[31] This value specifies the curve name.
STRING fit_function[30] This value specifies the curve fit function. This value
can be set to “Linear”, “Scatter”, “Spline”, or
“LeastSquares”.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
10000200 The specified fit function is invalid. Please choose another.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Example:

Please see xy_curve_func_set.


Chapter 7: XY Plot Functions 1691
Modify Action

xy_curve_linestyle_get (curve_name, curve_style)

Description:
This function gets the curve style.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
STRING curve_style[31] This value returns the curve style. This value can return “Solid”,
“Dotted”, “DotDash”, “ShortDash”, “LongDash”, or
“OddDash”.
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
10000012 Internal XY string lookup failure.
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_linestyle_get.


1692 PCL Reference Manual
Modify Action

xy_curve_linestyle_set (curve_name, curve_style)

Description:
This function sets the curve style.
Input:
STRING curve_name[31] This value specifies the curve name.
STRING curve_style[31] This value specifies the curve style. This value can be set to
“Solid”, “Dotted”, “DotDash”, “ShortDash”, “LongDash”, or
“OddDash”.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
10000201 The specified line style is invalid. Please choose another from the option menu.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Example:

Please see xy_curve_linestyle_set.


Chapter 7: XY Plot Functions 1693
Modify Action

xy_curve_nlppc_get (curve_name, num_line_seg)

Description:
This function gets the number of curves per parametric cubic for least squares fit.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
INTEGER num_line_seg This value returns the number of line segments
generated per parametric cubic curve.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_nlppc_get.


1694 PCL Reference Manual
Modify Action

xy_curve_nlppc_set (curve_name, num_line_seg)

Description:
This function sets the number of curves per parametric cubic for least squares fit.
Input:
STRING curve_name[31] This value specifies the curve name.
INTEGER num_line_seg This value specifies the number of line segments
generated per parametric cubic curve.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Example:

Please see xy_curve_nlppc_set.


Chapter 7: XY Plot Functions 1695
Modify Action

xy_curve_num_pc_get (curve_name, num_curves)

Description:
This function gets the number of parametric cubic curves.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
INTEGER num_curves This value returns the number of parametric cubic curves
generated.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_num_pc_get.


1696 PCL Reference Manual
Modify Action

xy_curve_num_pc_set (curve_name, num_curves)

Description:
This function sets the number of parametric cubic curves.
Input:
STRING curve_name[31] This value specifies the curve name.
INTEGER num_curves This value specifies the number of parametric cubic
curves to generate.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Example:

Please see xy_curve_num_pc_set.


Chapter 7: XY Plot Functions 1697
Modify Action

xy_curve_rename (curve_name, new_name)

Description:
This function renames a curve.
Input:
STRING curve_name[31] This value specifies the current name of the curve.
STRING new_name[] This value specifies the new name to be assigned.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000102 The specified curve name is invalid.
10000104 A current curve has not been defined.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Example:

Please see xy_curve_rename.


1698 PCL Reference Manual
Modify Action

xy_curve_startpt_get (curve_name, start_point)

Description:
This function gets the first data point to be displayed.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
INTEGER start_point This value returns the start point for the specified curve.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_startpt_get.


Chapter 7: XY Plot Functions 1699
Modify Action

xy_curve_startpt_set (curve_name, start_point)

Description:
This function sets the first data point to be displayed.
Input:
STRING curve_name[31] This value specifies the curve name.
INTEGER start_point This value specifies the start point for the specified
curve.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
10000106 The specified starting point is invalid. Please input another starting point in the
databox.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Example:

Please see xy_curve_startpt_set.


1700 PCL Reference Manual
Modify Action

xy_curve_symbol_color_get (curve_name, symbol_color)

Description:
This function gets the symbol color.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
INTEGER symbol_color This value returns the symbol color for the specified
curve.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_symbol_color_get.


Chapter 7: XY Plot Functions 1701
Modify Action

xy_curve_symbol_color_set (curve_name, symbol_color)

Description:
This function sets symbol color.
Input:
STRING curve_name[31] This value specifies the curve name
INTEGER symbol_color This value specifies the symbol color for the specified curve.
See the remarks below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Remarks:

The input value symbol_color can have the following values:

Color Color Description Color Color Description


Value Value

0 Black 8 Dark Orange


1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
6 Lightest Blue 14 Cyan
7 white 15 Light Cyan

Example:

Please see xy_curve_symbol_color_set.


1702 PCL Reference Manual
Modify Action

xy_curve_symbol_get (curve_name, symbol)

Description:
This function gets the symbol.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
STRING symbol[30] This value returns the symbol for the specified curve.
See the remarks below for more information.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000012 Internal XY string lookup failure.
10000104 A current curve has not been defined.
13000067 XY curve not found

Remarks:

The output value symbol can return the following values:

“Dot” “Circle” “FillCircle”


“X” “Plus” “Square”
“Fillsquare” “Triangle” “FillTriangle”
”Diamond” “FillDiamond” “Arrowhead”
“FillArrowhead” “Hexagon” “FillHexagon”

Example:

Please see xy_curve_symbol_get.


Chapter 7: XY Plot Functions 1703
Modify Action

xy_curve_symbol_set (curve_name, symbol)

Description:
This function sets the symbol.
Input:
STRING curve_name[31] This value specifies the curve name.
STRING symbol[30] This value specifies the symbol for the specified curve. See
the remarks below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000104 A current curve has not been defined.
10000109 The specified symbol is invalid. Please choose another symbol from the option
menu.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Remarks:

The input value symbol can be set to the following values


:

“Dot” “Circle” “FillCircle”


“X” “Plus” “Square”
“Fillsquare” “Triangle” “FillTriangle”
”Diamond” “FillDiamond” “Arrowhead”
“FillArrowhead” “Hexagon” “FillHexagon”

Example:

Please see xy_curve_symbol_set.


1704 PCL Reference Manual
Modify Action

xy_curve_symbol_size_get (curve_name, symbol_size)

Description:
This function gets the symbol size.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
INTEGER symbol_size This value returns the symbol size for the specified curve.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_symbol_size_get.

xy_curve_symbol_size_set (curve_name, symbol_size)

Description:
This function sets symbol size.
Input:
STRING curve_name[31] This value specifies the curve name.
INTEGER symbol_size This value specifies the symbol size for the specified
curve.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000004 Duplicate entry exists in table
13000067 XY curve not found
Chapter 7: XY Plot Functions 1705
Modify Action

Example:

Please see xy_curve_symbol_size_set.

xy_curve_text_get (curve_name, text, text_color)

Description:
This function gets the text attributes.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
STRING text[256] This value returns the text for the specified curve.
INTEGER text_color This value returns the color index of the text.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_text_get.


1706 PCL Reference Manual
Modify Action

xy_curve_text_set (curve_name, text, text_color)

Description:
This function sets the text attributes.
Input:
STRING curve_name[31] This value specifies the curve name.
STRING text[256] This value specifies the text for the specified
curve.
INTEGER text_color This value specifies the color index of the text.
See the remarks below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
10000009 The specified text is invalid. Please input a valid text string.
10000010 The color index has returned an invalid value.
10000104 A current curve has not been defined.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Remarks:

The input value text_color can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
6 Lightest Blue 14 Cyan
7 white 15 Light Cyan

Example:
Chapter 7: XY Plot Functions 1707
Modify Action

Please see xy_curve_text_set.

xy_curve_thickness_get (curve_name, thickness)

Description:
This function gets the curve thickness.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
INTEGER thickness This value returns the curve thickness.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_thickness_get.


1708 PCL Reference Manual
Modify Action

xy_curve_thickness_set (curve_name, thickness)

Description:
This function sets the curve thickness.
Input:
STRING curve_name[31] This value specifies the curve name.
INTEGER thickness This value specifies the curve thickness. This value
must be greater than 0 and less than 51.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
10000202 The specified curve thickness is invalid. Please choose another from the slider.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Example:

Please see xy_curve_thickness_set.


Chapter 7: XY Plot Functions 1709
Modify Action

xy_curve_xdelta_get (curve_name, x_delta)

Description:
This function gets the value of X increment to use when only Y data has been given.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
REAL x_delta This value returns the X increment value to use when only
Y data is given.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_xdelta_get.


1710 PCL Reference Manual
Modify Action

xy_curve_xdelta_set (curve_name, x_delta)

Description:
This function sets the value of X increment to use when only Y data has been given.
Input:
STRING curve_name[31] This value specifies the curve name.
REAL x_delta This value specifies the X increment value to use when
only Y data is given.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Example:

Please see xy_curve_xdelta_set.


Chapter 7: XY Plot Functions 1711
Modify Action

xy_curve_xinit_get (curve_name, x_init)

Description:
This function gets the initial value of X to use as data for curve when only Y data has been given. If
X,Y pairs are given, then this value will not be used.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
REAL x_init This value returns the X initial value to use when only
Y data is given.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_xinit_get.


1712 PCL Reference Manual
Modify Action

xy_curve_xinit_set (curve_name, x_init)

Description:
This function sets the initial value of X to use as data for curve when only Y data has been given. If
X,Y pairs are given, then this value will not be used.
Input:
STRING curve_name[31] This value specifies the curve name.
REAL x_init This value specifies the X initial value to use when only Y
data is given.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Example:

Please see xy_curve_xinit_set.


Chapter 7: XY Plot Functions 1713
Modify Action

xy_curve_xscale_get (curve_name, x_factor)

Description:
This function gets the X scale factor.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
REAL x_factor This value returns the X scale factor for the specified
curve.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_xscale_get.


1714 PCL Reference Manual
Modify Action

xy_curve_xscale_set (curve_name, x_factor)

Description:
This function sets the X scale factor.
Input:
STRING curve_name[31] This value specifies the curve name.
REAL x_factor This value specifies the X scale factor for the specified
curve.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Example:

Please see xy_curve_xscale_set.


Chapter 7: XY Plot Functions 1715
Modify Action

xy_curve_yscale_get (curve_name, y_factor)

Description:
This function gets the Y scale factor.
Input:
STRING curve_name[31] This value specifies the curve name.
Output:
REAL y_factor This value returns the Y scale factor for the specified
curve.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_yscale_get.


1716 PCL Reference Manual
Modify Action

xy_curve_yscale_set (curve_name, y_factor)

Description:
This function sets the Y scale factor.
Input:
STRING curve_name[31] This value specifies the curve name.
REAL y_factor This value specifies the Y scale factor for the specified
curve.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000004 Duplicate entry exists in table
13000067 XY curve not found

Example:

Please see xy_curve_yscale_set.


Chapter 7: XY Plot Functions 1717
Modify Action

xy_legend_attrib_get (location, width, height, bgcolor)

Description:
This function gets the legend attributes.
Input:
None.
Output:
REAL location(2) This value returns the location of the legend. Offset
1 will specify the X location and offset 2 will specify
the Y location. These values can range from 0.0 to
100.0.
REAL width This value returns the width of the legend.
REAL height This value returns the height of the legend.
INTEGER bgcolor This value returns the background color of the
legend.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
10000705 There is no current window specified.
13000063 XY window not found
13000065 XY legend not found

Example:

Please see xy_legend_attrib_get.


1718 PCL Reference Manual
Modify Action

xy_legend_attrib_set (location, width, height, bgcolor)

Description:
This function sets the legend attributes.
Input:
REAL location(2) This value specifies the location of the legend. Offset 1
will specify the X location and offset 2 will specify the Y
location. These values can range from 0.0 to 100.0.
REAL width This value specifies the width of the legend.
REAL height This value specifies the height of the legend.
INTEGER bgcolor This value specifies the background color of the legend.
See the remarks below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000007 The X and Y location must both be in %. This is a percentage of the XY window
from the top left corner. Please input valid X and Y locations.
10000010 The color index has returned an invalid value.
10000705 There is no current window specified.
13000004 Duplicate entry exists in table
13000063 XY window not found
13000065 XY legend not found

Remarks:

The input value bgcolor can have the following values:


Chapter 7: XY Plot Functions 1719
Modify Action

Color Color Description Color Color Description


Value Value

0 Black 8 Dark Orange


1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
6 Lightest Blue 14 Cyan
7 white 15 Light Cyan

Example:

Please see xy_legend_attrib_set.

xy_legend_border_get (style, border_color)

Description:
This function gets the border attributes.
Input:
None.
Output:
STRING style[30 This value returns the curve style of the legend. This value can return
“Solid”, “Dotted”, “DotDash”, “ShortDash”, “LongDash”, or “OddDash”.
INTEGER border_color This value returns the border color index of the legend.
INTEGER <Return This function returns a value of 0 when executed successfully and a non
Value> zero value to indicate a change in status or an error.
Error Conditions:
10000012 Internal XY string lookup failure.
13000063 XY window not found
13000065 XY legend not found

Example:

Please see xy_legend_border_get.


1720 PCL Reference Manual
Modify Action

xy_legend_border_set (style, border_color)

Description:
This function sets the border attributes.
Input:
STRING style[30] This value specifies the curve style of the legend. This value can
be set to “Solid”, “Dotted”, “DotDash”, “ShortDash”,
“LongDash”, or “OddDash”.
INTEGER border_color This value specifies the border color index of the legend. See the
remarks below for more information.
Output:
INTEGER <Return This function returns a value of 0 when executed successfully
Value> and a non zero value to indicate a change in status or an error.
Error Conditions:
10000010 The color index has returned an invalid value.
10000201 The specified line style is invalid. Please choose another from the option menu.
13000004 Duplicate entry exists in table
13000063 XY window not found
13000065 XY legend not found

Remarks:

The input value border_color can have the following values:

Color Color Description Color Color Description


Value Value

0 Black 8 Dark Orange


1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
6 Lightest Blue 14 Cyan
7 white 15 Light Cyan
Chapter 7: XY Plot Functions 1721
Modify Action

Example:

Please see xy_legend_border_set.

xy_legend_display_border_get (border_flag)

Description:
This function gets the display border flag.
Input:
None.
Output:
LOGICAL border_flag This value returns the display border status value. When
this value is set to TRUE, the display border for the legend
will be shown. If this value is set to FALSE, the display
border for the legend will not be shown.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
13000063 XY window not found
13000065 XY legend not found

Example:

Please see xy_legend_display_border_get.


1722 PCL Reference Manual
Modify Action

xy_legend_display_border_set (border_flag)

Description:
This function sets the display border flag.
Input:
LOGICAL border_flag This value specifies, when set to TRUE that the display
border for the legend will be shown. If this value is set to
FALSE, the display border for the legend will not be
shown.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
13000004 Duplicate entry exists in table
13000063 XY window not found
13000065 XY legend not found

Example:

Please see xy_legend_display_border_set.


Chapter 7: XY Plot Functions 1723
Modify Action

xy_legend_display_get (legend_flag)

Description:
This function gets the display legend flag.
Input:
None.
Output:
LOGICAL legend_flag This value returns the display legend status value.
When this value is set to TRUE, the display legend
will be shown. If this value is set to FALSE, the
display legend will not be shown.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
13000063 XY window not found
13000065 XY legend not found

Example:

Please see xy_legend_display_get.


1724 PCL Reference Manual
Modify Action

xy_legend_display_set (legend_flag)

Description:
This function sets the display legend flag.
Input:
LOGICAL legend_flag This value specifies, when set to TRUE that the display
legend will be shown. If this value is set to FALSE, the
display legend will not be shown.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
13000004 Duplicate entry exists in table
13000063 XY window not found
13000065 XY legend not found

Example:

Please see xy_legend_display_set.


Chapter 7: XY Plot Functions 1725
Modify Action

xy_legend_display_title_get (title_flag)

Description:
This function gets the display title flag.
Input:
None.
Output:
LOGICAL title_flag This value returns the display title flag for the legend. When
this value is set to TRUE, the display legend title will be
shown. If this value is set to FALSE, the display legend title
will not be shown.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
13000063 XY window not found
13000065 XY legend not found

Example:

Please see xy_legend_display_title_get.


1726 PCL Reference Manual
Modify Action

xy_legend_display_title_set (title_flag)

Description:
This function sets the display title flag.
Input:
LOGICAL title_flag This value specifies, when set to TRUE that the display
legend title will be shown. If this value is set to FALSE, the
display legend title will not be shown.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
13000004 Duplicate entry exists in table
13000063 XY window not found
13000065 XY legend not found

Example:

Please see xy_legend_display_title_set.


Chapter 7: XY Plot Functions 1727
Modify Action

xy_legend_text_get (legend_text, text_color)

Description:
This function gets the text attributes for the legend.
Input:
None.
Output:
STRING legend_text[25 This value returns the text for the legend.
6]
INTEGER text_color This value returns the color index of the text.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
13000063 XY window not found
13000065 XY legend not found

Example:

Please see xy_legend_text_get.


1728 PCL Reference Manual
Modify Action

xy_legend_text_set (legend_text, text_color)

Description:
This function sets the text attributes for the legend.
Input:
STRING legend_text[25 This value specifies the text for the legend.
6]
INTEGER text_color This value specifies the color index of the text. See the remarks
below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
10000009 The specified text is invalid. Please input a valid text string.
10000010 The color index has returned an invalid value.
13000004 Duplicate entry exists in table
13000063 XY window not found
13000065 XY legend not found

Remarks:

The input value text_color can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
6 Lightest Blue 14 Cyan
7 white 15 Light Cyan

Example:

Please see xy_legend_text_set.


Chapter 7: XY Plot Functions 1729
Modify Action

xy_title_current_set (title_name)

Description:
This function sets the current title.
Input:
STRING title_name[256] This value specifies the current title name.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000005 The specified XY title name is invalid. Please Input a valid title name that is 31
characters or less and contains no embedded blanks.
13000068 XY title not found

Example:

Please see xy_title_current_set.

xy_title_font_get (title_name, font_size)

Description:
This function gets the text font size.
Input:
STRING title_name[256] This value specifies the title name.
Output:
INTEGER font_size This value returns the font size of the specified title.
This value can return 8, 10, 12, 14, 18, or 24.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000101 The specified title does not exist in the database.
13000068 XY title not found
1730 PCL Reference Manual
Modify Action

Example:

Please see xy_title_font_get.

xy_title_font_set (title_name, font_size)

Description:
This function sets the text font size.
Input:
STRING title_name[256] This value specifies the title name.
INTEGER font_size This value specifies the font size of the specified title. This
value can be set to 8, 10, 12, 14, 18, or 24.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000006 The XY font name typed in is invalid. Please input a valid font name.
10000101 The specified title does not exist in the database.
13000004 Duplicate entry exists in table
13000068 XY title not found

Example:

Please see xy_title_font_set.


Chapter 7: XY Plot Functions 1731
Modify Action

xy_title_rename (title_name, new_name)

Description:
This function renames a title.
Input:
STRING title_name[] This value specifies the current name of the title.
STRING new_name[] This value specifies the new name to be assigned.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000005 The specified XY title name is invalid. Please Input a valid title name that is 31
characters or less and contains no embedded blanks.
10000100 There is no current title defined.
13000004 Duplicate entry exists in table
13000068 XY title not found

Example:

Please see xy_title_rename.


1732 PCL Reference Manual
Modify Action

xy_title_text_get (title_name, text, location, text_color)

Description:
This function gets the text attributes.
Input:
STRING title_name[256] This value specifies the title name.
Output:
STRING text[256] This value returns the text of the specified title.
REAL location(2) This value returns the location of the text. Offset 1 will
specify the X location and offset 2 will specify the Y
location. These values can range from 0.0 to 100.0.
INTEGER text_color This value returns the color index of the text.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000101 The specified title does not exist in the database.
13000068 XY title not found

Example:

Please see xy_title_text_get.


Chapter 7: XY Plot Functions 1733
Modify Action

xy_title_text_set (title_name, text, location, text_color)

Description:
This function sets the text attributes.
Input:
STRING title_name[256] This value specifies the title name.
STRING text[256] This value specifies the text of the specified title.
REAL location(2) This value specifies the location where the text is to be
placed. Offset 1 will specify the X location and offset 2
will specify the Y location. These values can range from
1.0 to 100.0.
INTEGER text_color This value specifies the color index of the text. See the
remarks below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000007 The X and Y location must both be in %. This is a percentage of the XY window
from the top left corner. Please input valid X and Y locations.
10000009 The specified text is invalid. Please input a valid text string.
10000010 The color index has returned an invalid value.
10000101 The specified title does not exist in the database.
13000004 Duplicate entry exists in table
13000068 XY title not found

Remarks:

The input value text_color can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
1734 PCL Reference Manual
Modify Action

Color Value Color Description Color Value Color Description


6 Lightest Blue 14 Cyan
7 white 15 Light Cyan

Example:

Please see xy_title_text_set.

xy_window_background_color_get (window_name, bgcolor)

Description:
This function gets the graph background color.
Input:
STRING window_name[31] This value specifies the window name.
Output:
INTEGER bgcolor This value returns the background color for the specified
window.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
10000705 There is no current window specified.
13000063 XY window not found

Example:

Please see xy_window_background_color_get.


Chapter 7: XY Plot Functions 1735
Modify Action

xy_window_background_color_set (window_name, bgcolor)

Description:
This function sets the graph background color.
Input:
STRING window_name[31] This value specifies the window name.
INTEGER bgcolor This value specifies the background color for the specified
window. See the remarks below for more information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000705 There is no current window specified.
13000004 Duplicate entry exists in table
13000063 XY window not found

Remarks:

The input value bgcolor can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
6 Lightest Blue 14 Cyan
7 white 15 Light Cyan

Example:

Please see xy_window_background_color_set.


1736 PCL Reference Manual
Modify Action

xy_window_border_color_get (window_name, border_color)

Description:
This function gets the display border color.
Input:
STRING window_name[31] This value specifies the window name.
Output:
INTEGER border_color This value returns the display border color for the
specified window.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000705 There is no current window specified.
13000063 XY window not found

Example:

Please see xy_window_border_color_get.


Chapter 7: XY Plot Functions 1737
Modify Action

xy_window_border_color_set (window_name, border_color)

Description:
This function sets the display border color.
Input:
STRING window_name[31] This value specifies the window name.
INTEGER border_color This value specifies the display border color for the
specified window. See the remarks below for more
information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000705 There is no current window specified.
13000004 Duplicate entry exists in table
13000063 XY window not found

Remarks:

The input value border_color can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Dark Cyan 13 Light Blue
6 Lightest Blue 14 Cyan
7 white 15 Light Cyan

Example:

Please see xy_window_border_color_set.


1738 PCL Reference Manual
Modify Action

xy_window_border_linestyle_get (window_name, curve_style)

Description:
This function gets the border curve style.
Input:
STRING window_name[31] This value specifies the window name.
Output:
STRING curve_style[31] This value returns the border curve style for the specified
window. This value can return “Solid”, “Dotted”,
“DotDash”, “ShortDash”, “LongDash”, or “OddDash”.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000012 Internal XY string lookup failure.
10000705 There is no current window specified.
13000063 XY window not found

Example:

Please see xy_window_border_linestyle_get.


Chapter 7: XY Plot Functions 1739
Modify Action

xy_window_border_linestyle_set (window_name, curve_style)

Description:
This function sets the border curve_style.
Input:
STRING window_name[31] This value specifies the window name.
STRING curve_style[31] This value specifies the border curve style for the
specified window. This value can be set to: “Solid”,
“Dotted”, “DotDash”, “ShortDash”, “LongDash”, or
“OddDash”.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000201 The specified line style is invalid. Please choose another from the option menu.
10000705 There is no current window specified.
13000004 Duplicate entry exists in table
13000063 XY window not found

Example:

Please see xy_window_border_linestyle_set.


1740 PCL Reference Manual
Modify Action

xy_window_border_thickness_get (window_name, thickness)

Description:
This function gets the border thickness.
Input:
STRING window_name[31] This value specifies the window name.
Output:
INTEGER thickness This value returns the window border thickness. The
value returned will be greater than 0 and less than
101.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000705 There is no current window specified.
13000063 XY window not found

Example:

Please see xy_window_border_thickness_get.


Chapter 7: XY Plot Functions 1741
Modify Action

xy_window_border_thickness_set (window_name, thickness)

Description:
This function sets the border thickness.
Input:
STRING window_name[31] This value specifies the window name.
INTEGER thickness This value specifies the window border thickness. This
value must be greater than 0 and less than 101.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
10000705 There is no current window specified.
13000004 Duplicate entry exists in table
13000063 XY window not found

Example:

Please see xy_window_border_thickness_set.


1742 PCL Reference Manual
Modify Action

xy_window_display_border_get (window_name, border_flag)

Description:
This function gets the display graph border flag.
Input:
STRING window_name[31] This value specifies the window name.
Output:
LOGICAL border_flag This value returns the display graph border flag for the
specified window. When this value is TRUE, the display
graph border should be displayed. When this value is set to
FALSE, the display graph border should not be displayed.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000705 There is no current window specified.
13000063 XY window not found

Example:

Please see xy_window_display_border_get.


Chapter 7: XY Plot Functions 1743
Modify Action

xy_window_display_border_set (window_name, border_flag)

Description:
This function sets the display graph border flag.
Input:
STRING window_name[31] This value specifies the window name.
LOGICAL border_flag This value specifies, when set to TRUE, that the display
graph border should be shown. When this value is set to
FALSE, the display graph border should not be shown.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000705 There is no current window specified.
13000004 Duplicate entry exists in table
13000063 XY window not found

Example:

Please see xy_window_display_border_set.

xy_window_id_get (window_name, window_id)

Description:
This function gets the ID of a window from the name.
Input:
STRING window_name[31] This value specifies the name of the xy window.
Output:
INTEGER window_id This value returns the id of the xy window.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
13000063 XY window not found
1744 PCL Reference Manual
Modify Action

Example:

Please see xy_window_id_get.


Chapter 7: XY Plot Functions 1745
Rename Action

Rename Action
This section is used to describe some of the functions used to implement the “Rename” actions.

xy_window_rename (window_name, new_name)

Description:
This function renames a xy window.
Input:
STRING window_name[31] This value specifies the current name of window.
STRING new_name[] This value specifies the new name to be assigned.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000700 The specified window name is invalid. Enter a window name that is less than 31
characters and that has no embedded blanks.
10000705 There is no current window specified.
13000004 Duplicate entry exists in table
13000063 XY window not found

Example:

Please see xy_window_rename.


1746 PCL Reference Manual
Delete Action

Delete Action
This section is used to describe some of the functions used to implement the “Delete” actions.

xy_curve_delete (curve_name)

Description:
This function deletes a curve.
Input:
STRING curve_name[31] This value specifies the name of the curve to be deleted.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
10000104 A current curve has not been defined.
13000067 XY curve not found

Example:

Please see xy_curve_delete.

xy_title_delete (title_name)

Description:
This function deletes a title.
Input:
STRING title_name[256] This value specifies the name of the title to be deleted.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
10000100 There is no current title defined.
13000068 XY title not found

Example:

Please see xy_title_delete.


Chapter 8: FlightLoads Functions
PCL Reference Manual

8 FlightLoads Functions


Introduction 1750

General Utilities 1751

Modeling Utilities 1754

AeroDynamic Utilities 1782

AeroElastic Utilities 1791

AeroElastic Utilities 1791
1750 PCL Reference Manual
Introduction

Introduction
The purpose of this chapter is to list functions used to create and manipulate various parts of the Flight
Loads product.

General Utilities These are the general functions that store the information that is used by
the various parts of Flight Loads in the database.
Modeling Utilities These functions are used in creating, modifying, and deleting the various
parts of the Flight Loads model. It also contains functions that are used to
create and manipulate Monitor Points and the Flight Loads Modeling
Management environment.
AeroDynamic Utilities These functions are used in the creation and manipulation of various
Aerodynamic activities like Steady Aerodynamics.
AeroElastic Utilities These functions are used in the creation and manipulation of the various
Aeroelasticity activities like Splines.
Loadsbrowser Utilities These functions are used by the Flight Loads Loadsbrowser.
Chapter 8: FlightLoads Functions 1751
General Utilities

General Utilities
This section explains the functions that are used through out Flight Loads to manipulate the settings of
the general and Flight Loads part specific options.

flds_retrieve_gen_options ( cframe_id, dim_angle)

Description:
This function retrieves the value of the Basic Aero Coord Frame and the value of the Dimensional
Angle and Rates toggle from the database.
Input:
INTEGER lbccframe_id This value specifies the id of the Basic Aero Coord
Frame.
LOGICAL dim_angle This value specifies the state of the dimensional angle
and rates toggle
Output:
None.

Remarks:

None.
Example:

None
.

flds_store_gen_options ( cframe_id, dim_angle)

Description:
This function stores the value of the Basic Aero Coord Frame and the value of the Dimensional
Angle and Rates toggle in the database.
Input:
INTEGER lbccframe_id This value specifies the id of the Basic Aero Coord Frame.
LOGICAL dim_angle This value specifies the state of the dimensional angle and
rates toggle
Output:
None.
1752 PCL Reference Manual
General Utilities

Remarks:

None.
Example:

None.
.

flds_store_mod_options ( cre_geom, auto_mchk, strt_elem,


elem_inc, int_grp, warp_tol,
edge_ratio )

Description:
This function stores the Aero Modeling options in the database.
Input:
LOGICAL cre_geom TRUE: if geometry is to be created; FALSE
otherwise.
LOGICAL auto_mchk TRUE: if auto model checking is to be done;
FALSE otherwise.
INTEGER strt_elem, This value specifies the starting element id
number.
INTEGER elem_inc This value specifies the element increment value.
INTEGER int_grp This value specifies the interference group id
number.
REAL warp_tol, This value specifies the warp tolerance value.
REAL edge_ratio This value specifies the edge ratio value.
Output:
None.

Remarks:

None.
Example:

None.
Chapter 8: FlightLoads Functions 1753
General Utilities

flds_store_sgrp_data ( type, name )

Description:
This function stores the SuperGroup type and name in the database.
Input:
STRING type This value specifies the type of SuperGroup to store.
(FLAT_PLATE or THREED)
STRING name This value specifies the name of the SuperGroup to store.
Output:
None.

Remarks:

None.
Example:

None.

flds_store_start_elem_id ( strt_elem )

Description:
This function stores the Starting Element id in the database.
Input:
INTEGER strt_elem This value specifies the starting element id.
Output:
None.

Remarks:

None.
Example:

None.
1754 PCL Reference Manual
Modeling Utilities

Modeling Utilities
This section explains the functions that are used in defining the Flight Loads model and maintaining it
and its environment.

flds_calc_fringe_value ( threshold, swtch_val, dbox1_val,


dbox2_val, grp_name, min_val,
max_val, table_id )

Description:
This function calculates the fringe value for each QUAD in the current group.
Input:
REAL threshold The comparison value to indicate element has failed.
Threshold is a lower limit.
STRING swtch_val The value of the switch that determines which equation
is to be used in calculating the Boxes/Wavelength.
(“Dimensional (v and f)” or “Nondimensional (c and
k)”)
REAL dbox1_val The Minimum Velocity or the Reference Length
depending on what the value of swtch_val is set to
REAL dbox2_val The Maximum Cyclic Frequency or the Maximum
Reduced Frequency depending on what the value of
swtch_val is set to
Output:
STRING grp_name Current group label
REAL min_val Minimum fringe factor for QUADS tested
REAL max_val Maximum fringe factor for QUADS tested
INTEGER table_id ID of scalar element fringe results table
INTEGER <Return Value> 0 = Success; otherwise a problem was encountered

Remarks:

None.
Example:

None.
Chapter 8: FlightLoads Functions 1755
Modeling Utilities

flds_delete_element ( element_name, delete_geom )

Description:
This function deletes the Aero element and all its associated entities. This action includes the deletion
of the property set and the associated group containing the nodes and boxes/beams, geometries, and
removes the nodes and boxes/beams. If specified by the user, the surface/curve and the points used
to create the Aero element are also deleted. Moreover, the Splines, Control Devices and Fields are
deleted if their respective application regions are emptied due to the Aero element deletion.
Input:
STRING element_name This value specifies the name of the element to be deleted.
LOGICAL delete_geom TRUE if the associated geometries are to be deleted;
FALSE otherwise.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1 This is am internal status condition. There is no corresponding status message
in the message database.
-1 This is am internal status condition. There is no corresponding status message
in the message database.

Remarks:

None.
Example:

None.
1756 PCL Reference Manual
Modeling Utilities

flds_gnrl_cntrl_cre ( device_name, units_label, super_group_name )

Description:
This function creates the General Contols control device
Input:
STRING device_name Name of the General Controller
STRING units_label Units label for the General Controller
STRING super_group_name Name of the current SuperGroup
Output:
INTEGER <Return Value> 0 = Success; otherwise there is a problem

Remarks:

None.
Example:

None.

flds_gnrl_cntrl_mod ( device_name, units_label, super_group_name )

Description:
This function modifies the specified General Controls control device.
Input:
STRING device_name Name of the General Controller
STRING units_label Units label for the General Controller
STRING super_group_nam Name of the current SuperGroup
e
Output:
INTEGER <Return Value> 0 = Success; otherwise there is a problem

Remarks:

None.
Example:

None.
Chapter 8: FlightLoads Functions 1757
Modeling Utilities

flds_lbc_delete ( num_names, name_array )

Description:
This function deletes the Aero LBC from the database.
Input:
INTEGER num_names This value specifies the number of selected LBCs.
STRING name_array() This value specifies the array of selected LBC names to be
deleted.
Output:
INTEGER <Return This function returns a value of 0 when executed
Value> successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
-1 This is am internal status condition. There is no corresponding status message
in the message database.

Remarks:

None.
Example:

None.
1758 PCL Reference Manual
Modeling Utilities

flds_mod_mng_sup_grp_cre ( sg_name, sg_type, num_sel_grps,


sel_gnames, mk_cur_flag )

Description:
This function checks the validity of the entered SuperGroup Name, to create it, to associate the
appropriate Aero Groups to it, and to make it current if need be.
Input:
STRING sg_name This value specifies the name of the SuperGroup to create.
STRING sg_type This value specifies the type of the SuperGroup. (FLAT_PLATE
or THREED)
INTEGER num_sel_grps This value specifies the number of Aero Groups selected.
STRING sel_gnames() This value specifies the array listing the selected Aero Group
Names.
LOGICAL mk_cur_flag TRUE if the SuperGroup is to be made current; FALSE otherwise.
Output:
None.

Remarks:

None.
Example:

None.

flds_mod_mng_sup_grp_cur ( sg_type, sg_name )

Description:
This function makes the selected SuperGroup current.
Input:
STRING sg_type This value specifies the type of the SuperGroup to make
current. (FLAT_PLATE or THREED)
STRING sg_name This value specifies the name of the SuperGroup to make
current.
Output:
None.
Chapter 8: FlightLoads Functions 1759
Modeling Utilities

Remarks:

None.
Example:

None.

flds_mod_mng_sup_grp_del ( sg_type, num_sel_sgrps, sg_names )

Description:
This function deletes the list of given SuperGroup names.
Input:
STRING sg_type This value specifies the type of the SuperGroup to delete.
(FLAT_PLATE or THREED)
INTEGER num_sel_sgrps This value specifies the number of SuperGroups selected.
STRING sg_names() This value specifies the array listing the selected
SuperGroup Names.
Output:
None.

Remarks:

None.
Example:

None.
1760 PCL Reference Manual
Modeling Utilities

flds_mod_mng_sup_grp_mod ( sg_name, new_sg_name, sg_type,


num_sel_grps, sel_gnames )

Description:
This function checks the validity of the entered SuperGroup Name, modifies the selected
SuperGroup and reassociates the appropriate Aero Groups to it.
Input:
STRING sg_name This value specifies the name of the SuperGroup to modify.
STRING new_sg_name This value specifies the new name of the SuperGroup to be used
if different than sg_name.
STRING sg_type This value specifies the type of the SuperGroup. (FLAT_PLATE
or THREED)
INTEGER num_sel_grps This value specifies the number of Aero Groups selected.
STRING sel_gnames() This value specifies the array listing the selected Aero Group
Names.
Output:
None.

Remarks:

None.
Example:

None.
Chapter 8: FlightLoads Functions 1761
Modeling Utilities

flds_mod_mng_sup_grp_rbld ( num_entities, entity_names, num_aero_grps,


aero_grps, crnt_sgrp_name )

Description:
This function rebuilds all the Aero Groups and the SuperGroups.
Input:
INTEGER num_entities This value specifies the number of selected Lifting
Surface/Body names.
STRING entity_names() This value specifies the array listing the selected Lifting
Surface/Body names.
INTEGER num_aero_grps This value specifies the number of existing Aero Groups.
STRING aero_grps() This value specifies the array listing the Aero Group Names.
STRING crnt_sgrp_name This value specifies the name of the current SuperGroup to
which the selected Lifting Surface/Body names are to be
assigned. This value is left blank if they are not to be assigned
to the current SuperGroup.
Output:
None.

Remarks:

None.
Example:

None.
1762 PCL Reference Manual
Modeling Utilities

flds_monitor_pts_cre ( aero_or_struct, monitor_name, monitor_pt_label,


num_box, box_id_array, coord_label, monitor_comp )

Description:
This function creates the monitor points.
Input:
INTEGER aero_or_struct 1 = Aero; 2 = Structural
STRING monitor_name Name of the monitor point
STRING monitor_pt_label Monitor point label
INTEGER num_box Number of box id’s specified in box_id_array
INTEGER box_id_array() The array of areodynamic boxes/elements making up the
nonlinear control surface component
INTEGER coord_label The label of the rectangular coordinate system
INTEGER monitor_comp(6) The monitor components
Output:
INTEGER <Return Value> 0 = Success; otherwise there is a problem

Remarks:

None.
Example:

None.
Chapter 8: FlightLoads Functions 1763
Modeling Utilities

flds_monitor_pts_get ( monitor_name, monitor_pt_label,


num_elem, app_reg_ent,
coordinate_id, monitor_comp )

Description:
This function gets the data for the specified Monitor Point.
Input:
STRING monitor_name Name of the monitor point to get
Output:
STRING monitor_pt_label The monitor point label
INTEGER num_elem The number of boxes/elements in the application region
INTEGER app_reg_ent() The array of box/element ids making up the nonlinear
control surface component
INTEGER coordinate_id The label of the rectangular coordinate system
INTEGER monitor_comp(6) The monitor components
INTEGER <Return Value> 0 = Success; otherwise there is a problem

Remarks:

None.
Example:

None.
1764 PCL Reference Manual
Modeling Utilities

flds_monitor_pts_mod ( aero_or_struct, monitor_name,


monitor_pt_label, num_box,
box_id_array, coord_label,
monitor_comp )

Description:
This function modifies the specified monitor point.
Input:
INTEGER aero_or_struct 1 = Aero; 2 = Structural
STRING monitor_name Name of the monitor point to modify
STRING monitor_pt_label Monitor point label
INTEGER num_box Number of box id’s specified in box_id_array
INTEGER box_id_array() The array of areodynamic boxes/elements
making up the nonlinear control surface
component
INTEGER coord_label The label of the rectangular coordinate system
INTEGER monitor_comp(6) The monitor components
Output:
INTEGER <Return Value> 0 = Success; otherwise there is a problem

Remarks:

None.
Example:

None.
Chapter 8: FlightLoads Functions 1765
Modeling Utilities

flds_nonlnr_cntrl_srf_cre ( device_name, coord_label, num_box,


box_id_array, effectiveness,
ref_chord_len, ref_area,
upper_def_limit, lower_def_limit,
is_up_mom_defined,
upper_mom_limit, is_lo_mom_defined,
lower_mom_limit, up_def_limit_field,
low_def_limit_field, cntrl_param_unit,
super_group_name )

Description:
This function creates the Nonlinear Control Surface control device.
Input:
STRING device_name This value specifies the name of the Nonlinear Control
Surface.
INTEGER coord_label This value specifies the label of the rectangular
coordinate with y-axis defining the hinge line of the
control surface component.
INTEGER num_box This value specifies the number of box id’s specified
in the box_id_array.
INTEGER box_id_array() This value specifies the array of aerodynamic
boxes/elements making up the control surface
component.
REAL effectiveness This value specifies the Control Device effectiveness.
REAL ref_chord_len This value specifies the reference chord length.
REAL ref_area This value specifies the reference area for the Control
Device.
REAL upper_def_limit This value specifies the upper deflection limit
(Radians).
REAL lower_def_limit This value specifies the lower deflection limit
(Radians).
LOGICAL is_up_mom_defined TRUE: if the upper moment is defined; FALSE
otherwise.
REAL upper_mom_limit This value specifies the upper hinge moment limit.
LOGICAL is_lo_mom_defined TRUE: if the lower moment is defined; FALSE
otherwise.
REAL lower_mom_limit This value specifies the lower hinge moment limit.
1766 PCL Reference Manual
Modeling Utilities

STRING up_def_limit_field This value specifies the Field name containing the
upper deflection limits vs. Dynamic pressure. If
up_def_limit_field="" then upper_def_limit value will
be used.
STRING low_def_limit_field This value specifies the Field name containing the
lower deflection limits vs. Dynamic Pressure. If
low_def_limit_field="" then lower_def_limit value
will be used.
STRING cntrl_param_unit “Degrees” or “Rads”
STRING super_group_name Current SuperGroup name
Output:
INTEGER <Return Value> 0 = Success; otherwise there is a problem

Remarks:

None.
Example:

None.
Chapter 8: FlightLoads Functions 1767
Modeling Utilities

flds_nonlnr_cntrl_srf_mod ( device_name, new_dev_name, coord_label,


num_box, box_id_array, effectiveness,
ref_chord_len, ref_area, upper_def_limit,
lower_def_limit, is_up_mom_defined,
upper_mom_limit, is_lo_mom_defined,
lower_mom_limit, up_def_limit_field,
low_def_limit_field, cntrl_param_unit,
super_group_name )

Description:
This function modifies the specified Nonlinear Control Surface control device.
Input:
STRING device_name This value specifies the old name of the Nonlinear Control
Surface.
STRING new_dev_name This value specifies the new name of the Nonlinear Control
Surface.
INTEGER coord_label This value specifies the label of the rectangular coordinate
with y-axis defining the hinge line of the control surface
component.
INTEGER num_box This value specifies the number of box id’s specified in the
box_id_array.
INTEGER box_id_array() This value specifies the array of aerodynamic boxes/elements
making up the control surface component.
REAL effectiveness This value specifies the Control Device effectiveness.
REAL ref_chord_len This value specifies the reference chord length.
REAL ref_area This value specifies the reference area for the Control Device.
REAL upper_def_limit This value specifies the upper deflection limit (Radians).
REAL lower_def_limit This value specifies the lower deflection limit (Radians).
LOGICAL is_up_mom_defined TRUE: if the upper moment is defined; FALSE otherwise.
REAL upper_mom_limit This value specifies the upper hinge moment limit.
LOGICAL is_lo_mom_defined TRUE: if the lower moment is defined; FALSE otherwise.
REAL lower_mom_limit This value specifies the lower hinge moment limit.
STRING up_def_limit_field This value specifies the Field name containing the upper
deflection limits vs. Dynamic pressure. If
up_def_limit_field="" then upper_def_limit value will be
used.
1768 PCL Reference Manual
Modeling Utilities

STRING low_def_limit_field This value specifies the Field name containing the lower
deflection limits vs. Dynamic Pressure. If
low_def_limit_field="" then lower_def_limit value will be
used.
STRING cntrl_param_unit “Degrees” or “Rads”
STRING super_group_name Current SuperGroup name
Output:
INTEGER <Return Value> 0 = Success; otherwise there is a problem

Remarks:

None.
Example:

None.

flds_rigid_bdy_mot_cntrl_cre ( rbm_type, rbm_status,


super_group_name )

Description:
This function creates the Rigid Body Motion control device.
Input:
STRING rbm_type “ANGLEA”, “SIDES”, “ROLL”, “PITCH”, or “YAW”
STRING rbm_status “Linear”, “Nonlinear”, or “Do Not Create”
STRING super_group_name Name of the current SuperGroup. This is the SuperGroup the
rigid body motion will be associated with.
Output:
INTEGER <Return Value> 0 = Success; otherwise there is a problem

Remarks:

None.
Example:

None.
Chapter 8: FlightLoads Functions 1769
Modeling Utilities

flds_rigid_bdy_mot_cntrl_mod ( rbm_type, rbm_status, super_group_name )

Description:
This function modifies the specified Rigid Body Motion control device.
Input:
STRING rbm_type “ANGLEA”, “SIDES”, “ROLL”, “PITCH”, or “YAW”
STRING rbm_status “Linear”, “Nonlinear”, or “Do Not Create”
STRING super_group_name Name of the current SuperGroup. This is the SuperGroup the
rigid body motion will be associated with.
Output:
INTEGER <Return Value> 0 = Success; otherwise there is a problem

Remarks:

None.
Example:

None.

flds_rigid_body_mod_cntrl_get ( rbm_type, super_group_name, rbm_status )

Description:
This function gets the status of the specified Rigid Body Motion in the specified SuperGroup.
Input:
STRING rbm_type Name of the specified Rigid Body Motion (“ANGLEA”,
“SIDES”, “ROLL”, “PITCH”, or “YAW”)
STRING super_group_name Name of the current SuperGroup
Output:
STRING rbm_status “Linear”, “Nonlinear”, or “Do Not Create”
INTEGER <Return Value> 0 = Success; otherwise there is a problem

Remarks:

None.
Example:

None.
1770 PCL Reference Manual
Modeling Utilities

flat_plate_body_create ( body_name, body_orient, xyz1, x12,


starting_elem_id, interference_id, coordinate_id,
num_slender, slender_array, num_interf,
interf_array, half_width_array, interf_half_width,
interf_aspect_ratio, num_interf_theta,
interf_theta_array, keep_geom, exist_curve_name,
aero_coord_id )

Description:
This function creates the flat plate Aero body given the information available on a CAERO2 card, and
the coordinates of the point X1 and the body length.
Input:
STRING body_name This value specifies the user defined name of the body.
STRING body_orient This value specifies the orientation. (Z_BODY, Y_BODY,
ZY_BODY)
REAL xyz1 This value specifies the coordinates of the X1 point.
REAL x12 This value specifies the length of the body.
INTEGER starting_elem_id This value specifies the starting element ID.
INTEGER interference_id This value specifies the interference group ID.
INTEGER coordinate_id This value specifies the reference coordinate ID.
INTEGER num_slender This value specifies the number of seeds for slender body.
REAL slender_array This value specifies the seed array for slender body.
INTEGER num_interf This value specifies the number of seeds for interference
body.
REAL interf_array This value specifies the seed array for interference body.
REAL half_width_array This value specifies the slender body half width distribution.
REAL interf_half_width This value specifies the interference body half width value.
REAL interf_aspect_ratio This value specifies the interference body aspect ratio.
INTEGER num_interf_theta This value specifies the number of interference body theta
values.
REAL interf_theta_array This value specifies the interference body theta distribution.
LOGICAL keep_geom TRUE if the curve/points are to be kept; FALSE otherwise.
STRING exist_curve_name This value specifies the name of an existing curve("" if not
used).
INTEGER aero_coord_id This value specifies the label of the Aero coordinate system.
Output:
Chapter 8: FlightLoads Functions 1771
Modeling Utilities

INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
6026016 The group already exists in the database.
1 This is am internal status condition. There is no corresponding status message in the
message database.

Remarks:

None.
Example:

None.
1772 PCL Reference Manual
Modeling Utilities

flat_plate_body_modify ( body_name, starting_elem_id, interf_group_id,


coordinate_id, num_slender, slender_mesh,
num_interf, interf_mesh, slender_half_width,
num_theta, interf_body_theta, interf_half_width,
interf_aspect_ratio, new_body_name,
aero_coord_id )

Description:
This function modifies the specified flat plate body with the updated property/mesh values. The group
is updated with the new elements and nodes if necessary.
Input:
STRING body_name This value specifies the user defined name of the body.
INTEGER starting_elem_id This value specifies the starting element ID.
INTEGER interf_group_id This value specifies the interference group ID.
INTEGER coordinate_id This value specifies the reference coordinate system ID
for X1.
INTEGER num_slender This value specifies the number of slender mesh seeds.
REAL slender_mesh() This value specifies the array of mesh seed distribution
for the slender body.
INTEGER num_interf This value specifies the number of interference mesh
seeds.
REAL interf_mesh() This value specifies the array of mesh seed distribution
for the interference body.
REAL slender_half_widt This value specifies the array of slender body half width
h() distribution.
INTEGER num_theta This value specifies the number of theta values.
REAL interf_body_theta( This value specifies the array of interference body theta
) distribution.
REAL interf_half_width This value specifies the interference body half width
value.
REAL interf_aspect_rati This value specifies the interference body aspect ratio.
o
STRING new_body_name This value specifies the new name of the body.
INTEGER aero_coord_id This value specifies the ID of the Aero Coordinate
System.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an error.
Chapter 8: FlightLoads Functions 1773
Modeling Utilities

Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1 This is am internal status condition. There is no corresponding status message
in the message database.

Remarks:

None.
Example:

None.
1774 PCL Reference Manual
Modeling Utilities

flat_plate_cntrl_dev_create ( device_name, device_type,


coord_label, num_box, box_id_array,
effectiveness, ref_chord_len, ref_area,
upper_def_limit, lower_def_limit,
is_up_mom_defined, upper_mom_limit,
is_lo_mom_defined, lower_mom_limit,
up_def_limit_field, low_def_limit_field )

Description:
This function creates a Linear Control Surface control device given the information available on an
AESURF/AELIST cards.
Input:
STRING device_name This value specifies the name of the Control Device.
INTEGER device_type This value specifies the type. (1=SURFACE, 2=GIMBLE,
3=THRUST, 4=GENERAL)
INTEGER coord_label This value specifies the label of the rectangular coordinate
with y-axis defining the hinge line of the control surface
component.
INTEGER num_box This value specifies the number of box id’s specified in the
box_id_array.
INTEGER box_id_array() This value specifies the array of aerodynamic boxes/elements
making up the control surface component.
REAL effectiveness This value specifies the Control Device effectiveness.
REAL ref_chord_len This value specifies the reference chord length.
REAL ref_area This value specifies the reference area for the Control Device.
REAL upper_def_limit This value specifies the upper deflection limit (Radians).
REAL lower_def_limit This value specifies the lower deflection limit (Radians).
LOGICAL is_up_mom_defined TRUE: if the upper moment is defined; FALSE otherwise.
REAL upper_mom_limit This value specifies the upper hinge moment limit.
LOGICAL is_lo_mom_defined TRUE: if the lower moment is defined; FALSE otherwise.
REAL lower_mom_limit This value specifies the lower hinge moment limit.
STRING up_def_limit_field This value specifies the Field name containing the upper
deflection limits vs. Dynamic pressure. If
up_def_limit_field="" then upper_def_limit value will be
used.
Chapter 8: FlightLoads Functions 1775
Modeling Utilities

STRING low_def_limit_field This value specifies the Field name containing the lower
deflection limits vs. Dynamic Pressure. If
low_def_limit_field="" then lower_def_limit value will be
used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1 This is am internal status condition. There is no corresponding status message in the
message database.

Remarks:

None.
Example:

None.
1776 PCL Reference Manual
Modeling Utilities

flat_plate_cntrl_dev_modify ( device_name, new_device_name,


device_type, coord_label, num_box,
box_id_array, effectiveness, ref_chord_len,
ref_area, upper_def_limit, lower_def_limit,
is_up_mom_defined, upper_mom_limit,
is_lo_mom_defined, lower_mom_limit,
up_def_limit_field, low_def_limit_field )

Description:
This function modifies the specified Linear Control Surface.
Input:
STRING device_name This value specifies the name of the Control Device.
STRING new_device_name This value specifies the new name of the Control Device.
INTEGER device_type This value specifies the type. (1=SURFACE, 2=GIMBLE,
3=THRUST, 4=GENERAL)
INTEGER coord_label This value specifies the label of the rectangular coordinate
with y-axis defining the hinge line of the control surface
component.
INTEGER num_box This value specifies the number of box id’s specified in the
box_id_array.
INTEGER box_id_array() This value specifies the array of aerodynamic boxes/elements
making up the control surface component.
REAL effectiveness This value specifies the Control Device effectiveness.
REAL ref_chord_len This value specifies the reference chord length.
REAL ref_area This value specifies the reference area for the Control Device.
REAL upper_def_limit This value specifies the upper deflection limit (Radians).
REAL lower_def_limit This value specifies the lower deflection limit (Radians).
LOGICAL is_up_mom_defined TRUE: if the upper moment is defined; FALSE otherwise.
REAL upper_mom_limit This value specifies the upper hinge moment limit.
LOGICAL is_lo_mom_defined TRUE: if the lower moment is defined; FALSE otherwise.
REAL lower_mom_limit This value specifies the lower hinge moment limit.
STRING up_def_limit_field This value specifies the Field name containing the upper
deflection limits vs. Dynamic pressure. If
up_def_limit_field="" then upper_def_limit value will be
used.
Chapter 8: FlightLoads Functions 1777
Modeling Utilities

STRING low_def_limit_field This value specifies the Field name containing the lower
deflection limits vs. Dynamic Pressure. If
low_def_limit_field="" then lower_def_limit value will be
used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1 This is am internal status condition. There is no corresponding status message in the
message database.

Remarks:

None.
Example:

None.
1778 PCL Reference Manual
Modeling Utilities

flat_plate_surf_create ( surf_name, xyz1, xyz4, x12, x43,


starting_elem_id, interference_id,
coordinate_id, body_flag, num_bodies,
body_name_array, num_span,
num_chord, span_array, chord_array,
keep_geom, exist_surf_name,
aero_coord_id, auto_connect)

Description:
This function creates the flat plate surface given the information available on a CAERO card, and
the coordinates of the points X1, X4, and the chord lengths X12 and X43.
Input:
STRING surf_name This value specifies the user defined name of the surface.
REAL xyz1() This value specifies the coordinates of Point 1 in
coordinate_id frame.
REAL xyz4() This value specifies the coordinates of Point 4 in
coordinate_id frame.
REAL x12 This value specifies the X12 edge chord length in the
Aerodynamic coordinate system.
REAL x43 This value specifies the X43 edge chord length in the
Aerodynamic coordinate system.
INTEGER starting_elem_id This value specifies the starting element ID
INTEGER interference_id This value specifies the interference ID.
INTEGER coordinate_id This value specifies the reference coordinate system ID for
X1 and X4.
STRING body_flag This value specifies the body flag. ("None", "All", "All
IGID", "Select")
INTEGER num_bodies This value specifies the number of bodies.
STRING body_name_array( This value specifies the array of body names. (Only used if
) the body_flag is "Select")
INTEGER num_span This value specifies the number of seeds in span direction.
INTEGER num_chord This value specifies the number of seeds in chord direction.
REAL span_array() This value specifies the seed array in the span direction.
REAL chord_array() This value specifies the seed array in the chord direction.
LOGICAL keep_geom TRUE: if the surface/points are to be kept; FALSE otherwise.
STRING exist_surf_name This value specifies the name of an existing surface ("" if not
used)
Chapter 8: FlightLoads Functions 1779
Modeling Utilities

INTEGER aero_coord_id This value specifies the Aero coordinate system id.
LOGICAL auto_connect TRUE if the surface connectivity is to be automatically reset
such that Y4 >= Y1. Where Y1 is the Y coordinate of Point 1
in the Aero coordinate system, Y4 is the Y coordinate of Point
4 in the Aero coordinate system following the right hand rule.
FALSE if the user defined connection is to be used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
6026016 The group already exists in the database.
1 This is am internal status condition. There is no corresponding status message in the
message database.

Remarks:

None.
Example:

None.
1780 PCL Reference Manual
Modeling Utilities

flat_plate_surf_modify ( surf_name, starting_elem_id, interference_id,


coordinate_id, body_flag, num_bodies,
body_name_array, num_span, span_array, num_chord,
chord_array, new_surf_name, aero_coord_id )

Description:
This function modifies the specified flat plate surface with the updated property/mesh values. The
group is updated with the new elements and nodes if necessary.
Input:
STRING surf_name This value specifies the user defined name of the surface.
INTEGER starting_elem_id This value specifies the starting element ID
INTEGER interference_id This value specifies the interference ID.
INTEGER coordinate_id This value specifies the reference coordinate system ID for X1
and X4.
STRING body_flag This value specifies the body flag. ("None", "All", "All IGID",
"Select")
INTEGER num_bodies This value specifies the number of bodies.
STRING body_name_array() This value specifies the array of body names. (Only used if the
body_flag is "Select")
INTEGER num_span This value specifies the number of seeds in span direction.
REAL span_array() This value specifies the seed array in the span direction.
INTEGER num_chord This value specifies the number of seeds in chord direction.
REAL chord_array() This value specifies the seed array in the chord direction.
STRING new_surf_name This value specifies the new name of the surface.
INTEGER aero_coord_id This value specifies the Aero coordinate system id.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
1 This is am internal status condition. There is no corresponding status message in the
message database.
Chapter 8: FlightLoads Functions 1781
Modeling Utilities

Remarks:

None.
Example:

None.
1782 PCL Reference Manual
AeroDynamic Utilities

AeroDynamic Utilities
This section explains the functions that are used in defining the Flight Loads dynamics and maintaining
it and its environment.
.

flds_steady_aerodyn_forceq_cre ( vector_name, coord_label, xz_sym,


xy_sym, mach_num, num_of_rbm,
rbm_values, num_of_cntrl_devs,
cntrl_dev_values, lbc_set_sf, force,
moment, force_type )

Description:
This function creates the Aerodynamic Force/Q vector.
Input:
STRING vector_name Name of the Force/Q vector
INTEGER coord_label The label of the coordinate frame
INTEGER xz_sym The label of the XZ Symmetry
INTEGER xy_sym The label of the XY Symmetry
REAL mach_num The Mach number
INTEGER num_of_rbm The number of Rigid Body Motions defined
REAL rbm_values() Array of all the defined Rigid Body Motion values
INTEGER num_of_cntrl_dev The number of Control Devices defined. This includes
s General Controllers and both the linear and nonlinear
Control Surfaces.
REAL cntrl_dev_values() Array of all the defined Control Device values
REAL lbc_set_sf The Load.BC Set Scale Factor
INTEGER force The id of the Force field
INTEGER moment The id of the Moment field
STRING force_type Force Type: “Structural” or “Aero”
Output:
None.

Remarks:

None.
Example:

None
Chapter 8: FlightLoads Functions 1783
AeroDynamic Utilities

flds_steady_aerodyn_forceq_get ( vector_name, coord_label, xz_sym,


xy_sym, mach_num, num_of_rbm,
rbm_values, num_of_cntrl_devs,
cntrl_dev_values, lbc_set_sf, force,
moment, force_type )

Description:
This function gets the data for the specified Aerodynamic Force/Q vector.
Input:
STRING vector_name Name of the Force/Q vector to get
Output:
INTEGER coord_label The label of the coordinate frame
INTEGER xz_sym The label of the XZ Symmetry
INTEGER xy_sym The label of the XY Symmetry
REAL mach_num The Mach number
INTEGER num_of_rbm The number of Rigid Body Motions defined
REAL rbm_values() Array of all the defined Rigid Body Motion values
INTEGER num_of_cntrl_devs The number of Control Devices defined. This includes
General Controllers and both the linear and nonlinear
Control Surfaces.
REAL cntrl_dev_values() Array of all the defined Control Device values
REAL lbc_set_sf The Load.BC Set Scale Factor
INTEGER force The id of the Force field
INTEGER moment The id of the Moment field
STRING force_type Force Type: “Structural” or “Aero”

Remarks:

None.
Example:

None.
1784 PCL Reference Manual
AeroDynamic Utilities

flds_steady_aerodyn_forceq_mod ( vector_name, coord_label,


xz_sym, xy_sym, mach_num,
num_of_rbm, rbm_values,
num_of_cntrl_devs,
cntrl_dev_values, lbc_set_sf,
force, moment, force_type )

Description:
This function modifies the specified Aerodynamic Force/Q vector.
Input:
STRING vector_name Name of the Force/Q vector to modify
INTEGER coord_label The label of the coordinate frame
INTEGER xz_sym The label of the XZ Symmetry
INTEGER xy_sym The label of the XY Symmetry
REAL mach_num The Mach number
INTEGER num_of_rbm The number of Rigid Body Motions defined
REAL rbm_values() Array of all the defined Rigid Body Motion values
INTEGER num_of_cntrl_devs The number of Control Devices defined. This includes
General Controllers and both the linear and nonlinear Control
Surfaces.
REAL cntrl_dev_values() Array of all the defined Control Device values
REAL lbc_set_sf The Load.BC Set Scale Factor
INTEGER force The id of the Force field
INTEGER moment The id of the Moment field
STRING force_type Force Type: “Structural” or “Aero”
Output:
None.

Remarks:

None.
Example:

None.
Chapter 8: FlightLoads Functions 1785
AeroDynamic Utilities

flds_steady_aerodyn_nwashq_cre ( vector_name, coord_label, xz_sym,


xy_sym, mach_num, num_of_rbm,
rbm_values, num_of_cntrl_devs,
cntrl_dev_values, lbc_set_sf,
norm_wash )

Description:
This function creates the Aerodynamic Normalwash/Q vector.
Input:
STRING vector_name Name of the Normalwash/Q vector
INTEGER coord_label The label of the coordinate frame
INTEGER xz_sym The label of the XZ Symmetry
INTEGER xy_sym The label of the XY Symmetry
REAL mach_num The Mach number
INTEGER num_of_rbm The number of Rigid Body Motions defined
REAL rbm_values() Array of all the defined Rigid Body Motion values
INTEGER num_of_cntrl_devs The number of Control Devices defined. This includes
General Controllers and both the linear and nonlinear Control
Surfaces.
REAL cntrl_dev_values() Array of all the defined Control Device values
REAL lbc_set_sf The Load.BC Set Scale Factor
INTEGER norm_wash The id of the Normalwash field
Output:
None.

Remarks:

None.
Example:

None.
1786 PCL Reference Manual
AeroDynamic Utilities

flds_steady_aerodyn_nwashq_get ( vector_name, coord_label, xz_sym,


xy_sym, mach_num, num_of_rbm,
rbm_values, num_of_cntrl_devs,
cntrl_dev_values, lbc_set_sf,
norm_wash )

Description:
This function gets the data for the specified Aerodynamic Normalwash/Q vector.
Input:
STRING vector_name Name of the Normalwash/Q vector to get
Output:
INTEGER coord_label The label of the coordinate frame
INTEGER xz_sym The label of the XZ Symmetry
INTEGER xy_sym The label of the XY Symmetry
REAL mach_num The Mach number
INTEGER num_of_rbm The number of Rigid Body Motions defined
REAL rbm_values() Array of all the defined Rigid Body Motion values
INTEGER num_of_cntrl_devs The number of Control Devices defined. This includes
General Controllers and both the linear and nonlinear
Control Surfaces.
REAL cntrl_dev_values() Array of all the defined Control Device values
REAL lbc_set_sf The Load.BC Set Scale Factor
INTEGER norm_wash The id of the Normalwash field

Remarks:

None.
Example:

None.
Chapter 8: FlightLoads Functions 1787
AeroDynamic Utilities

flds_steady_aerodyn_nwashq_mod ( vector_name, coord_label, xz_sym,


xy_sym, mach_num, num_of_rbm,
rbm_values, num_of_cntrl_devs,
cntrl_dev_values, lbc_set_sf,
norm_wash )

Description:
This function modifies the specified Aerodynamic Normalwas/Q vector.
Input:
STRING vector_name Name of the Normalwash/Q vector to modify
INTEGER coord_label The label of the coordinate frame
INTEGER xz_sym The label of the XZ Symmetry
INTEGER xy_sym The label of the XY Symmetry
REAL mach_num The Mach number
INTEGER num_of_rbm The number of Rigid Body Motions defined
REAL rbm_values() Array of all the defined Rigid Body Motion values
INTEGER num_of_cntrl_devs The number of Control Devices defined. This includes
General Controllers and both the linear and nonlinear
Control Surfaces.
REAL cntrl_dev_values() Array of all the defined Control Device values
REAL lbc_set_sf The Load.BC Set Scale Factor
INTEGER norm_wash The id of the Normalwash field
Output:
None.

Remarks:

None.
Example:

None.
1788 PCL Reference Manual
AeroDynamic Utilities

flds_steady_aerodyn_pressq_cre ( vector_name, coord_label, xz_sym,


xy_sym, mach_num, num_of_rbm,
rbm_values, num_of_cntrl_devs,
cntrl_dev_values, lbc_set_sf, top_pres,
bot_pres, num_box )

Description:
This function creates the Aerodynamic Pressure/Q vector.
Input:
STRING vector_name Name of the Pressure/Q vector
INTEGER coord_label The label of the coordinate frame
INTEGER xz_sym The label of the XZ Symmetry
INTEGER xy_sym The label of the XY Symmetry
REAL mach_num The Mach number
INTEGER num_of_rbm The number of Rigid Body Motions defined
REAL rbm_values() Array of all the defined Rigid Body Motion values
INTEGER num_of_cntrl_devs The number of Control Devices defined. This
includes General Controllers and both the linear and
nonlinear Control Surfaces.
REAL cntrl_dev_values() Array of all the defined Control Device values
REAL lbc_set_sf The Load.BC Set Scale Factor
INTEGER top_pres The id of the Top Surface Pressure field
INTEGER bot_pres The id of the Bottom/Delta Surface Pressure field
INTEGER num_box A flag identifying if both the Top and the Bottom
Pressure
Output:
None.

Remarks:

None.
Example:

None.
Chapter 8: FlightLoads Functions 1789
AeroDynamic Utilities

flds_steady_aerodyn_pressq_get ( vector_name, coord_label, xz_sym,


xy_sym, mach_num, num_of_rbm,
rbm_values, num_of_cntrl_devs,
cntrl_dev_values, lbc_set_sf, top_pres,
bot_pres, num_box )

Description:
This function gets the data for the specified Aerodynamic Pressure/Q vector.
Input:
STRING vector_name Name of the Pressure/Q vector to get
Output:
INTEGER coord_label The label of the coordinate frame
INTEGER xz_sym The label of the XZ Symmetry
INTEGER xy_sym The label of the XY Symmetry
REAL mach_num The Mach number
INTEGER num_of_rbm The number of Rigid Body Motions defined
REAL rbm_values() Array of all the defined Rigid Body Motion values
INTEGER num_of_cntrl_devs The number of Control Devices defined. This includes
General Controllers and both the linear and nonlinear
Control Surfaces.
REAL cntrl_dev_values() Array of all the defined Control Device values
REAL lbc_set_sf The Load.BC Set Scale Factor
INTEGER top_pres The id of the Top Surface Pressure field
INTEGER bot_pres The id of the Bottom/Delta Surface Pressure field
INTEGER num_box A flag identifying if both the Top and the Bottom
Pressure

Remarks:

None.
Example:

None.
1790 PCL Reference Manual
AeroDynamic Utilities

flds_steady_aerodyn_pressq_mod ( vector_name, coord_label,


xz_sym, xy_sym, mach_num,
num_of_rbm, rbm_values,
num_of_cntrl_devs,
cntrl_dev_values, lbc_set_sf,
top_pres, bot_pres, num_box )

Description:
This function modifies the specified Aerodynamic Pressure/Q vector.
Input:
STRING vector_name Name of the Pressure/Q vector to modify
INTEGER coord_label The label of the coordinate frame
INTEGER xz_sym The label of the XZ Symmetry
INTEGER xy_sym The label of the XY Symmetry
REAL mach_num The Mach number
INTEGER num_of_rbm The number of Rigid Body Motions defined
REAL rbm_values() Array of all the defined Rigid Body Motion values
INTEGER num_of_cntrl_dev The number of Control Devices defined. This includes
s General Controllers and both the linear and nonlinear
Control Surfaces.
REAL cntrl_dev_values() Array of all the defined Control Device values
REAL lbc_set_sf The Load.BC Set Scale Factor
INTEGER top_pres The id of the Top Surface Pressure field
INTEGER bot_pres The id of the Bottom/Delta Surface Pressure field
INTEGER num_box A flag identifying if both the Top and the Bottom
Pressure
Output:
None.

Remarks:

None.
Example:

None.
Chapter 8: FlightLoads Functions 1791
AeroElastic Utilities

AeroElastic Utilities
This section explains the functions that are used in defining the Flight Loads elasticity and maintaining
it and its environment.

flds_beam_spline_create ( spline_name, spline_method, dimension,


num_struc_nodes, struc_node_ids, aero_type,
num_aero_elems, aero_elem_ids, bdy_surf_id,
ref_cid, linear, x_rotation, y_rotation,
z_rotation, xy_tflex, zy_tflex )

Description:
This function creates the Beam Splines given the information available on the SPLINE5 card.
Input:
STRING spline_name This value specifies the name of the Spline.
INTEGER spline_method This value specifies the spline method. (1=GENERAL,
2=DISPLACEMENT, 3=FORCE)
INTEGER dimension This value specifies the dimension value. (1=1D, 2=2D)
INTEGER num_struc_nodes This value specifies the number of Structural nodes
specified.
INTEGER struc_node_ids() This value specifies the array of Structural node ids.
INTEGER aero_type This value specifies the type of the Aero data. (1=BODY,
2=SURFACE)
INTEGER num_aero_elems This value specifies the number of Aero elements specified.
INTEGER aero_elem_ids() This value specifies the array of Aero element ids.
INTEGER bdy_surf_id This value specifies the ID of the Body/Surface that the
selected Aero elements belong to.
INTEGER ref_cid, This value specifies the Reference CID value.
REAL linear This value specifies the Linear Attach Flexibility value.
REAL x_rotation This value specifies the X-Rotation value.
REAL y_rotation This value specifies the Y-Rotation value.
REAL z_rotation This value specifies the Z-Rotation value.
REAL xy_tflex This value specifies the XY Torsion Flexibility value.
REAL zy_tflex This value specifies the ZY Torsion Flexibility value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an error.
Error Conditions:
1792 PCL Reference Manual
AeroElastic Utilities

3001003 %A% is an invalid Load Case Type. Must be Static or Time Dependent.
13000085 Cursor not open
13000117 The query specified has completed
14000001 LpGetHeapSpace: Allocated heapspace is exhausted
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR
14000006 LpSublistType: In the list being used, the current geometry sublist is
unclassifiable
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable
14000010 LpSublistType: In the list being used, the current sublist does not match the
sublist filter
14000014 LpSublistNext: Attempt to proceed past last sublist in current list
14000015 LpSublistNext: End of current list has been reached
14000201 Invalid output string specified for call
26001010 Load/BC Definition %A% does not exist.
26002010 Load/BC Name is blank. Input a Load/BC Name.
26002011 Load/BC Name %A% is too long. Input 31 characters or less.
26002121 %I% is an invalid number of application regions for the specified Load/BC
definition.
26002134 The list %A% contains FEM or unknown GEOmetric entities. All the entities in
the application region(s) must be GEOmetric.
26002135 The list %A% contains GEOmetric or unknown FEM entities. All the entities in
the application region(s) must be FEM.
26002136 %A% is an invalid Geometry Filter. Must be Geometry or FEM.
26002200 There was no data input for this Load/BC Set.
26002201 %I% is an invalid number of input data fields for the specified Load/BC
definition.
26006001 Database error encountered: %I%. Call PDA Hotline.
1 This is am internal status condition. There is no corresponding status message in
the message database.
Chapter 8: FlightLoads Functions 1793
AeroElastic Utilities

Remarks:

None.
Example:

None.

flds_beam_spline_modify ( spline_name, new_spline_name,


spline_method, dimension, num_struc_nodes,
struc_node_ids, aero_type, num_aero_elems,
aero_elem_ids, bdy_surf_id, ref_cid, linear,
x_rotation, y_rotation, z_rotation, xy_tflex,
zy_tflex )

Description:
This function modifies the Beam Splines given the information available on the SPLINE5 card.
Input:
STRING spline_name This value specifies the name of the Spline.
STRING new_spline_name This value specifies the new Spline name.
INTEGER spline_method This value specifies the spline method. (1=GENERAL,
2=DISPLACEMENT, 3=FORCE)
INTEGER dimension This value specifies the dimension value. (1=1D, 2=2D)
INTEGER num_struc_nodes This value specifies the number of Structural nodes specified.
INTEGER struc_node_ids() This value specifies the array of Structural node ids.
INTEGER aero_type This value specifies the type of the Aero data. (1=BODY,
2=SURFACE)
INTEGER num_aero_elems This value specifies the number of Aero elements specified.
INTEGER aero_elem_ids() This value specifies the array of Aero element ids.
INTEGER bdy_surf_id This value specifies the ID of the Body/Surface that the
selected Aero elements belong to.
INTEGER ref_cid, This value specifies the Reference CID value.
REAL linear This value specifies the Linear Attach Flexibility value.
REAL x_rotation This value specifies the X-Rotation value.
REAL y_rotation This value specifies the Y-Rotation value.
REAL z_rotation This value specifies the Z-Rotation value.
REAL xy_tflex This value specifies the XY Torsion Flexibility value.
REAL zy_tflex This value specifies the ZY Torsion Flexibility value.
Output:
1794 PCL Reference Manual
AeroElastic Utilities

INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate an error.
Error Conditions:
3001003 %A% is an invalid Load Case Type. Must be Static or Time Dependent.
13000085 Cursor not open
13000103 No LBC was found
13000117 The query specified has completed
14000001 LpGetHeapSpace: Allocated heapspace is exhausted
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter
14000014 LpSublistNext: Attempt to proceed past last sublist in current list
14000015 LpSublistNext: End of current list has been reached
14000201 Invalid output string specified for call
26001010 Load/BC Definition %A% does not exist.
26002011 Load/BC Name %A% is too long. Input 31 characters or less.
26002030 %A% already exists. Modify not permitted.
26002121 %I% is an invalid number of application regions for the specified Load/BC
definition.
26002134 The list %A% contains FEM or unknown GEOmetric entities. All the entities in the
application region(s) must be GEOmetric.
26002135 The list %A% contains GEOmetric or unknown FEM entities. All the entities in the
application region(s) must be FEM.
26002136 %A% is an invalid Geometry Filter. Must be Geometry or FEM.
26002200 There was no data input for this Load/BC Set.
26002201 %I% is an invalid number of input data fields for the specified Load/BC definition.
26002701 Load/BC set cannot be renamed to blank.
26002703 No existing Load/BC set is selected.
Chapter 8: FlightLoads Functions 1795
AeroElastic Utilities

26006001 Database error encountered: %I%. Call PDA Hotline.


26006004 Dynamic memory allocation error encountered.
1 This is am internal status condition. There is no corresponding status message in the
message database.

Remarks:

None.
Example:

None

flds_elas_verify_aero_elems ( type, num_elems, elem_ids, reg_id )

Description:
This function verifies that the list of element ids are all Aero elements.
Input:
STRING type Type of element property sets to be allowed
INTEGER num_elems Number of elements to be verified
INTEGER elem_ids() Array listing the element ids to be verified
Output:
INTEGER reg_id The id of the region the selected Aero elements belong to
INTEGER. <Return Value> 0 = Success; 1=Failure

Remarks:

None.
Example:

None
1796 PCL Reference Manual
AeroElastic Utilities

flds_spline_verify_disp ( splines, case_name, subcase_name,


primary_name, animate_active, three_on,
num_frames )

Description:
This function display the results of the Spline verification.
Input:
STRING splines() This value specifies the array of selected spline names.
STRING case_name This value specifies the structural load case name.
STRING subcase_name This value specifies the selected spline result condition.
STRING primary_name This value specifies the name of the result type. (Displacements
or Eigenvectors)
LOGICAL animate_active TRUE: if the results are to be animated; FALSE otherwise.
LOGICAL three_on TRUE: if a 3D animation is to be done; FALSE otherwise.
INTEGER num_frames This value specifies the number of frames to show if
animate_active is TRUE.
Output:
None.

Remarks:

None.
Example:

None.
Chapter 8: FlightLoads Functions 1797
AeroElastic Utilities

flds_surf_spline_create ( spline_name, spline_method, num_struc_nodes,


struc_node_ids, num_aero_elems,
aero_elem_ids, surf_id, linear_attach_flex, type,
x_axis, y_axis )

Description:
This function creates the Surface Splines given the information available on the SPLINE4 card.
Input:
STRING spline_name This value specifies the name of the Spline.
INTEGER spline_method This value specifies the spline method.
(1=GENERAL, 2=DISPLACEMENT, 3=FORCE)
INTEGER num_struc_nodes This value specifies the number of Structural nodes
specified.
INTEGER struc_node_ids() This value specifies the array of Structural node ids.
INTEGER num_aero_elems This value specifies the number of Aero elements
specified.
INTEGER aero_elem_ids() This value specifies the array of Aero element ids.
INTEGER surf_id This value specifies the ID of the Surface that the
selected Aero elements belong to.
REAL linear_attach_flex This value specifies the Linear Attach Flexibility
value.
INTEGER type This value specifies the type.
(1=HARDER_DESM, 2=THIN_PLATE,
3=FINITE_PLATE)
INTEGER x_axis This value specifies the number of X-axis elements.
INTEGER y_axis This value specifies the number of Y-axis elements.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate an
error.
Error Conditions:
3001003 %A% is an invalid Load Case Type. Must be Static or Time Dependent.
13000085 Cursor not open
13000117 The query specified has completed
14000001 LpGetHeapSpace: Allocated heapspace is exhausted
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
1798 PCL Reference Manual
AeroElastic Utilities

14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR
14000006 LpSublistType: In the list being used, the current geometry sublist is
unclassifiable
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable
14000010 LpSublistType: In the list being used, the current sublist does not match the
sublist filter
14000014 LpSublistNext: Attempt to proceed past last sublist in current list
14000015 LpSublistNext: End of current list has been reached
14000201 Invalid output string specified for call
26001010 Load/BC Definition %A% does not exist.
26002010 Load/BC Name is blank. Input a Load/BC Name.
26002011 Load/BC Name %A% is too long. Input 31 characters or less.
26002121 %I% is an invalid number of application regions for the specified Load/BC
definition.
26002134 The list %A% contains FEM or unknown GEOmetric entities. All the entities
in the application region(s) must be GEOmetric.
26002135 The list %A% contains GEOmetric or unknown FEM entities. All the entities
in the application region(s) must be FEM.
26002136 %A% is an invalid Geometry Filter. Must be Geometry or FEM.
26002200 There was no data input for this Load/BC Set.
26002201 %I% is an invalid number of input data fields for the specified Load/BC
definition.
26006001 Database error encountered: %I%. Call PDA Hotline.
1 This is am internal status condition. There is no corresponding status message
in the message database.

Remarks:

None.
Example:

None.
Chapter 8: FlightLoads Functions 1799
AeroElastic Utilities

flds_surf_spline_modify ( spline_name, new_spline_name, spline_method,


num_struc_nodes, struc_node_ids,
num_aero_elems, aero_elem_ids, surf_id,
linear_attach_flex, type, x_axis, y_axis )

Description:
This function modifies the Surface Splines given the information available on the SPLINE4 card.
Input:
STRING spline_name This value specifies the name of the Spline.
STRING new_spline_name This value specifies the new Spline name.
INTEGER spline_method This value specifies the spline method. (1=GENERAL,
2=DISPLACEMENT, 3=FORCE)
INTEGER num_struc_nodes This value specifies the number of Structural nodes specified.
INTEGER struc_node_ids() This value specifies the array of Structural node ids.
INTEGER num_aero_elems This value specifies the number of Aero elements specified.
INTEGER aero_elem_ids() This value specifies the array of Aero element ids.
INTEGER surf_id This value specifies the ID of the Surface that the selected Aero
elements belong to.
REAL linear_attach_flex This value specifies the Linear Attach Flexibility value.
INTEGER type This value specifies the type. (1=HARDER_DESM,
2=THIN_PLATE, 3=FINITE_PLATE)
INTEGER x_axis This value specifies the number of X-axis elements.
INTEGER y_axis This value specifies the number of Y-axis elements.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate an error.
Error Conditions:
3001003 %A% is an invalid Load Case Type. Must be Static or Time Dependent.
13000085 Cursor not open
13000103 No LBC was found
13000117 The query specified has completed
14000001 LpGetHeapSpace: Allocated heapspace is exhausted
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR
1800 PCL Reference Manual
AeroElastic Utilities

14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter
14000014 LpSublistNext: Attempt to proceed past last sublist in current list
14000015 LpSublistNext: End of current list has been reached
14000201 Invalid output string specified for call
26001010 Load/BC Definition %A% does not exist.
26002011 Load/BC Name %A% is too long. Input 31 characters or less.
26002030 %A% already exists. Modify not permitted.
26002121 %I% is an invalid number of application regions for the specified Load/BC definition.
26002134 The list %A% contains FEM or unknown GEOmetric entities. All the entities in the
application region(s) must be GEOmetric.
26002135 The list %A% contains GEOmetric or unknown FEM entities. All the entities in the
application region(s) must be FEM.
26002136 %A% is an invalid Geometry Filter. Must be Geometry or FEM.
26002200 There was no data input for this Load/BC Set.
26002201 %I% is an invalid number of input data fields for the specified Load/BC definition.
26002701 Load/BC set cannot be renamed to blank.
26002703 No existing Load/BC set is selected.
26006001 Database error encountered: %I%. Call PDA Hotline.
26006004 Dynamic memory allocation error encountered.
1 This is am internal status condition. There is no corresponding status message in the
message database.

Remarks:

None.
Example:

None.
Chapter 8: FlightLoads Functions 1801
Loadsbrowser Utilities

Loadsbrowser Utilities
This section explains the functions that are used in defining the Flight Loads loadsbrowser and
maintianing it and its environment.

flds_lb_export_loads ( rc_ids, load_set_list, output_file, write_nodes )

Description:
This function writes forces cards from specified data source.
Input:
INTEGER rc_ids() This value specifies the result case definition arrray:

res_ids(i,1) = Loadcase Id

res_ids(i,2) = Subcase Id

res_ids(i,3) = Primary Result Id

res_ids(i,4) = Secondary Result Id

res_ids(i,5) = Layer Id
STRING load_set_list This value specifies the list of load set ids.
STRING output_file This value specifies the output file name.
LOGICAL write_nodes TRUE: GRID cards will be written; FALSE otherwise.
Output:
None.

Remarks:

None.
Example:

None.
1802 PCL Reference Manual
Loadsbrowser Utilities
Chapter 9: Preference Functions
PCL Reference Manual

9 Preference Functions


Introduction 1808

Analysis Preferences 1809

Global Preferences 1812

Graphics Preferences 1825

Report Preferences 1854

Geometry Preferences 1857

Finite Element Preferences 1861
1808 PCL Reference Manual
Introduction

Introduction
This chapter documents functions that are used to control some of the settings or preferences used by
many of the other forms used in Patran. Many of these functions are used in the implementation of the
“Preferences” menu bar item.
This chapter presents function descriptions in seven separate sections:

Analysis Preferences This section is used to describe some of the functions used to
govern some of the preferences used with the analysis of a model.
Global Preferences This section is used to describe some of the functions used to
govern some of the preferences used to control the global
behavior of Patran.
Graphics Preferences This section is used to describe some of the functions used to
govern some of the preferences used to control how graphics are
displayed to the user.
Report Preferences This section is used to describe some of the functions used to
govern some of the preferences used to control the generation of
reports.
Geometry Preferences This section is used to describe some of the functions used to
govern some of the preferences used to define how geometry is
interpreted.
Finite Element Preferences This section is used to describe some of the functions used to
govern some of the preferences used with finite element model
elements.
Chapter 9: Preference Functions 1809
Analysis Preferences

Analysis Preferences
This section is used to describe some of the functions used to govern some of the preferences used with
the analysis of a model.

uil_pref_analysis.set_analysis_pref (analysis_code, analysis_type,


input_file_suffix, output_file_suffix)

Description:
This function changes the analysis preferences of the current database.
Input:
STRING analysis_code[31] This value specifies the analysis code or the name of the
solver to be used. See the remarks below for more
information.
STRING analysis_type[31] This value specifies the type of analysis provided by the
solver. See the remarks below for more information.
STRING input_file_suffix This value specifies the default suffix for the chosen analysis
[4] code’s input files. See the remarks below for more
information.
STRING output_file_suffi This value specifies the default suffix for output files from
x[4] the chosen analysis code. See the remarks below for more
information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form that is displayed when “Preferences”,
“Analysis...” is selected from the menu bar.
Many of the forms and menus in Patran are dependent upon the settings represented by the input values
analysis_code and analysis_type. Changing these values can modify the contents of many of these forms
and menus. Calling the function ui_wid_refresh() after this function is called will update any forms or
menus that are currently displayed and make use of the analysis code and type values.
In previous releases of Patran, analysis preferences were changed with a function sequence as follows:
sys_library( “add”, * )

pref_anal_set ( anal_code, anal_type, input_file_suffix,@

output_file_suffix )
1810 PCL Reference Manual
Analysis Preferences

sys_library( “remove”, * )

This sequence will still work but is obsolete and all three of these calls should be replaced with the new
PCL function described above.
Another obsolete function which might appear in old Patran session or journal files and should be
replaced is:
uil_pref_setcode.save_anal_values ( anal_code, anal_type,@

input_file_suffix, output_file_suffix )

The input values analysis_code, analysis_type can have the following values. Note that the value allowed
for the analysis_type is dependent on the value used for the analysis_code. The default values for the
input value input_file_suffix and output_file_suffix are listed as well:
Chapter 9: Preference Functions 1811
Analysis Preferences

Analysis code Analysis type Input suffix Output suffix

ABAQUS Structural .inp .fil


ABAQUS Thermal .inp .fil
ANSYS Structural .prp 12.*
ANSYS Thermal .prp 12.*
ANSYS 5 Structural .prp .rst
ANSYS 5 Thermal .prp .rst
MARC K5 Structural .dat .t16
MARC K5 Thermal .dat .t16
MARC K6 Structural .dat .t16
MARC K6 Thermal .dat .t16
MSC Nastran Structural .bdf .op2
MSC Nastran Thermal .bdf .op2
Structural .ntl .res
Patran FEA
Thermal .ntl .res
Patran FEA
Structural .fil
Patran Advance FEA
Thermal .fil
Patran Advance FEA
Thermal .ntl .nrf
Patran Thermal
Structural .out .out
Patran 2 NF
Thermal .out .out
Patran 2 NF

Example:

Please see uil_pref_analysis.set_analysis_pref.


1812 PCL Reference Manual
Global Preferences

Global Preferences
This section is used to describe some of the functions used to govern some of the preferences used to
control the global behavior of Patran
.

pref_geo_get_v1 (default_coord_frame, geometric_tolerance, working_plane)

Description:
This function will get geometry preference settings.
Input:
None.
Output:
INTEGER default_coord_frame This value returns the identifier value for the default
coordinate frame.
REAL geometric_tolerance This value returns the relative geometric tolerance.
INTEGER working_plane This value returns the value defining the default working
plane relative to the default coordinate frame.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form that is displayed when “Preferences”, “Global...”
is selected from the menu bar.
Example:

Please see pref_geo_get_v1.


Chapter 9: Preference Functions 1813
Global Preferences

pref_geo_get (default_coord_frame, geometric_tolerance)

Description:
This function will get geometry preference settings.
Input:
None.
Output:
INTEGER default_coord_frame This value returns the identifier value for the default
coordinate frame.
REAL geometric_tolerance This value returns the relative geometric tolerance.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
None.

Example:

Please see pref_geo_get.

pref_geo_set (default_coord_frame, geometric_tolerance)

Description:
This function will set geometry preference settings.
Input:
INTEGER default_coord_frame This value specifies the identifier value for the default
coordinate frame.
REAL geometric_tolerance This value specifies the relative geometric tolerance.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
None.
1814 PCL Reference Manual
Global Preferences

Remarks:

The geometric tolerance is set to 0.005 for the default value. This value needs to be changed depending
on the model size. Users are advised to set this value so that CAD models and IGES geometry are
imported properly. The suggested geometry tolerance is 0.005 times the model size.
Example:

Please see pref_geo_set.

pref_geo_set_v1 (default_coord_frame, geometric_tolerance, working_plane)

Description:
This function will set geometry preference settings.
Input:
INTEGER default_coord_frame This value specifies the identifier value for the default
coordinate frame.
REAL geometric_tolerance This value specifies the relative geometric tolerance.
INTEGER working_plane This value specifies the value defining the default working
plane relative to the default coordinate frame. Valid values
are: 1 = to place the working plane along the X, Y axis, 2 =
the Y, Z axis, and 3 = the X, Z axis.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form that is displayed when “Preferences”, “Global...”
is selected from the menu bar.
The geometric tolerance is set to 0.005 for the default value. This value needs to be changed depending
on the model size. Users are advised to set this value so that CAD models and IGES geometry are
imported properly. The suggested geometry tolerance is 0.005 times the model size.
Example:

Please see pref_geo_set_v1.


Chapter 9: Preference Functions 1815
Global Preferences

pref_global_get (confirm, warning_message, global_tolerance)

Description:
This function will get global preference settings.
Input:
None.
Output:
LOGICAL confirm This value returns nothing as it is currently not used.
INTEGER warning_message This value returns the status for the warning message option.
This value will be set to: 1 = no warnings, 2 = ring the bell, and
3 = present a warning in a popup form.
REAL global_tolerance This value returns the global model tolerance.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form that is displayed when “Preferences”, “Global...”
is selected from the menu bar.
Example:

Please see pref_global_get.


1816 PCL Reference Manual
Global Preferences

pref_global_set (confirm, warning_message, global_tolerance)

Description:
This function will set global preference settings.
Input:
LOGICAL confirm This value specifies nothing as it is currently not used.
INTEGER warning_message This value specifies the status for the warning message option.
This value will be set to: 1 = no warnings, 2 = ring the bell, and 3
= present a warning in a popup form.
REAL global_tolerance This value specifies the global model tolerance.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully and
a non zero value to indicate a change in status or an error.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form that is displayed when “Preferences”, “Global...”
is selected from the menu bar.
Example:

Please see pref_global_set.


Chapter 9: Preference Functions 1817
Global Preferences

pref_env_get_integer (preference_name, integer_value)

Description:
This function will get the value of the named integer preference.
Input:
STRING preference_name[] This value specifies the name of the preference from which the
output value integer_value will be retrieved This name can be of
any length or value.
Output:
INTEGER integer_value This value returns the integer setting for the preference.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
12002001 The environment preference was not found.
12002002 The environment preference is of the wrong datatype.

Remarks:

This is one of the functions used in the settings.pcl file to store various values used when Patran is started
up.
The values retrieved or stored by this function are not placed in the database. They are stored in a linked
list in memory. The contents of this linked list are saved and restored through the settings.pcl file
mechanism. This settings.pcl file is written on exit from Patran and read when Patran is started up.

Example:

Please see pref_env_get_integer.


1818 PCL Reference Manual
Global Preferences

pref_env_get_logical (preference_name, logical_value)

Description:
This function will get the value of the named logical preference.
Input:
STRING preference_name[] This value specifies the name of the preference from which the
output value logical_value will be retrieved. This name can be
of any length.
Output:
LOGICAL logical_value This value returns the logical setting for the preference.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
12002001 The environment preference was not found.
12002002 The environment preference is of the wrong datatype.

Remarks:

This is one of the functions used in the settings.pcl file to store various values used when Patran is started
up.
The values retrieved or stored by this function are not placed in the database. They are stored in a linked
list in memory. The contents of this linked list are saved and restored through the settings.pcl file
mechanism. This settings.pcl file is written on exit from Patran and read when Patran is started up.

Example:

Please see pref_env_get_logical.


Chapter 9: Preference Functions 1819
Global Preferences

pref_env_get_real (preference_name, real_value)

Descriptio:
This function will get the value of the named real preference.
Input:
STRING preference_name[] This value specifies the name of the preference from which
the output value real_value will be retrieved. This name can
be of any length.
Output:
REAL real_value This value returns the real setting for the preference.
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
12002001 The environment preference was not found.
12002002 The environment preference is of the wrong datatype.

Remarks:

This is one of the functions used in the settings.pcl file to store various values used when Patran is started
up.
The values retrieved or stored by this function are not placed in the database. They are stored in a linked
list in memory. The contents of this linked list are saved and restored through the settings.pcl file
mechanism. This settings.pcl file is written on exit from Patran and read when Patran is started up.

Example:

Please see pref_env_get_real.


1820 PCL Reference Manual
Global Preferences

pref_env_get_string (preference_name, string_value)

Description:
This function will get the value of the named string preference.
Input:
STRING preference_name[] This value specifies the name of the preference from
which the output value string_value will be retrieved.
This name can be of any length.
Output:
STRING string_value[] This value returns the string setting for the preference.
Because this is not a VIRTUAL string and no storage
space is allocated for this string by this function, it must
be created big enough to contain the entire named string
preference value or an error will occur.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
12002001 The environment preference was not found.
12002002 The environment preference is of the wrong datatype.
12002003 The string buffer is too small for the preference.

Remarks:

This is one of the functions used in the settings.pcl file to store various values used when Patran is started
up.
The values retrieved or stored by this function are not placed in the database. They are stored in a linked
list in memory. The contents of this linked list are saved and restored through the settings.pcl file
mechanism. This settings.pcl file is written on exit from Patran and read when Patran is started up.

Example:

Please see pref_env_get_string.


Chapter 9: Preference Functions 1821
Global Preferences

pref_env_set_integer (preference_name, integer_value)

Description:
This function will set the value of the named integer preference.
Input:
STRING preference_name[] This value specifies the name of the preference under
which the input value integer_value will be stored.
This name can be of any length.
INTEGER integer_value This value specifies the integer setting for the named
preference.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
12002002 The environment preference is of the wrong datatype.
12002004 An error occurred creating an environment preference.

Remarks:

This is one of the functions used in the settings.pcl file to store various values used when Patran is started
up.
The values retrieved or stored by this function are not placed in the database. They are stored in a linked
list in memory. The contents of this linked list are saved and restored through the settings.pcl file
mechanism. This settings.pcl file is written on exit from Patran and read when Patran is started up.

Example:

Please see pref_env_set_integer.


1822 PCL Reference Manual
Global Preferences

pref_env_set_logical (preference_name, logical_value)

Description:
This function will set the value of the named logical preference.
Input:
STRING preference_name[] This value specifies the name of the preference
under which the input value logical_value will be
stored. This name can be of any length.
LOGICAL logical_value This value specifies the logical setting for the
named preference.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
12002002 The environment preference is of the wrong datatype.
12002004 An error occurred creating an environment preference.

Remarks:

This is one of the functions used in the settings.pcl file to store various values used when Patran is started
up.
The values retrieved or stored by this function are not placed in the database. They are stored in a linked
list in memory. The contents of this linked list are saved and restored through the settings.pcl file
mechanism. This settings.pcl file is written on exit from Patran and read when Patran is started up.

Example:

Please see pref_env_set_logical.


Chapter 9: Preference Functions 1823
Global Preferences

pref_env_set_real (preference_name, real_value)

Description:
This function will set the value of the named real preference.
Input:
STRING preference_name[] This value specifies the name of the preference under
which the input value real_value will be stored. This
name can be of any length.
REAL real_value This value specifies the real setting for the named
preference.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
12002002 The environment preference is of the wrong datatype.
12002004 An error occurred creating an environment preference.

Remarks:

This is one of the functions used in the settings.pcl file to store various values used when Patran is started
up.
The values retrieved or stored by this function are not placed in the database. They are stored in a linked
list in memory. The contents of this linked list are saved and restored through the settings.pcl file
mechanism. This settings.pcl file is written on exit from Patran and read when Patran is started up.

Example:

Please see pref_env_set_real.


1824 PCL Reference Manual
Global Preferences

pref_env_set_string (preference_name, string_value)

Description:
This function will set the value of the named real preference.
Input:
STRING preference_name[] This value specifies the name of the preference under
which the input value string_value will be stored. This
name can be of any length.
STRING string_value[] This value specifies the string setting for the named
preference and can be of any length.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
12002002 The environment preference is of the wrong datatype.
12002004 An error occurred creating an environment preference.

Remarks:

This is one of the functions used in the settings.pcl file to store various values used when Patran is started
up.
The values retrieved or stored by this function are not placed in the database. They are stored in a linked
list in memory. The contents of this linked list are saved and restored through the settings.pcl file
mechanism. This settings.pcl file is written on exit from Patran and read when Patran is started up.

Example:

Please see pref_env_set_string.


Chapter 9: Preference Functions 1825
Graphics Preferences

Graphics Preferences
This section is used to describe some of the functions used to govern some of the preferences used to
control how graphics are displayed to the user.

bar_elem_color (color_value)

Description:
This function is used to set the color value used for the display of bar type finite element model
entities and labels.
Input:
INTEGER color_value This value specifies the color used. See the remarks
below for more information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.

The input value color_value can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
6 Cyan 14 Light Magenta
7 white 15 Pink

Example:

Please see bar_elem_color.


1826 PCL Reference Manual
Graphics Preferences

bar_elem_label (label_status)

Description:
This function sets a status value that indicates if bar type finite element model entity labels
will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that bar type
finite element model entity labels will be displayed,
and FALSE otherwise.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Example:

Please see bar_elem_label.

body_color (color_value)

Description:
This function is used to set the color value used for the display of bodies and body labels.
Input:
INTEGER color_value This value specifies the color used. See the remarks
below for more information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Chapter 9: Preference Functions 1827
Graphics Preferences

The input value color_value can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
6 Cyan 14 Light Magenta
7 white 15 Pink

Example:

Please see body_color.

body_label (label_status)

Description:
This function sets a status value that indicates if body labels will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that entity labels for
bodies will be displayed, and FALSE otherwise.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Example:

Please see body_label.


1828 PCL Reference Manual
Graphics Preferences

curve_color (color_value)

Description:
This function is used to set the color value used for the display of curves and curve labels.
Input:
INTEGER color_value This value specifies the color used. See the remarks below for more
information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.

The input value color_value can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
6 Cyan 14 Light Magenta
7 white 15 Pink

Example:
Chapter 9: Preference Functions 1829
Graphics Preferences

Please see curve_color.

curve_label (label_status)

Description
:
This function sets a status value that indicates if curve labels will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that entity labels for
curves will be displayed, and FALSE otherwise.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Example:

Please see curve_label (p. 1379) in the PCL Reference Manual Examples.

display_deformations (label_status)

Description
:
This function sets a status value that indicates if deformation results will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that deformation
results will be displayed.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
None.

Remarks:
1830 PCL Reference Manual
Graphics Preferences

This function is used in the implementation of the form displayed when the “Results...” selection is
picked from the “Display” pull down menu.
Example:

Please see display_deformations.

display_fa_vectors (label_status)

Descriptio:
This function sets a status value that indicates if functional assignment field vectors will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that functional
assignment field vectors will be displayed.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed successfully
and a non zero value to indicate a change in status or an error.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the “Load/BC/Elem. Props...”
selection is picked from the “Display” pull down menu.
Example:

Please see display_fa_vectors.

display_result_vectors (label_status)

Description
:
This function sets a status value that indicates if result vectors will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that functional
assignment field vectors will be displayed.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Chapter 9: Preference Functions 1831
Graphics Preferences

Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the “Results...” selection is
picked from the “Display” pull down menu.
Example:

Please see display_result_vectors.

hex_elem_color (color_value)

Description
:
This function is used to set the color value used for the display of hexagonal finite element model
entities and labels.
Input:
INTEGER color_value This value specifies the color used. See the remarks below
for more information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.

The input value color_value can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
1832 PCL Reference Manual
Graphics Preferences

Color Value Color Description Color Value Color Description


6 Cyan 14 Light Magenta
7 white 15 Pink

Example:

Please see hex_elem_color.

hex_elem_label (label_status)

Description:
This function sets a status value that indicates if hexagonal finite element model entity labels
will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that
hexagonal finite element model entity labels will be
displayed, and FALSE otherwise.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Example:

Please see hex_elem_label.


Chapter 9: Preference Functions 1833
Graphics Preferences

mpc_color (color_value)

Descriptio:
This function is used to set the color value used for the display of multi-point constraint labels.
Input:
INTEGER color_value This value specifies the color used. See the remarks below for
more information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.

The input value color_value can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
6 Cyan 14 Light Magenta
7 white 15 Pink

Example:

Please see mpc_color.


1834 PCL Reference Manual
Graphics Preferences

mpc_label (label_status)

Description:
This function sets a status value that indicates if multi-point constraint labels will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that multiple
point constraint labels will be displayed, and FALSE
otherwise.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Example:

Please see mpc_label.

node_color (color_value)

Description:
This function is used to set the color value used for the display of finite element model nodes and node
labels.
Input:
INTEGER color_value This value specifies the color used. See the remarks below for
more information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Chapter 9: Preference Functions 1835
Graphics Preferences

The input value color_value can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
6 Cyan 14 Light Magenta
7 white 15 Pink

Example:

Please see node_color.

node_label (label_status)

Description:
This function sets a status value that indicates if node labels will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that node labels
will be displayed, and FALSE otherwise.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Example:

Please see node_label.


1836 PCL Reference Manual
Graphics Preferences

point_elem_color (color_value)

Description:
This function is used to set the color value used for the display of point elements and
point element labels.
Input:
INTEGER color_value This value specifies the color used. See the remarks below
for more information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.

The input value color_value can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
6 Cyan 14 Light Magenta
7 white 15 Pink

Example:

Please see point_elem_color.


Chapter 9: Preference Functions 1837
Graphics Preferences

point_color (color_value)

Description:
This function is used to set the color value used for the display of geometric points and geometric
point labels.
Input:
INTEGER color_value This value specifies the color used. See the remarks below for
more information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.

The input value color_value can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
6 Cyan 14 Light Magenta
7 white 15 Pink

Example:

Please see point_color.


1838 PCL Reference Manual
Graphics Preferences

point_elem_label (label_status)

Description:
This function sets a status value that indicates if point element labels will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that point element labels
will be displayed, and FALSE otherwise.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Example:

Please see point_elem_label.

point_label (label_status)

Description:
This function sets a status value that indicates if point labels will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that point labels
will be displayed, and FALSE otherwise.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Chapter 9: Preference Functions 1839
Graphics Preferences

Example:

Please see point_label.

pref_graphics_set (label_control, display_method, primary_color,


secondary_color, error_color, extend, fit_view, center,
hardware_rendering, anti_alias, three_d_results,
result_title, symmetric_light, primary_marker,
secondary_marker, marker_color, marker_size,
point_marker_size, node_marker_size,
results_format, significant_figures)

Description:
This function sets the graphics preference parameters.
Input:
LOGICAL label_control(20) This value specifies which values from the inputs for
this function will be set in the database. The offsets in
the array correspond to the arguments listed below.
Setting the value at an offset in this array to TRUE will
cause the corresponding input argument value to be set
in the database.
INTEGER display_method This value specifies the display method setting.
INTEGER primary_color This value specifies the primary color.
INTEGER secondary_color This value specifies the secondary color.
INTEGER error_color This value specifies the error color.
LOGICAL extend This value specifies, when set to TRUE, that the
autoextend setting is turned on.
LOGICAL fit_view This value specifies, when set to TRUE, that the fit
view setting is turned on.
LOGICAL center This value specifies, when set to TRUE, that the
autocenter setting is turned on.
LOGICAL hardware_renderin This value specifies, when set to TRUE, the use of
g hardware for display rendering.
LOGICAL anti_alias This value specifies, when set to TRUE, that the anti
alias setting is turned on.
LOGICAL three_d_vector This value specifies, when set to TRUE, that 3-D
vectors be displayed.
LOGICAL result_title This value specifies, when set to TRUE, that result
titles be displayed.
1840 PCL Reference Manual
Graphics Preferences

LOGICAL symmetric_light This value specifies, when set to TRUE, that the
symmetric light flag setting is turned on.
INTEGER primary_marker This value specifies the primary marker setting.
INTEGER secondary_marker This value specifies the secondary marker setting.
INTEGER marker_color This value specifies the color used to display markers.
INTEGER marker_size This value specifies the marker size.
INTEGER point_marker_size This value specifies the point marker size.
INTEGER node_marker_size This value specifies the node marker size.
INTEGER results_format This value specifies the format used to display labels.
INTEGER significant_figures This value specifies the number of significant figures
used to display results.

Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
None.

Example:

Please see pref_graphics_set.


Chapter 9: Preference Functions 1841
Graphics Preferences

quad_elem_color (color_value)

Description
:
This function is used to set the color value used for the display of quadrilateral finite element model
entities and entity labels.
Input:
INTEGER color_value This value specifies the color used. See the remarks below for
more information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
The input value color_value can have the following values:

Color Color Description Color Color Description


Value Value

0 Black 8 Dark Orange


1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
6 Cyan 14 Light Magenta
7 white 15 Pink

Example:

Please see quad_elem_color.


1842 PCL Reference Manual
Graphics Preferences

quad_elem_label (label_status)

Description:
This function sets a status value that indicates if quadrilateral finite element model entity labels will be
displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that
quadrilateral element labels will be displayed, and
FALSE otherwise.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Example:

Please see quad_elem_label.


Chapter 9: Preference Functions 1843
Graphics Preferences

renderstyle (render_style)

Description:
This function sets the style used to render the display of entities in a viewport.
Input:
STRING style[31] This value specifies the render style used. If this value
is set to nothing or ““, the default “Wireframe” render
style will be used. See the remarks below for more
information.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change
in status or an error.
Error Conditions:
None.

Remarks:

The input value render_style will accept the following case sensitive values:

“Wireframe” “Wireframe/Accurate”
“Hidden Line” “Hidden Line/Accurate”
“Shaded/Flat” “Shaded/Smooth”
“Fringe/Flat” “Fringe/Smooth”
“Fringe/Flat/Lighted” “Fringe/Smooth/Lighted”
“Element Fill” “Element Fill/Accurate”

Example:

Please see renderstyle.


1844 PCL Reference Manual
Graphics Preferences

shade_color (color_value)

Description:
This function is used to set the color value used for the display of shadows.
Input:
INTEGER color_value This value specifies the color used. See the remarks
below for more information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.

The input value color_value can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
6 Cyan 14 Light Magenta
7 white 15 Pink

Example:

Please see shade_color.


Chapter 9: Preference Functions 1845
Graphics Preferences

solid_color (color_value)

Description:
This function is used to set the color value used for the display of solid objects.
Input:
INTEGER color_value This value specifies the color used. See the remarks
below for more information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.

The input value color_value can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
6 Cyan 14 Light Magenta
7 white 15 Pink

Example:

Please see solid_color.


1846 PCL Reference Manual
Graphics Preferences

solid_label (label_status)

Description:
This function sets a status value that indicates if solid labels will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that solid labels
will be displayed, and FALSE otherwise.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Example:

Please see solid_label.

surface_color (color_value)

Description:
This function is used to set the color value used for the display of surfaces and surface labels.
Input:
INTEGER color_value This value specifies the color used. See the remarks below for
more information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Chapter 9: Preference Functions 1847
Graphics Preferences

The input value color_value can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
6 Cyan 14 Light Magenta
7 white 15 Pink

Example:

Please see surface_color.

surface_label (label_status)

Description:
This function sets a status value that indicates if surface labels will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that surface labels will be
displayed, and FALSE otherwise.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Example:

Please see surface_label.


1848 PCL Reference Manual
Graphics Preferences

tet_elem_color (color_value)

Description:
This function is used to set the color value used for the display of tetrahedral finite element model entities
and labels.
Input:
INTEGER color_value This value specifies the color used. See the remarks below
for more information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.

The input value color_value can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
6 Cyan 14 Light Magenta
7 white 15 Pink

Example:

Please see tet_elem_color.


Chapter 9: Preference Functions 1849
Graphics Preferences

tet_elem_label (label_status)

Description:
This function sets a status value that indicates if tetrahedral finite element model entity labels
will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that
tetrahedral mesh labels will be displayed, and
FALSE otherwise.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Example:

Please see tet_elem_label.

tri_elem_color (color_value)

Description:
This function is used to set the color value used for the display of triangular finite element
model entities and labels.
Input:
INTEGER color_value This value specifies the color used. See the
remarks below for more information.
Output:
None.
Error Conditions:
None.
1850 PCL Reference Manual
Graphics Preferences

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.

The input value color_value can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
6 Cyan 14 Light Magenta
7 white 15 Pink

Example:

Please see tri_elem_color.

tri_elem_label (label_status)

Description:
This function sets a status value that indicates if triangular finite element model entity labels will be
displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that triangular
mesh labels will be displayed, and FALSE otherwise.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Chapter 9: Preference Functions 1851
Graphics Preferences

Example:

Please see tri_elem_label.

trim_surface_color (color_value)

Description:
This function is used to set the color value used for the display of trimmed surfaces and trimmed
surface labels.
Input:
INTEGER color_value This value specifies the color used. See the remarks
below for more information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.

The input value color_value can have the following values:

Color Value Color Description Color Value Color Description


0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
6 Cyan 14 Light Magenta
7 white 15 Pink

Example:

Please see trim_surface_color.


1852 PCL Reference Manual
Graphics Preferences

trim_surface_label (label_status)

Description:
This function sets a status value that indicates if trimmed surface labels will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that trimmed
surface labels will be displayed, and FALSE
otherwise.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Example:

Please see trim_surface_label.

wedge_elem_color (color_value)

Description:
This function is used to set the color value used for the display of wedge shaped finite element model
entities and labels.
Input:
INTEGER color_value This value specifies the color used. See the remarks
below for more information.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Chapter 9: Preference Functions 1853
Graphics Preferences

The input value color_value can have the following values:


Table 9-1
Color Value Color Description Color Value Color Description
0 Black 8 Dark Orange
1 Red 9 Light Orange
2 Light Green 10 Dark Green
3 Yellow 11 Green
4 Blue 12 Dark Blue
5 Magenta 13 Light Blue
6 Cyan 14 Light Magenta
7 white 15 Pink

Example:

Please see wedge_elem_color.

wedge_elem_label (label_status)

Description:
This function sets a status value that indicates if wedge shaped finite element model entity
labels will be displayed.
Input:
LOGICAL label_status This value specifies, when set to TRUE, that
wedge element labels will be displayed, and
FALSE otherwise.
Output:
None.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the
“Entity/Color/Label/Render...” selection is picked from the “Display” pull down menu.
Example:

Please see wedge_elem_label.


1854 PCL Reference Manual
Report Preferences

Report Preferences
This section is used to describe some of the functions used to govern some of the preferences used to
control the generation of reports.

pref_report_get (real_numbers, float_field_width, float_decimal,


sci_field_width, sci_decimal, integer_field_width,
number_spacing)

Description:
This function gets the parameters used to format tabular textual results reports.
Input:
None.
Output:
INTEGER real_numbers This value returns the real number switch status.
INTEGER float_field_width This value returns the field width used for listing
floating point numbers.
INTEGER float_decimal This value returns the number of values shown after
the decimal point of a floating point number.
INTEGER sci_field_width This value returns the field width used to list
numbers in scientific notation.
INTEGER sci_decimal This value returns the number of values shown after
the decimal point of a number in scientific notation.
INTEGER integer_field_width This value returns the field width used to list
integers.
INTEGER number_spacing This value specifies the number of spaces placed
between numerical fields.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a
change in status or an error.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the “Report...” selection is picked
from the “Preferences” pull down menu.

Example:

Please see pref_report_get.


Chapter 9: Preference Functions 1855
Report Preferences

pref_report_set (real_numbers, float_field_width,


float_decimal, sci_field_width,
sci_decimal, integer_field_width,
number_spacing)

Description:
This function sets the parameters used to format tabular textual results reports.
Input:
INTEGER real_numbers This value specifies the real number switch
status. The floating point format will be used if
this value is set to 1 and the scientific notation
format will be used if this value is set to 2.
INTEGER float_field_width This value specifies the field width used for
listing floating point numbers. This value can
range from 3 to 12.
INTEGER float_decimal This value specifies the number of values
shown after the decimal point of a floating point
number. This value can range from 0 to 11.
INTEGER sci_field_width This value specifies the field width used to list
numbers in scientific notation. This value can
range from 6 to 12.
INTEGER sci_decimal This value specifies the number of values
shown after the decimal point of a number in
scientific notation. This value can range from 1
to 7.
INTEGER integer_field_width This value returns the field width used to list
integers. This value can range from 1 to 12.
INTEGER number_spacing This value specifies the number of spaces
placed between numerical fields. This value can
range from 1 to 20.
Output:
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a non zero value to
indicate a change in status or an error.
Error Conditions:
None.
1856 PCL Reference Manual
Report Preferences

Remarks:

This function is used in the implementation of the form displayed when the “Report...” selection is picked
from the “Preferences” pull down menu.
Example:

Please see pref_report_set.


Chapter 9: Preference Functions 1857
Geometry Preferences

Geometry Preferences
This section is used to describe some of the functions used to govern some of the preferences used to
define how geometry is interpreted.

pref_geometry_get_v1 (hpat_parametrization, nurbs_acceleration,


geometry_convention)

Description:
This function gets the geometric preference values in the database.
Input:
None.
Output:
LOGICAL hpat_parametrization This value returns a status setting used to select the
parameter convention for hyperpatches. When this value
is set to TRUE, hyperpatches will not necessarily use the
same parameters as used with Patran 2.5. When this value

is set to FALSE it indicates that the Patran convention


will be used with solid origin locations.
LOGICAL nurbs_acceleration This value returns a status setting used to select, when set
to TRUE, that nurbs curves and surfaces will be evaluated
using specially designed evaluators which are optimized
for speed. These optimized evaluators should not be used
with higher order curves and surfaces as they tend to be
unstable under those conditions. When this value is set to
FALSE another kind of evaluator is used, one that is
stable under all conditions.
LOGICAL geometry_convention This value returns a status setting used to select, when set
to TRUE, that geometry will be represented using the
Patran 2.5 convention. When this value is set to FALSE,

the Patran convention will be used.


INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
None.
1858 PCL Reference Manual
Geometry Preferences

Remarks:

This function is used in the implementation of the form displayed when the “Report...” selection is picked
from the “Preferences” pull down menu.

Example:

Please see pref_geometry_get_v1.


Chapter 9: Preference Functions 1859
Geometry Preferences

pref_geometry_set_v1 (hpat_parametrization,
nurbs_acceleration,
geometry_convention)

Description:
This function sets the geometric preference values in the database.
Input:
LOGICAL hpat_parametrization This value specifies, when set to TRUE, that hyperpatches
will not necessarily use the same parameters as used with
Patran 2.5. Setting this value to TRUE will indicate that
the Patran convention will be used with solid origin
locations. Setting this value to FALSE will ensure
compatibility with models created using Patran 2.5.
LOGICAL nurbs_acceleration This value specifies, when set to TRUE, that nurbs curves
and surfaces will be evaluated using specially designed
evaluators which are optimized for speed. These
optimized evaluators should not be used with higher order
curves and surfaces as they tend to be unstable under those
conditions. When this value is set to FALSE another kind
of evaluator is used, one that is stable under all conditions.
LOGICAL geometry_convention This value specifies, when set to TRUE, that geometry
will be represented using the Patran 2.5 convention.
Setting this value to TRUE will ensure compatibility with
models created using Patran 2.5. When this value is set to
FALSE, the Patran convention will be used.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the “Report...” selection is picked
from the “Preferences” pull down menu.
Example:
1860 PCL Reference Manual
Geometry Preferences

Please see pref_geometry_set_v1.


Chapter 9: Preference Functions 1861
Finite Element Preferences

Finite Element Preferences


This section is used to describe some of the functions used to govern some of the preferences used with
finite element model elements.

pref_fem_get (minimum_angle)

Description:
This function gets the finite element model minimum angle value from the database.
Input:
Output:
REAL mininimum_angle The value returns the mesh/edges snap angle in degrees.
This angle controls the automatic snapping of nodes to
geometry edge slope discontinuities during seeding,
meshing and sweeping operations. These operations will
place nodes at all edge slope discontinuities greater than
the angle returned by this value.
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
None.

Remarks:

This function is used in the implementation of the form displayed when the “Finite Element...” selection
is picked from the “Preferences” pull down menu.
Example:

Please see pref_fem_get.


1862 PCL Reference Manual
Finite Element Preferences

pref_fem_set (minimum_angle)

Description:
This function sets the finite element model minimum angle value in the database.
Input:
REAL mininimum_angle The value specifies the mesh/edges snap angle in
degrees. This angle controls the automatic snapping of
nodes to geometry edge slope discontinuities during
seeding, meshing and sweeping operations. These
operations will place nodes at all edge slope
discontinuities greater than the angle specified by this
value.
Output:
INTEGER <Return Value> This function returns a value of 0 when executed
successfully and a non zero value to indicate a change in
status or an error.
Error Conditions:
None.

Remarks:

If changing the input value minimum_angle changes the number of locations requiring nodes on any edge
with a mesh seed, a popup form will be used to request permission to adjust the seed locations on that
edge unless the number of locations requiring nodes changes to zero. If the number of locations requiring
nodes changes to zero, the existing seeds will not be modified.
This function is used in the implementation of the form displayed when the “Finite Element...” selection
is picked from the “Preferences” pull down menu.
Example:

Please see pref_fem_set.


Chapter 10: Broken, Obsolete, Modified and New Functions
PCL Reference Manual

10 Broken, Obsolete, Modified and


New Functions

 Introduction 1864
 Basic Functions (Chapter 2) 1865

Geometry Application Preference (Chapter 3) 1866
 Finite Element Modeling Preference (Chapter 4) 1868
 Function Assignments Application Preference (Chapter 5) 1869
 Results Postprocessing Application Preference (Chapter 6) 1871
 XY Plotting Application Preference (Chapter 7) 1872

Preference Application Preference (Chapter 8) 1873

FlightLoads Preference (Chapter 9) 1874
1864 PCL Reference Manual
Introduction

Introduction
This chapter of the PCL Reference Manual document contains a listing of all the functions that have been
found to contain some sort of error in Chapters 1 through 8 of the documentation that could effect the use
of the function. The routine name is given along with a description of what issues were found, a
resolution to the issue, and the original function information. Where applicable the new function
information is also given. All spelling, spacing, and grammar errors have been fixed and in those
instances where the issues are only with the documentation of the function, a change has been made in
the new release of the PCL Reference Manual.
Chapter 10: Broken, Obsolete, Modified and New Functions 1865
Basic Functions (Chapter 2)

Basic Functions (Chapter 2)


1866 PCL Reference Manual
Geometry Application Preference (Chapter 3)

Geometry Application Preference (Chapter 3)


asm_const_curve_loft Issue: Patran outputs the error message “Wrong number of
Type: Modified arguments for built-in function”.

Resolution: Removed the variable NCURVES from the routine.

Original Description Information:

asm_const_curve_loft (output_ids, ncurves, slope_control, point_list, slope_list1,


slope_list2, created_ids)

Input

STRING output_ids[] The Curve ID List. If blank, 0, or #, Database will assign Curve IDs
sequentially

INTEGER ncurves Number of curves to create

LOGICAL slope_control =TRUE if endpoint slope control is to be enforced

STRING point_list[] The point list

STRING slope_list1[] The vectors defining the initial slope

New Description Information:

asm_const_curve_loft (output_ids, slope_control, point_list, slope_list1, slope_list2,


created_ids)

Input:

STRING output_ids[] The Curve ID List. If blank, 0, or #, Database will assign Curve IDs
sequentially

LOGICAL slope_control =TRUE if endpoint slope control is to be enforced

STRING point_list[] The point list

STRING slope_list1[] The vectors defining the initial slope

asm_transform_grid_mscale2 Issue: None.


Type: New Resolution: None.
Chapter 10: Broken, Obsolete, Modified and New Functions 1867
Group Menu (Chapter 2)

Group Menu (Chapter 2)


ga_group_create Replaced by: ga_group_create_groups
Type: Obsolete

Original Description Information:

ga_groups_create (group_name)

Input

STRING group_name[31] This value specifies the name of the group to create.

Output:

INTEGER <Return Value> This function returns a value of 0 when executed successfully and a
non zero value to indicate a change in status or an error.

Error Conditions:

This is only a partial list of the error values that can be returned by this function.

11000049 A group with the given name is already in the database.

11000050 The group name is invalid.

11000097 There is not enough disk space to complete operation.

11000098 A fatal error has occurred in the database. Database is corrupted.


1868 PCL Reference Manual
Finite Element Modeling Preference (Chapter 4)

Finite Element Modeling Preference (Chapter 4)


db_update_mesh_params Issue: The call is missing its <Return Value>.
Type: Modified Resolution: Add the <Return Value> variable to the
list of output arguments.

Original Description Information:

db_update_mesh_params (smooth_factor, max_cycles, accel_factor, term_factor,


tri_surf_mesh, rect_surf_tria)

Output

None.

New Description Information:

db_update_mesh_params (smooth_factor, max_cycles, accel_factor, term_factor,


tri_surf_mesh, rect_surf_tria)

Output

INTEGER <Return Value> = 0 Function was successful


Chapter 10: Broken, Obsolete, Modified and New Functions 1869
Function Assignments Application Preference (Chapter 5)

Function Assignments Application Preference


(Chapter 5)
arbitrary_read_file Issue: None.
Type: New Resolution: None.

elementprops_show Issue: When running this call Patran outputs the error
message “Invalid datatype to built-in function. Arg#3”.
Type: Modified
Resolution: Changed the variable GRP_NAMES from
type string to type string array.

Original Description Information:

elementprops_show (prop_name, disp_type, grp_names)

Input

STRING prop_name[] Name of the property to be displayed

STRING disp_type[] Form of the display:

“Table”

“Marker Plot”

“Vector Plot”

“Scalar Plot”

STRING grp_names[] List of the group names to display on

New Description Information:

elementprops_show (prop_name, disp_type, grp_names)

Input

STRING prop_name[] Name of the property to be displayed


1870 PCL Reference Manual
Function Assignments Application Preference (Chapter 5)

STRING disp_type[] Form of the display:

“Table”

“Marker Plot”

“Vector Plot”

“Scalar Plot”

STRING grp_names[]() List of the group names to display on


Chapter 10: Broken, Obsolete, Modified and New Functions 1871
Results Postprocessing Application Preference (Chapter 6)

Results Postprocessing Application Preference


(Chapter 6)
db_get_load_case_id Issue: The function is missing its <Return Value>.
Type: Modified Resolution: Add the <Return Value> variable to the list of output
arguments.

Original Description Information:

db_get_load_case_id (title, id)

Output

INTEGER id Load case ID

New Description Information:

db_get_load_case_id (title, id)

Output

INTEGER id Load case ID

INTEGER <Return Value> = 0 Function was successful


1872 PCL Reference Manual
XY Plotting Application Preference (Chapter 7)

XY Plotting Application Preference (Chapter 7)


xy_axis_display_labels_get Issue: When running this function Patran outputs the error
message “Invalid datatype to built-in function. Arg#2”.
Type: Modified
Resolution: Changed the variable FLAG from type
integer to type logical.

Original Description Information:

xy_axis_display_labels_get (name, flag)

Output

INTEGER flag Display labels flag

INTEGER <Return Value> XY error status.

New Description Information:

xy_axis_display_labels_get (name, flag)

Output

LOGICAL flag Display labels flag

INTEGER <Return Value> XY error status.


Chapter 10: Broken, Obsolete, Modified and New Functions 1873
Preference Application Preference (Chapter 8)

Preference Application Preference (Chapter 8)


display_deformations Issue: The function is missing its <Return Value>.
Type: Modified Resolution: Add the <Return Value> variable to the list of
output arguments.

Original Description Information:

display_deformations (flag)

Output

None.

New Description Information:

display_deformations (flag)

Output

INTEGER <Return Value> = 0 Function was successful


1874 PCL Reference Manual
FlightLoads Preference (Chapter 9)

FlightLoads Preference (Chapter 9)


flds_store_gen_options Issue: None.
Type: New Resolution: None.
Chapter 11: Status Messages
PCL Reference Manual

11 Status Messages


Introduction 1876

Status Conditions 1877
1876 PCL Reference Manual
Introduction

Introduction
This chapter lists all of the error condition messages that can be retrieved with the use of the status
message functions: msg_get_string(), user_message(), msg_to_form(), and msg_to_text().
Chapter 11: Status Messages 1877
Introduction

Status Conditions
• I/O and Import Status Conditions, 1878
• Analytical Solids Modeling Status Conditions, 1886
• Finite Element Model Status Conditions, 1898
• Load Case Status Conditions, 1926
• Results Status Conditions, 1927
• Application Interface Status Conditions, 1948
• PCL Status Conditions, 1996
• Core Status Conditions, 2000
• XY Status Conditions, 2003
• Group Status Conditions, 2005
• P, 2013
• Database Status Conditions, 2015
• List Processor Status Conditions, 2023
• Graphics Manager Status Conditions, 2037
• Application Status Conditions, 2043
• List Manager Status Conditions, 2044
• ID Dispenser Status Conditions, 2045
• Mesher Status Conditions, 2046
• IGES Status Conditions, 2050
• Unigraphics Status Conditions, 2050
• Session File Status Conditions, 2056
• Command Line Interface Status Conditions, 2056
• NOODL Status Conditions, 2057
• Neutral File Status Conditions, 2058
• Loads and Boundary Conditions Status Conditions, 2064
• Materials Status Conditions, 2068
• Element Property Status Conditions, 2078
• Fields Status Conditions, 2082
• Event ManagerStatus Conditions, 2089
• Security Status Conditions, 2090
• Meshing Finite Elements Status Conditions, 2094
• Automesher Status Conditions, 2098
1878 PCL Reference Manual
Introduction

• Automesher Status Conditions, 2098


• File Status Conditions, 2103

• P, 2112
• , 2117
• Journal File Status Conditions, 2141
• Vector Utility Status Conditions, 2142
• Matrix Utility Status Conditions, 2142
• Topology Engine Status Conditions, 2143
• Express File Status Conditions, 2145
• Neutral File Export Status Conditions, 2146
• List Status Conditions, 2149
• Fatigue Status Conditions, 2150
• Team Status Conditions, 2158
• Utility Status Conditions, 2159
• CADDS File Status Conditions, 2160
• Mass Properties Status Conditions, 2162
• Post Processor Interface Status Conditions, 2166
• Database Import Status Conditions, 2168
• FreeBody Results Status Conditions, 2171

I/O and Import Status Conditions


This group of status messages are used to report I/O errors and the status of model geometry import
functions.
Chapter 11: Status Messages 1879
Introduction

0 Successful Completion
1 Not owner
2 No such file or directory
3 No such process
4 Interrupted system call
5 I/O error
6 No such device or address
7 Arg list too long
8 Exec format error
9 Bad file number
10 No child processes
11 Resource temporarily unavailable
12 Not enough space
13 Permission denied
14 Bad address
15 Block device required
16 Device busy
17 File exists
18 Cross-device link
19 No such device
20 Not a directory
21 Is a directory
22 Invalid argument
23 File table overflow
24 Too many open files
25 Inappropriate ioctl for device
26 Text file busy
27 File too large
28 No space left on device
29 Illegal seek
30 Read-only file system
31 Too many links
32 Broken pipe
33 Argument out of domain
1880 PCL Reference Manual
Introduction

34 Result too large


35 No message of desired type
36 Identifier removed
37 Channel number out of range
38 Level 2 not synchronized
40 Level 3 reset
41 Link number out of range
42 Protocol driver not attached
43 No CSI structure available
44 Level 2 halted
45 Deadlock situation detected/avoided
46 No record locks available
48 Operation not supported
49 Disc quota exceeded
50 Bad exchange descriptor
51 Bad request descriptor
52 Message tables full
53 Anode table overflow
54 Bad request code
55 Invalid slot
56 File locking deadlock
57 Bad font file format
60 Not a stream device
61 No data available
62 Timer expired
63 Out of stream resources
64 Machine is not on the network
65 Package not installed
66 Object is remote
67 Link has been severed
68 Advertise error
69 Srmount error
70 Communication error on send
71 Protocol error
Chapter 11: Status Messages 1881
Introduction

74 Multihop attempted
77 Not a data message
78 File name too long
79 Value too large for defined data type
80 Name not unique on network
81 File descriptor in bad state
82 Remote address changed
83 Can not access a needed shared library
84 Accessing a corrupted shared library
85 .lib section in a.out corrupted
86 Attempting to link in more shared libraries than system limit
87 Can not exec a shared library directly
88 Illegal byte sequence
89 Operation not applicable
90 Number of symbolic links encountered during path name traversal exceeds
MAXSYMLINKS
93 Directory not empty
94 Too many users
95 Socket operation on non-socket
96 Destination address required
97 Message too long
98 Protocol wrong type for socket
99 Option not supported by protocol
120 Protocol not supported
121 Socket type not supported
122 Operation not supported on transport endpoint
123 Protocol family not supported
124 Address family not supported by protocol family
125 Address already in use
126 Cannot assign requested address
127 Network is down
128 Network is unreachable
129 Network dropped connection because of reset
130 Software caused connection abort
1882 PCL Reference Manual
Introduction

131 Connection reset by peer


132 No buffer space available
133 Transport endpoint is already connected
134 Transport endpoint is not connected
135 Structure needs cleaning
137 Not a name file
138 Not available
139 Is a name file
140 Remote I/O error
141 Reserved for future use
143 Cannot send after socket shutdown
144 Too many references: cannot splice
145 Connection timed out
146 Connection refused
147 Host is down
148 No route to host
149 Operation already in progress
150 Operation now in progress
151 Stale NFS file handle
10001 *Unknown*
10002 Informative message reported
10003 Warning reported
10004 Error reported
10005 Acknowledgement requested
10006 Question
10007 Critical Decision requested
10008 Unknown type message reported
10009 %A% from application %A%
10010 %A% in application %A% by application %A%
10011 End of File Reached
10012 System Error Message Code: %
10013 Successful Completion
10014 System Error Code is %d
10015 Error reported on file %s
Chapter 11: Status Messages 1883
Introduction

10016 Error reported


20001 Invalid output string specified
20002 String specified is too small
20003 The "Current Group Name" databox is blank. It must contain a non-blank value.
The Current Group Name was reset to the default group name "%A%". The Import
form will be redisplayed in order to allow you to redefine the Current Group Name
if you wish.
20004 %A% Model Access is currently under development.

20005
No IGES entities were imported. Review the Patran supported IGES Geometric
Entity list and the status of the entity filters under "IGES Entity Options". Preview
the IGES file to review file content.
20006
No Patran entities were created from the IGES file import.
20007
No Patran entities were exported.
20008
No IGES entities were created from the Patran IGES file export.
20009 The Pro/ENGINEER file naming convention for a Part file uses ".prt" for the
suffix. The invalid Part file name entered is "%A%" Enter a ".prt" file.
20010 The Pro/ENGINEER file naming convention for an Assembly file uses ".asm" for
the suffix. The invalid Assembly file name entered is "%A%" Enter a ".asm" file.
20011 No Pro/ENGINEER geometry was imported.
20012
No Patran geometry was created from the Pro/ENGINEER Model Access.
20013 Pro/ENGINEER Initiated.
20014 Pro/ENGINEER Terminated.
20015 Accessing Pro/ENGINEER Part File %A% ...
20016 Accessing Pro/ENGINEER Assembly File %A% ...
20017
Accessing Patran ProENGINEER Access Primitive Geometry File %A% ...
20018
The Patran ProENGINEER Access file naming convention for a Primitive
Geometry file uses ".geo" for the suffix. The invalid Primitive Geometry file name
entered is "%A%" Enter a ".geo" file.
20019
Patran ProENGINEER Access Primitive Geometry File %A% has been saved.
20020 No Unigraphics geometry was imported.
20021
No Patran geometry was created from the Unigraphics Model Access.
1884 PCL Reference Manual
Introduction

20022
No Express entities were imported. Review the Patran supported Express
Geometric Entity list and the status of the entity filters under "Express Options".
Preview the Express Neutral file to review file content.
20023
No Patran entities were created from the Express Neutral file import.
20024
Patran Express Neutral File %A% has been saved.
20025
The Express File has no geometric entities recognized by Patran.
20026 Traversing CADDS 5 Part File %A% ...
20027 CADDS 5 Part File Traversal Completed.
20028 Traversing Unigraphics Part File %A% ...
20029 Unigraphics Part File Traversal Completed.
20030 Express Debug File created: %A%
20031 No Express Debug File created.
20032 No Unigraphics geometry was imported. Please verify that "%A%" is a valid
Unigraphics Part File, and check the import option filter set.
20033 No CADDS geometry was imported. Verify that the Import File %A% is a valid
CADDS Part File.
20034 Error opening text file '%A%'.
20035 Error getting size of text file '%A%'.
20036 Error reading text file '%A%'.
20037 Error setting position of text file '%A%'.
20038 Error closing text file '%A%'.
20039 %A%
20040 The CADDS directory path "%A%" has an invalid character of "." or "_". Rename
the path and try the file import again.
20041 The CADDS directory path "%A%" has an invalid character of "." or "_" preceding
"/_pd". Rename the path and try the file import again.
20042 Parasolid Transmit File %A% has been saved.
20043 The Suggested Global Model Tolerance value is %A%
20044 The Current Global Model Tolerance value is %A%
20045 No Unigraphics geometry was imported. Verify that the Import Options Entity
Types filter setting matches the existing entity types in the part file being imported.
20046 Input argument is out of range.
Chapter 11: Status Messages 1885
Introduction

20047
The Unigraphics Sewing was unable to continue. Patran Sewing may be used to
sew up the sheet bodies after the model has been imported.
20048 No Parasolid entities were imported. Verify that the "Entity Types" and "Entity
Layers" filters under "Parasolid xmt Options" match the existing entity types and
layers in the transmit file being imported.
20049
No Patran geometry was created from the Parasolid xmt Import.
20051 The UNIX pathname of the CATIA model is invalid. If the model name has some
INVISIBLE characters, remove them by renaming.
20052 CATIA Model File Traversal Completed.
20053 No ACIS geometry was imported. Please verify that "%A%" is a valid ACIS File,
and check the import option filter set.
20054
No Patran geometry was created from the ACIS Model Access.
20055 Traversing ACIS Part File %A% ...
20056
Checking for Patran module license...
20057
An "Patran ACIS Access" license is not enabled. Please contact your
MSC.Software representative for details on how to enable this functionality.
20058
An "Patran IGES Access" license is not enabled. Please contact your
MSC.Software representative for details on how to enable this functionality.
20059
An "Patran Unigraphics Access" license is not enabled. Please contact your
MSC.Software representative for details on how to enable this functionality.
20060
An "Patran CADDS Access" license is not enabled. Please contact your
MSC.Software representative for details on how to enable this functionality.
20061
An "Patran Euclid Access" license is not enabled. Please contact your
MSC.Software representative for details on how to enable this functionality.
20062
An "Patran ProENGINEER Access" license is not enabled. Please contact your
MSC.Software representative for details on how to enable this functionality.
20063
An "Patran CATIA Direct Access" license is not enabled. Please contact your
MSC.Software representative for details on how to enable this functionality.
1886 PCL Reference Manual
Introduction

Analytical Solids Modeling Status Conditions


This group of status conditions are used with functions that work with the geometric entities of a model.
The acronym ASM stands for “Analytical Solids Modelling”.

1000000 ASM
1000001 Point %I% does not exist. Unable to continue.
1000002 Point %I% does not exist. Do you wish to continue?
1000003 Line %I% does not exist. Unable to continue.
1000004 Line %I% does not exist. Do you wish to continue?
1000005 Patch %I% does not exist. Unable to continue.
1000006 Patch %I% does not exist. Do you wish to continue?
1000007 Hpat %I% does not exist. Unable to continue.
1000008 Hpat %I% does not exist. Do you wish to continue?
1000009 Coordinate Frame %I% does not exist. Unable to continue.
1000010 Coordinate Frame %I% does not exist. Do you wish to continue?
1000011 Grid
1000012 Line
1000013 Patch
1000014 Hpat
1000015 Point %I% does not exist. Unable to continue.
1000016 Point %I% does not exist. Do you wish to continue?
1000017 Curve %I% does not exist. Unable to continue.
1000018 Curve %I% does not exist. Do you wish to continue?
1000019 Surface %I% does not exist. Unable to continue.
1000020 Surface %I% does not exist. Do you wish to continue?
1000021 Do you wish to delete the original lines?
1000022 %I% pages of memory open. Requested %I% more pages.
1000023 Error attempting to change virtual memory by %I% words. Status = %I%
1000024 %I% pages of virtual memory open.
1000025 Error attempting to allocate virtual memory.
1000026 Axis %I% does not exist.
1000027 Axis %I% does not exist. Do you wish to continue?
1000028 Do you wish to trim the original curve %I%?
1000029 Do you wish to delete the original points?
1000030 Do you wish to delete the original patches?
Chapter 11: Status Messages 1887
Introduction

1000031 Do you wish to delete the original hpats?


1000032 Solid %I% does not exist. Unable to continue.
1000033 Solid %I% does not exist. Do you wish to continue?
1000034 %A% %I% already exists at the specified location to create the next %A%. Do you
wish to create a duplicate %A%?
1000035 %A% %I% already exists. Will you permit overwrite?
1000036 Do you wish to delete the original coords?
1000037 Line %I% has an arc length which is less than the geometric modeling tolerance.
Geometry may not be suitable for meshing operations.
1000038 Patch %I% has serious geometric errors. Geometry may not be suitable for meshing
operations.
1000039 Hpat %I% has serious geometric errors. Geometry may not be suitable for meshing
operations.
1000040 Duplicate %A% was not created at users request.
1000041 Adding %I% vertices to the database.
1000042 Adding %I% edges to the database.
1000043 Adding %I% faces to the database.
1000044 Adding %I% hpats to the database.
1000045 Patch %I% has %I% degenerate edges. Geometry may not be suitable for meshing
operations.
1000046 Hpat %I% has %I% degenerate edges. Geometry may not be suitable for meshing
operations.
1000047 Do you wish to trim the original curves?
1000048 Do you wish to trim the original patch %I%?
1000049 Do you wish to trim the original patches?
1000050 The curve selected to reverse is a topological edge of a surface or solid which is not
permitted to be reversed. Processing will continue.
1000051 The surface selected to reverse is a topological face of a solid entity which is not
permitted to be reversed. Processing will continue.
1000052
%A% %I% is not an ASM Entity and was not written to the Patran Neutral File.
1000053 No valid geometric entities of type "%A%" were used as input. Unable to process
request.
1000054 An invalid geometric entity type was used as input. The valid entity type to use is
"%A%". Unable to process request.
1000055 Point list is blank. Input required data.
1000056 Curve list is blank. Input required data.
1888 PCL Reference Manual
Introduction

1000057 Surface list is blank. Input required data.


1000058 Solid list is blank. Input required data.
1000059 Coordinate Frame definition is blank. Input required data.
1000060 Vector definition is blank. Input required data.
1000061 Axis definition is blank. Input required data.
1000062 Trimmed Surface list is blank. Input required data.
1000063 Entity list is blank. Input required data.
1000064 Overwrite of existing entity not permitted.
1000065 Total number of tangents between point and curve = %I%. Do you wish to create
tangent #%I% of %I%?
1000066 Coordinate Frames
1000067 Grids
1000068 Lines
1000069 Patches
1000070 Hpats
1000071 Solid Face %I% created in same location as %A%
1000072 Plane definition is blank. Input required data.
1000073 ID list is blank or an invalid character was used. Input required data.
1000074 Vector list is blank. Input required data.
1000075 Plane list is blank. Input required data.
1000100 %I% Point created: %V%
1000101 %I% Points created: %V%
1000102 %I% Line created: %V%
1000103 %I% Lines created: %V%
1000104 %I% Patch created: %V%
1000105 %I% Patches created: %V%
1000106 %I% Hpat created: %V%
1000107 %I% Hpats created: %V%
1000108 0 Points created.
1000109 0 Lines created.
1000110 0 Patches created.
1000111 0 Hpats created.
1000112 0 Coordinate Frames created.
1000113 %I% Point deleted: %V%
Chapter 11: Status Messages 1889
Introduction

1000114 %I% Points deleted: %V%


1000115 %I% Line deleted: %V%
1000116 %I% Lines deleted: %V%
1000117 %I% Patch deleted: %V%
1000118 %I% Patches deleted: %V%
1000119 %I% Hpat deleted: %V%
1000120 %I% Hpats deleted: %V%
1000121 Unable to delete line %I%
1000122 %I% Coordinate Frames deleted: %V%
1000123 Unable to delete coord %I%
1000124 %I% Coordinate Frame deleted: %V%
1000130 %I% Coord created: %V%
1000131 %I% Coords created: %V%
1000132 %I% Point deleted: %A%
1000133 %I% Points deleted: %A%
1000134 %I% Line deleted: %A%
1000135 %I% Lines deleted: %A%
1000136 %I% Patch deleted: %A%
1000137 %I% Patches deleted: %A%
1000138 %I% Hpat deleted: %A%
1000139 %I% Hpats deleted: %A%
1000140 %I% Coordinate Frame deleted: %A%
1000141 %I% Coordinate Frames deleted: %A%
1000142 No Coordinate Frames deleted.
1000143 Unable to delete Global Coordinate Frame.
1000150 Point %I% deleted.
1000151 Line %I% deleted.
1000152 Patch %I% deleted.
1000153 Hpat %I% deleted.
1000154 Coordinate Frame %I% deleted.
1000160 No ASM entities deleted.
1000161 %I% Point created: %A%
1000162 %I% Points created: %A%
1000163 %I% Line reversed: %V%
1890 PCL Reference Manual
Introduction

1000164 %I% Lines reversed: %V%


1000165 %I% Patch reversed: %V%
1000166 %I% Patches reversed: %V%
1000167 %I% Hpat reversed: %V%
1000168 %I% Hpats reversed: %V%
1000169 %I% Line created: %A%
1000170 %I% Lines created: %A%
1000171 %I% Patch created: %A%
1000172 %I% Patches created: %A%
1000173 %I% Hpat created: %A%
1000174 %I% Hpats created: %A%
1000175 No Lines reversed.
1000176 No Patches reversed.
1000177 No Hpats reversed.
1000178 %A% has been meshed. Do you wish to delete its associated elements and nodes? "
1000200 "%A%" is not a recognized syntax for a Point List.
1000201 "%A%" is not a recognized syntax for a Curve List.
1000202 "%A%" is not a recognized syntax for a Surface List.
1000203 "%A%" is not a recognized syntax for a Solid List.
1000204 "%A%" is not a recognized syntax for a Coordinate Frame.
1000205 "%A%" is not a recognized syntax for a DxDyDz Vector List.
1000206 "%A%" is not a recognized syntax for an Origin List.
1000207 Entity list is blank. Either select entities or exit menu by selecting another option.
1000208 "%A%" is not a recognized syntax for an Axis List.
1000209 Needed three scale factor values. Program using scale factors %F5.3%, %F5.3%,
%F5.3%.
1000210 Angle of rotation for a parametric entity is greater than 180 degrees.
1000211 The length of the Axis equals zero.
1000212 The radius of the arc equals zero.
1000213 The HPAT will have zero thickness.
1000214 "%A%" is not a recognized syntax for a matrix.
1000215 Wrong number of Arguments.
1000216 Unable to properly process the output labels.
Chapter 11: Status Messages 1891
Introduction

1000217 The number of entities is greater than the number of labels to be assigned. Database
assigning %I% label.
1000218 The number of entities is less than the number of labels to be assigned. Ignoring %I%
extra label.
1000219 The number of entities is greater than the number of labels to be assigned. Database
assigning %I% labels.
1000220 The number of entities is less than the number of labels to be assigned. Ignoring %I%
extra labels.
1000221 The number of entities in for input lists 1 and 2 do not match. Ignoring extra entities
in list "%A%"
1000222 There must be at least one vector as input. The invalid value input was %A%
1000223 The maximum error detected during the manifold operation for %V% was %G%
1000224 Invalid glide option %A%. Must be 0,1,or 2.
1000225 Unable to do glide option.
1000226 The angle which the involute traverses must be positive.
1000227 The starting angle of the involute must be positive.
1000228 The radius of the base circle must be positive
1000229 The stop radius of the involute must be larger than the base radius
1000230 The point is inside the base circle
1000231 The point is outside the stop radius of the involute
1000232 The entity label value of %I% is invalid. Database assigning next highest available
label.
1000233 %I% Point deleted: %V%
1000234 %I% Points deleted: %V%
1000235 %I% Curve deleted: %V%
1000236 %I% Curves deleted: %V%
1000237 %I% Surface deleted: %V%
1000238 %I% Surfaces deleted: %V%
1000239 %I% Solid deleted: %V%
1000240 %I% Solids deleted: %V%
1000241 Unable to extrude hyperpatch because the surface is too degenerate.
1000242 Rotation is approximately parallel to the surface.
1000243 The number of entities in for the input list %I% does not match the remaining lists.
Ignoring extra entities in list "%A%"
1000300 There must be at least one point as input. The invalid value input was %I%
1000301 There must be at least two points as input. The invalid value input was %A%
1892 PCL Reference Manual
Introduction

1000302 The three points specified are nearly collinear.


1000303 No points were found to exist in the database as defined in the point list. The point
list input was %A%
1000304 Unable to delete point %I%. Error status = %I%
1000305 Coordinates for point %I% not found.
1000306 %I% Points created from the intersection of %I% curve(s) with %I% surface(s).
1000307 %I% Point created from the intersection of %I% curve(s) with %I% surface(s).
1000308 %I% Points created from the intersection of %I% curve(s) with %I% curve(s).
1000309 %I% Point created from the intersection of %I% curve(s) with %I% curve(s).
1000310 The two input entities do not intersect within tolerance of %G%. The minimum
distance is %G%. A point of closest approach on each input entity was provided.
1000311 No intersections found between %A% and %A%.
1000500 There must be at least one line as input. The invalid value input was %I%
1000501 An attempt to create an Arc through %G% degrees will not be honored (Max=180).
Increase the number of lines.
1000502 The Radius of the Arc is %G%, the Total Angle is %G%, and the Center is at X =
%G%, Y = %G%, Z = %G%
1000503 It is not possible to order the curves from head to tail.
1000504 %I% Line merged into %I%
1000505 %I% Lines merged into %I%
1000506 The maximum error found while merging curves was %G%
1000507 Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2
1000508 Specified Parametric Position value of %G% is out of range. The value must be
between 0.0 and 1.0
1000509 Unable to create a line with the specified parametric position value of %G%
1000510 Unable to create a line with the specified parametric position values of %G% and
%G%
1000511 Specified Manifold Entity Type value of %I% is invalid. Valid values are 0, 1, 2, and
3
1000512 Unable to delete line %I%. Error status = %I%
1000513 %I% Line fit through %I% Points.
1000514 %I% Lines fit through %I% Points.
1000515 The maximum error found while fitting points was %G%
1000516 The points are all within tolerance of one another. A zero length line will not be
produced.
Chapter 11: Status Messages 1893
Introduction

1000517 The Line Construct parameter "%A%" was reset from the invalid input value of %I%
to the default value of %I%
1000518 Specified Parametric Direction value of %I% is invalid. Valid values are 1 and 2
1000519 There must be at least one line as input. The invalid value input was %A%
1000520 There must be at least two lines input for a Spline Line. The invalid value input was
%I%
1000521 There must be at least three points input for a Spline Line. The invalid value input
was %A%
1000522 %I% Spline segments connecting %I% Points.
1000523 The number of points (%I%) is insufficient for the Number of Spline Segments
(%I%) to create. There must be at least one more point than the number of segments.
1000524 Duplicate points on Spline Line.
1000525 The points used to create the Spline Line are too close.
1000526 The number of Spline Segments requested to create (%I%) is less than the actual
number of Piecewise Cubic Spline Segments that may be created (%I%) to connect
the Spline breakpoints. Do you wish to create %I% instead of %I% Spline Segments?
1000527 The number of lines per intersection must be greater than or equal to zero. The invalid
value input was %I%
1000528 %I% Lines created from the intersection of %I% surface(s) vs. %I% surface(s).
1000529 %I% Line created from the intersection of %I% surface(s) vs. %I% surface(s).
1000530 Fitting lines to the surface intersection points...
1000531 The maximum error found between the intersection points and the curves was %G%
1000532 A Virtual File Access error has occurred.
1000533 An error has occurred during the surface/surface intersection algorithm. Probable
cause is degenerate geometry.
1000534 The intersection points are all within tolerance of one another. A zero length line will
not be produced.
1000535 No intersections found between surface(s) %A% and surface(s) %A%.
1000536 There must be at least one curve as input. The invalid value input was %A%
1000537 The number of lines per projection must be greater than or equal to zero. The invalid
value input was %I%
1000538 An error has occurred during the curve/surface projection algorithm. Probable cause
is degenerate geometry.
1000539 The points created to approximate the projection line are all within tolerance ( %G%
). Try making the Max. Deviation Tolerance on the Project Tolerances form larger
and try again.
1000540 The projection vector has zero length.
1894 PCL Reference Manual
Introduction

1000541 No intersections found between projected curve(s) %A% onto surface(s) %A%.
1000543 No curves in the curve list define a plane to compute a normal projection vector from.
Specify a vector for projection.
1000544 %I% Lines created from the projection of %I% curve(s) onto %I% surface(s).
1000545 %I% Line created from the projection of %I% curve(s) onto %I% surface(s).
1000546 The maximum error found between the projection curves and the surfaces was %G%
1000547 No curves were found to exist in the database as defined in the curve list. The curve
list input was %A%
1000548 The curve is straight, therefore, a tangent cannot be calculated.
1000549 The curve and point are not coplanar, therefore, a tangent cannot be calculated.
1000550 There is not a tangent which connects the point with the curve.
1000551 The curve is straight and has no tangent.
1000552 The two curves are not coplanar so a tangent cannot be calculated.
1000553 Unable to find tangent from the first curve to the second curve from the given start
points.
1000554 An error occurred during the manifold operation for manifold curve %A%.
1000555 The two curves are collinear so an intersection point cannot be calculated.
1000556 The two curves are not coplanar so an intersection point cannot be calculated.
1000557 The fillet radius value is unacceptable. The radius value of %G% must be greater
than the fillet tolerance value of %G%.
1000558 The fillet line with radius %G% cannot be created between the two input curves.
1000559 The intersection point of the pair of curves to extend is within geometric tolerance (
%G% ) of both curves. The original curves were not extended.
1000560 Both curves used to create a fillet between are edges, and were not trimmed.
1000561 One of two curves used to create a fillet between is an edge, and was not trimmed.
1000562 The curve to trim is an edge, and was not trimmed.
1000563 The curve is not planar, therefore, a tangent cannot be calculated.
1000564 Data for curve %I% not found.
1000565 The curve to trim is an edge, and trimming edges is not allowed.
1000566 Error evaluating curve %I% for trimming. Unable to trim the original curve.
1000567 Error evaluating curves %I% and %I% for trimming. Unable to trim the original
curves.
1000568 Error evaluating curve for extending. Unable to extend the original curve.
1000569 The curve trying to extend has a tangent of length zero. Unable to extend curve.
1000570 The extended curve length of %G% is invalid. Input length value greater than zero.
Chapter 11: Status Messages 1895
Introduction

1000571 The fillet curve has a zero angle of rotation. The fillet cannot be created.
1000572 The fillet curve has a zero radius. The fillet cannot be created.
1000573 Curve %I% does not have the required Company of Origin (PDA Engineering) to
construct a Line using the %A% Option. Unable to continue.
1000574 There must be at least two curves as input to Blend. The invalid value input was %A%
1000575 Line %I% with vertices %I% and %I% cannot blend with Line %I% with vertices
%I% and %I%.
1000576 One of the curves input to blend has a vector length of zero. Unable to blend curves.
1000577 No intersections found between curve(s) %A% and curve(s) %A%.
1000578 The number of Curves per Arc must be greater than or equal to one. The invalid value
input was %I%
1000579 The number of Curves per Circle must be greater than or equal to two. The invalid
value input was %I%
1000580 The two input curves do not intersect within tolerance of %G%. The minimum
distance is %G%. A point of closest approach on each input curve was provided.
1000581 The selected curve %I% has no center of curvature. A point was not created.
1000582 The curve %I% has zero length.
1000583 Unable to create point on curve. Check input data for validity.
1000584 Invalid Distance value of %G% was input. Distance value must be between %G%
and %G%.
1000586 Only one curve can be used for associating nodes.
1000587 Unable to merge with a circular curve.
1000700 There must be at least one patch as input. The invalid value input was %I%
1000701 There must be at least one surface as input. The invalid value input was %A%
1000702 Specified Manifold Entity Type value of %I% is invalid. Valid values are 0, 2, and 3
1000703 Unable to create a patch with the specified parametric position value of %G%
1000704 Unable to create a patch with the specified parametric position values of %G% and
%G%
1000705 Specified Parametric Plane value of %I% is invalid. Valid values are 1, 2, and 3
1000706 The specified surfaces do not intersect.
1000707 No surfaces were found to exist in the database as defined in the surface list. The
surface list input was %A%
1000708 Unable to delete patch %I%. Error status = %I%
1000709 Unable to intersect the curves being used to construct a patch. The curves must form
a closed region and must be in a circular order.
1000710 An error occurred during the manifold operation for manifold surface %A%.
1896 PCL Reference Manual
Introduction

1000711 The surface corners cannot match with the patch corners.
1000712 Unable to compute the tangent and normal vectors due to a non-removable
degeneracy or a singularity.
1000713 Unable to break the patch.
1000714 An error occurred while manifolding on a surface.
1000715 Designated point not on the patch.
1000716 Data for surface %I% not found.
1000717 Surface %I% does not have the required Company of Origin (PDA Engineering) to
construct a Patch using the %A% Option. Unable to continue.
1000718 Point %I% is not a vertex of Patch %I%. Input a Patch Vertex.
1000719 The maximum error of %G% occurred during patch fillet creation.
1000720 One of two surfaces used to create a fillet between is a face, and was not trimmed.
1000721 The fillet patch with radius %G% cannot be created between the two input surfaces
given the two input corner points.
1000722 There must be at least two surfaces as input to Blend. The invalid value input was
%A%
1000723 Input surface list contains degenerate patch %I%. Skipped and continuing.
1000724 The edge between patches %I% and %I% does not match. Unable to blend patches.
1000725 The three patches %I%,%I% and %I% share a common edge. Unable to blend
patches.
1000726 Patch %I% does not share an edge with another input patch. It will not be blended.
1000727 Cannot blend with less than two patches.
1000728 Patch %I% was not input. Weight assignment skipped.
1000729 Weight Factor %G% is out-of-range. 0.0 <= WEIGHT FACTOR <= 1.0. Weight
Factor of %G% will be assigned.
1000730 Edge Number %I% is out-of-range. 1 <= EDGE NUMBER <= 4. Weight
assignment skipped.
1000731 Patch %I% Edge %I% has been assigned a second weight value. %G% was
overwritten with %G%.
1000732 There are no valid weight factor values in the input weighting factors list. Invalid
input is %A%. Input valid values 0.0 <= WEIGHT FACTOR <= 1.0.
1000733 In the process of finding an equivalent patch edge, patch vertices were found to be
out of range. 1 <= VERTEX NUMBER <= 4. Unable to blend patches.
1000734 In the process of finding an equivalent patch edge, patch vertices were found to be
equal. Unable to pblend patches.
1000735 The maximum error found while decomposing Patch %I% was %G%
1000736 Unable to decompose the Patch due to a manifold error.
Chapter 11: Status Messages 1897
Introduction

1000737 Surface %I% used to create a fillet does not intersect with the fillet surface edges and
was not trimmed. Refer to the maximum error value and check for a large deviation
in the fillet creation.
1000738 Surfaces %I% and %I% used to create a fillet do not intersect with the fillet surface
edges and were not trimmed. Refer to the maximum error value and check for a large
deviation in the fillet creation.
1000739 Cannot create a five-sided patch. Only one patch created for this break.
1000740 No solids were found to exist in the database as defined in the solid list. The solid list
input was %A%
1000741 The maximum error of %G% occurred during approximation of general curve(s) into
Parametric Cubic(s).
1000742 The maximum error of %G% occurred during approximation of general surface(s)
into Parametric BiCubic(s).
1000743 The maximum error of %G% occurred during approximation of general solid(s) into
Parametric TriCubic(s).
1000744 Specified Least Squares Method value of %I% is invalid. Valid values are 1, 2, or 3.
1000900 Specified Manifold Entity Type value of %I% is invalid. Valid values are 0 and 3
1000901 Zero length vector in Hpat %I% construction.
1000902 Unable to create an hpat with the specified parametric position value of %G%
1000903 Unable to create an hpat with the specified parametric position values of %G% and
%G%
1000904 Unable to delete hpat %I%. Error status = %I%
1000905 An error occurred during the manifold operation for manifold solid %A%.
1000906 The surfaces are not correctly positioned to form a hpat.
1000907 There must be at least one hpat as input. The invalid value input was %I%
1000908 Data for solid %I% not found.
1000909 Unable to break the solid.
1000910 Hpat %I% with vertices %I%,%I%,%I%,%I%,%I%,%I%,%I%, and %I% cannot
blend with Hpat %I% with vertices %I%,%I%,%I%,%I%,%I%,%I%,%I%, and
%I%.
1000911 There must be at least two hpats as input to Blend. The invalid value input was %A%
1000950 There must be at least one plane as input. The invalid value input was %I%
1000951 There must be at least two planes as input. The invalid value input was %A%
1000952 No planes were found to exist in the database as defined in the plane list. The plane
list input was %A%
1000953 Data for plane %I% not found.
1000954 There must be at least one vector as input. The invalid value input was %I%
1898 PCL Reference Manual
Introduction

1000957 No vectors were found to exist in the database as defined in the vector list. The vector
list input was %A%
1000958 Coordinates for vector %I% not found.
1000959 Vector is parallel to plane.
1000960 Data for plane immediate not generated.
1001000 Data for coordinate frame %I% not found.
1001001 The following Coordinate Frames < %A% > are referenced and will not be deleted!
1001002 The selected vectors are parallel -- Coordinate frame cannot be defined.
1001003 Invalid coordinate system type.
1001004 %I% referenced Coordinate Frame(s) could not be deleted: %V%
1012345 I4='%I4%' F5.3='%F5.3%' F='%F%' E10.4='%E10.4%' E='%E%' G='%G%' Two
text strings = ('%A%','%A%')
1100001 The three points are collinear.

Finite Element Model Status Conditions


This group of status conditions are used to report the status of functions that are used to manipulate finite
element model entities.

2000000 FEM
2000001 node
2000002 bar
2000003 tria
2000004 quad
2000005 tetra
2000006 pyra
2000007 wedge
2000008 hex
2000009 element
2000010 There are no %A6% elements in group %A%.
2000011 nodes
2000012 elements
2000013 curve
2000014 surface
2000015 solid
2000016 base of Solid %I%
Chapter 11: Status Messages 1899
Introduction

2000017 top of Solid %I%


2000018 Node
2000019 Bar
2000020 Tria
2000021 Quad
2000022 Tetra
2000023 Pyra
2000024 Wedge
2000025 Hex
2000026 Element
2000027 Nodes
2000028 Elements
2000029 pair
2000030 pairs
2000031 Analysis Coordinate Frame
2000032 Reference Coordinate Frame
2000033 Line Mesh Tables
2000034 Patch Mesh Tables
2000035 Hpat Mesh Tables
2000036 Group " %A% " does not exist!
2001004 Surface list is blank.
2001005 Solid list is blank.
2001006 Curve list is blank.
2001007 No mesh seeds exist on curve %I%. Do you wish to continue?
2001008 No mesh exists on surface %I%. Do you wish to continue?
2001009 No elements are associated with point %I%. Do you wish to continue?
2001010 Unable to adjust mesh seed on curve %I%.
2001011 No mesh seed exists on this curve.
2001012 Please select no more than one curve.
2001014 No valid surface IDs in list: "%A%"
2001015 No valid solid IDs in list: "%A%"
2001016 No valid curve IDs in list: "%A%"
2001017 Curve %I% does not exist. Do you wish to continue?
2001018 Surface %I% does not exist. Do you wish to continue?
1900 PCL Reference Manual
Introduction

2001019 Solid %I% does not exist. Do you wish to continue?


2001020 Point %I% does not exist. Do you wish to continue?
2001026 %A% already has a mesh seed. Do you wish to replace it?
2001027 %A% already has a mesh control. Do you wish to replace it?
2001034 ===> Totals created: %I% nodes and %I% elements.
2001035 %I% %A% and %I% %A% created for %A%.
2001036 === %I% node created. ID = %A%.
2001037 === %I% nodes created. IDs = %A%.
2001038 === %I% element created. ID = %A%.
2001039 === %I% elements created. IDs = %A%.
2001040 %A% already has existing mesh. You cannot redefine it here.
2001044 Curve list is blank.
2001045 Invalid input for number of elements: "%I%".
2001046 Invalid input for Element Length (L): "%G%".
2001047 Invalid input for L1: "%G%".
2001048 Invalid input for L2: "%G%".
2001049 Global edge length = %G% is not valid.
2001050 Unable to smooth mesh with more than 8 elements at a node.
2001051 Nonzero acceleration factor may cause mesh smoothing failure if geometry is highly
curved or skewed.
2001052 Smoothing %A% ( %I% cycles max )
2001053 Creating %I% midedge nodes.
2001054 Creating %I% midface nodes.
2001055 Creating %I% midbody nodes.
2001056 Storing %I% nodes in database.
2001057 Storing %I% elements in database.
2001058 Smoothing took %I% cycle(s).
2001060 List overflow in %A%. Call customer support.
2001070 Unable to acquire %I% words of virtual memory.
2001071 Unable to acquire an array of %I% character strings in virtual memory with each
string having %I% characters.
2001072 Mesh for %A% has far too many elements. Reduce mesh density and try again.
2001073 Mesher could not create a mesh on %A% due to insufficient memory. Please retry
using a higher global edge length or after increasing the swap space.
Chapter 11: Status Messages 1901
Introduction

2001080 System error in FEM_U_VIR_MEM_BLOCK. NBLOCK = %I% NOPEN = %I%


Call customer support.
2001081 System error in FEM_U_VIR_CMEM_BLOCK. NBLOCK = %I% NOPEN = %I%
Call customer support.
2001082 Memory allocation error
2001083 A system error has occurred in the FEM C Applications Memory Manager.
2001084 Unable to acquire %I% bytes of virtual memory.
2001085 A programming error has resulted in an attempt to free unallocated memory.
2001086 A programming error has resulted in an attempt to reallocate unallocated memory.
2001087 A programming error has resulted in an attempt to acquire zero bytes of virtual
memory.
2001088 %A% has zero length. Ignored.
2001089 %A% does not have a meshable shape. Ignored.
2001090 %A% does not have a meshable shape. Do you wish to skip it and continue?
2001091 %A% does not have a meshable shape.
2001092 Solid %I% has an unacceptable mesh definition. Number of elements: %I% %I%
%I% %I% %I% %I% %I% %I% %I% %I% %I% %I%.
2001093 Mesh definition requires a transition mesh on degenerate %A%. Not permitted.
2001094 Triangle elements were produced on %I% surface(s). This can be avoided by making
the total number of elements around each surface perimeter an even number.
2001095 Wedge elements were produced on %I% solid(s). This can be avoided by making the
total number of elements around each transition face perimeter an even number.
2001096 %A% cannot be meshed with the specified mesh definition.
2001097 The mesh definitions for %A% and %A% are conflicting.
2001098 No mesh exists on curve %I%. Do you wish to continue?
2001099 No mesh exists on solid %I%. Do you wish to continue?
2001101 Unable to mesh degenerate SGM surface with specified mesh parameters. One finite
element edge or a mesh seed of one mesh edge will be created on the surface edge
segment. This may not be suitable for subsequent meshing. This degenerate edge
segment can be repaired using tools, such as Edit, Point, Equivalence from the
Geometry menu. After any repair, the mesh seed should be reapplied.
2001102 %A% has interior hard geometry. Isomesh may not match it. Do you wish to
continue?
2001103 Do you wish to delete the existing mesh on %A%?
2001104 No nodes or elements were created for %A%.
2001105 %A% %I% does not exist.
2001106 %A% entry is blank.
1902 PCL Reference Manual
Introduction

2001107 %A% has not been meshed. Do you wish to skip it and continue?
2001108 Aligning midnodes for %I% elements on %A%.
2001109 %A% is not biparametric so it cannot be meshed by IsoMesh. Either decompose
surface or use Paver.
2001110 %A% is not triparametric so it cannot be meshed by IsoMesh.
2001111 %A% is in element property region "%A%" which does not support %A%. Do you
wish to continue?
2001112 %A% is not biparametric so it cannot be meshed by IsoMesh. Do you wish to skip it
and continue?
2001113 %A% is not triparametric so it cannot be meshed by IsoMesh. Do you wish to skip
it and continue?
2001114 %A% cannot be meshed with %A% elements. Do you wish to mesh it with tet
elements? ("No" or "NoForAll" will skip this solid and continue.)
2001115 The IsoMesher cannot mesh solid %A% even with tet elements. Ignored.
2001116 %A% already has a beam mesh.
2001117 Mesh mismatch at %A%. Do you wish to proceed anyway?
2001118 Creating mesh seeds
2001119 Smoothing mesh seeds ( %I% cycles max )
2001120 Max number was exceeded for %A% to include all hard points.
2001121 Curvature Error value (%F%) may not be negative.
2001122 Minimum Length value (%F%) may not be negative.
2001123 Max Len must be greater than Min Len.
2001124 Minimum Number (%I%) must be greater than zero.
2001125 Max Number must be greater than or equal to Min Number.
2001126 %I% element seed created for %A%.
2001127 === Uniform element length = %F%
2001128 === Uniform element length = %F% (average)
2001129 === Maximum curvature error = %F%
2001130 === Minimum element length = %F%
2001131 === Maximum element length = %F%
2001132 To use desired edge lengths both values need to be greater than 0.0 and the max. edge
length must be greater than the min. edge length.
2001134 Input data must be in the range 0.0 to 1.0.
2001135 The mesh seed table is full.
2001136 One or more seed locations lie outside the valid range 0.0 to 1.0.
Chapter 11: Status Messages 1903
Introduction

2001137 0.0 has been added to the seed table.


2001138 1.0 has been added to the seed table.
2001139 %I% duplicate location(s) within %F% deleted. Use Show/Mesh Seed to see
locations retained.
2001140 %I% invalid curve id(s) in list: "%A%"
2001141 Number of elements along must be greater than zero.
2001142 Number of elements across must be greater than zero.
2001143 Invalid mesh size option: %I%
2001144 %A% and %A% have mesh and/or seed mismatch.
2001145 %A% and %A% both have a beam mesh.
2001146 Unable to transfer all beam elements for %A%.
2001147 Processing the geometry...
2001148 Completed Meshing the Vertices...
2001149 Completed Meshing the Edges...
2001150 Completed Meshing the Faces...
2001151 Completed Meshing the Solids...
2001152 Mesher failure due to bad normals OR bad connectivity.
2001153 Tri shell mesh is not compatible with the order of tets requested.
2001154 Unable to mesh geometry due to degenerate edge.
2001155 Use only Tria3, Tria6 or Tria9 elements to create Tetrahedral elements.
2001156 %A% has interior hard geometry on its face. Isomesh may not match it. Do you wish
to continue?
2001157 PCL Function is blank.
2001158 Number of nodes must be 2 or more.
2001159 Invalid arguments for PCL Function "%A%".
2001160 Third argument of "roberts" function must be either 0.0 or 0.5. 0.0 clusters nodes at
far end (u = 1.0). 0.5 clusters nodes at both ends.
2001161 The first two arguments of PCL Function must be "j" and "N".
2001162 %A% argument of "%A%" function is outside allowable range: (%A% to %A%).
2001163 %I% invalid surface id(s) in list: "%A%"
2001164 Isomesher does not support surface mesh control. Surface mesh control applied to
%A% ignored.
2001165 Two or more edges of a face are intersecting.
2001166 Two or more faces of a solid are intersecting.
2001167 The shell mesh selected has duplicate elements. Correct the mesh and try again.
1904 PCL Reference Manual
Introduction

2001168 The Global Edge Length, %G%, may be inappropriately small. Do you wish to
continue?
2001169 The Global Edge Length, %G%, may be inappropriately small and could result in
approximately %I% elements. Do you wish to continue?
2001170 The Global Edge Length, %G%, may be inappropriately large and may collapse the
elements. Do you wish to continue.
2001171 %A% are degenerate parametric (blue) solids and the tet-mesher may fail when
meshing. There are currently 3 options available to tet-mesh these solids (1) Convert
these solids into a Brep (white) solid and tet-mesh, (2) Surface mesh the faces of
theses solids and invoke the tet-mesher by selecting the surface mesh, (3) Use Iso-
Mesher. Do you want to continue?
2001172 The Edge Length Fraction, %G%, may be inappropriately small. Do you wish to
continue?
2001173 The Edge Length Fraction, %G%, may be inappropriately small and could result in
approximately %I% elements. Do you wish to continue?
2001174 The Edge Length Fraction, %G%, may be inappropriately large and may collapse the
elemnts. Do you wish to continue.
2001175 Minimum l/L must be between 0.05 and 1.0
2001200 Element %I% does not exist. Do you wish to continue?
2001211 Invalid Element ID List: "%A%".
2001212 The Element ID List contains %I% duplicate ID(s).
2001213 %I% ID(s) in the Element ID List already in use: %A%
2001214 The number of elements generated is larger than the number of element IDs listed in
"Element ID list". The last ID used from the list is ID = %I%. Remaining elements
are numbered sequentially starting with ID = %I%.
2001215 Unable to associate an element with the proper order of geometry.
2001216 Negative IDs or IDs greater than 2,147,483,647 are not permitted in the element ID
list.
2001217 There are no elements associated with %A%.
2001218 Element list is blank.
2001219 Element edge list is blank.
2001220 No valid element IDs in list: "%A%"
2001221 No valid element edge IDs in list: "%A%"
2001222 Unable to create element with invalid ID ( < 0 or > 2,147,483,647 ).
2001223 One invalid element face was found in the input list. The invalid face will be ignored.
2001224 %I% invalid element faces were found in the input list. The invalid faces will be
ignored.
Chapter 11: Status Messages 1905
Introduction

2001225 No valid element faces found in the input list.


2001300 Node %I% does not exist. Do you wish to continue?
2001301 No valid node IDs in list: "%A%"
2001302 Coordinates for node %I% do not exist.
2001311 Invalid Node ID List: "%A%".
2001312 The Node ID List contains %I% duplicate ID(s).
2001313 %I% ID(s) in the Node ID List already in use: %A%
2001314 The number of nodes generated is larger than the number of node IDs listed in "Node
ID list". The last ID used from the list is ID = %I%. Remaining nodes are numbered
sequentially starting with ID = %I%.
2001315 Node %I% still associated with an element and cannot be deleted.
2001316 Node %I% still associated with an element and cannot be deleted.
2001317 Node %I% still associated with an MPC and cannot be deleted.
2001318 Negative IDs or IDs greater than 2,147,483,647 are not permitted in the node ID list.
2001319 Node list is blank.
2001320 Cannot associate nodes to multiple geometries. This is caused by non-matching
geometry. Loads and boundary conditions applied to geometry may not transfer to the
finite element model correctly. Do you want to highlight the unmatching geometry?
2001321 No valid coordinate frame ids in list: "%A%"
2001322 Node %I% references nonexistent coordinate frame %I%.
2001323 Node %I% already exists. Will you permit overwrite?
2001324 Existing node %I% skipped.
2001325 Unable to create node with invalid ID ( < 0 or > 2,147,483,647 ).
2001326 Node %I% does not lie on the curve %A%.
2001327 The node list is empty.
2001328 Some nodes are already associated with geometry.
2002001 Quad element %I% is degenerate.
2002002 Quad Skew Test Results
2002003 Quad element %I% has a skew factor of %G%.
2002004 Calculating Skew Factor for %I% elements.
2002005 Okay to split quad element %I% with a skew factor of %G%? ( Exceeds threshold of
%G% )
2002006 Unable to determine element coordinate system for quad %I%.
2002007 Okay to split quad element %I% with one re-entrant corner into two trias?
2002008 Quad element %I% has two re-entrant corners.
1906 PCL Reference Manual
Introduction

2002009 There are no elements in group %A%.


2002010 Element ID Assignment
2002011 Assigning Element IDs for %I% elements.
2002012 Assigning Node IDs for %I% elements.
2002013 Quad Warp Test Results
2002014 Calculating Warp Factor for %I% elements.
2002015 Calculating Aspect Factor for %I% elements.
2002016 Okay to split quad element %I% with a warp factor of %G%? ( Exceeds threshold of
%G% )
2002017 Okay to split quad element %I% with a aspect factor of %G%? ( Exceeds threshold
of %G% )
2002018 Quad element %I% has a warp factor of %G%.
2002019 Quad element %I% has a aspect factor of %G%. ( Exceeds threshold of %G% )
2002020 Calculating Taper Factor for %I% elements.
2002021 Okay to split quad element %I% with a taper factor of %G%? ( Exceeds threshold of
%G% )
2002022 Quad element %I% has a taper factor of %G%. ( Exceeds threshold of %G% )
2002023 Tria Skew Test Results
2002024 Element Verification Threshold Factor is %F4.3%. Must be greater than 0. or less
than or equal to %F4.3%.
2002025 Tria element %I% has a skew factor of %G%. ( Exceeds threshold of %G% )
2002026 There are no shell elements in group %A%.
2002027 Unable to compute normal vector for element %A%. Skipped.
2002028 Guiding element ID not specified. Do you wish to continue and use the first element
encountered?
2002029 Guiding element %I% is not in group %A%.
2002030 Testing for reversed normals is indeterminate at a shell branch. Do you wish to
proceed under the assumption that elements meeting at a branch junction are not
connected to each other?
2002031 Reversed normals detected for %I% %A% in group %A%.
2002032 There are NO reversed normals in group %A%.
2002033 Normal direction corrected for %I% %A%.
2002034 Tria element %I% has a aspect factor of %G%. ( Exceeds threshold of %G% )
2002035 Tet element %I% has a aspect factor of %G%. ( Exceeds threshold of %G% )
2002036 Tet Collapse Test Results
2002037 Tet Aspect Test Results
Chapter 11: Status Messages 1907
Introduction

2002038 Tet element %I% has a collapse factor of %G%. ( Exceeds threshold of %G% )
2002039 Calculating Collapse Factor for %I% elements.
2002040 Wedge Aspect Test Results
2002041 Wedge element %I% has a aspect factor of %G%. ( Exceeds threshold of %G% )
2002042 Wedge Face Skew Test Results
2002043 Wedge element %I% has a face skew factor of %G%. ( Exceeds threshold of %G% )
2002044 %A% element %I% has a %A% %A% of %F6.4%.
2002045 skew
2002046 aspect
2002047 warp
2002048 taper
2002049 face skew
2002050 collapse
2002051 edge angle
2002052 factor
2002053 angle
2002054 ratio
2002055 Checking %I% elements for reversed normals.
2002056 Reversing %I% elements.
2002057 Further editing may be required if the reversed elements have loads/BCs or material
angle assigned.
2002058 Wedge Face Warp Test Results
2002059 face warp
2002060 %A% %A% Test Results
2002061 %A% element %I% has a %A% of %G%.
2002062 face taper
2002063 twist
2002064 Calculating %A% %A% for %I% %A%s.
2002065 Jacobian Zero
2002066 Elements in group %A% are not valid for Jacobian test.
2002067 Jacobian Ratio
2002068 Assign IDs
2002069 Connectivity
2002070 %I% Elements reversed: %V%
1908 PCL Reference Manual
Introduction

2002071 %I% Element reversed: %V%


2002072 No Elements reversed.
2002073 %I% Elements failed connectivity test: %V%
2002074 %I% Element failed connectivity test: %V%
2002075 No Elements failed connectivity test.
2002076 Normal Offset
2002077 Tangent Offset
2002078 all
2002079 There are no elements in the database.
2002080 Checking %I% elements for duplicates.
2002081 There are NO duplicate elements in the model.
2002082 %I% duplicate element %A% detected in the model.
2002083 %A% to be deleted: %V%
2002084 %A% to be retained: %V%
2002085 %I% duplicate %A% deleted.
2002086 No duplicate elements deleted.
2002087 tests
2002088 Unable to create geometry for element %I%.
2002089 Group %A% contains %I% sets of elements that are not connected to each other.
Color coding will not show reversed normals between unconnected elements.
Equivalencing must be performed first.
2002090 There are no elements in group %A% with associated geometry.
2002091 The maximum geometry fit error is %F% at element %I%.
2002092 Geometry Fit
2002093 Verifying geometry fit error for %I% shell elements.
2002094 Verifying geometry fit error for %I% solid elements.
2003001 Okay to delete the following FEM entities, including meshes on geometric entities?
%A%
2003002 Entity list is blank. Either select entities or exit menu by selecting another option.
2003003 Mesh on surface %I% deleted.
2003004 Meshes on %I% surfaces deleted.
2003005 Element %I% deleted.
2003006 %I% Element deleted: %V%
2003007 %I% Elements deleted: %V%
2003008 No Elements deleted.
Chapter 11: Status Messages 1909
Introduction

2003009 Node %I% deleted.


2003010 %I% Node deleted: %V%
2003011 %I% Nodes deleted: %V%
2003012 No Nodes deleted.
2003013 Mesh seeds on curve %I% deleted.
2003014 Mesh seeds on %I% curves deleted.
2003015 Mesh on curve %I% deleted.
2003016 Meshes on %I% curves deleted.
2003017 Mesh on solid %I% deleted.
2003018 Meshes on %I% solids deleted.
2003019 %I% Group deleted: %V%
2003020 %I% Groups deleted: %V%
2003021 No Groups deleted.
2003022 %I% MPC deleted: %V%
2003023 %I% MPCs deleted: %V%
2003024 No MPCs deleted.
2003025 No FEM entities deleted.
2003026 Group %A% is the current group and cannot be deleted.
2003027 %I% FEM entity does not exist or is still associated and cannot be deleted: %V%
2003028 %I% FEM entities do not exist or are still associated and cannot be deleted: %V%
2003029 Meshes deleted from %I% solids: %V%
2003030 Mesh deleted from %I% solid: %V%
2003031 No meshes deleted from solids.
2003032 Meshes deleted from %I% surfaces: %V%
2003033 Mesh deleted from %I% surface: %V%
2003034 No meshes deleted from surfaces.
2003035 Meshes deleted from %I% curves: %V%
2003036 Mesh deleted from %I% curve: %V%
2003037 No meshes deleted from curves.
2003038 Mesh seeds deleted from %I% edges: %V%
2003039 Mesh seeds deleted from %I% edge: %V%
2003040 No mesh seeds deleted from edges.
2003041 Mesh does not exist on %I% entities: %V%
2003042 Mesh does not exist on %I% entity: %V%
1910 PCL Reference Manual
Introduction

2003043 Mesh seeds do not exist on %I% edges: %V%


2003044 Mesh seeds do not exist on %I% edge: %V%
2003045 Node location table for curve %I% does not exist.
2003046 Node location table for curve %I% contains the wrong number of nodes.
2003047 Not enough elements to account for all significant slope discontinuities and hard
points on %A%. Will you permit an automatic increase for this curve?
2003048 Unable to compute slope discontinuities for %A%.
2003049 The number of hard points on %A% is now %I% (was %I%). Do you wish to adjust
the existing mesh seed to reflect this change?
2003050 %F% is not a valid Node/Edge Snap Angle.
2003051 Tabular seed does not include all hard point locations for %A%. Curve skipped.
2003080 Deleting mesh from %I% curves.
2003081 Deleting mesh from %I% surfaces.
2003082 Deleting mesh from %I% solids.
2003083 Deleting mesh seeds from %I% edges.
2003084 Deleting %I% nodes.
2003085 Deleting %I% elements.
2003086 Deleting %I% MPCs.
2003087 Deleting %I% associated nodes.
2003088 Deleting %I% associated groups.
2003089 Adding %I% Rows to the Spreadsheet.
2003090 Removing %I% Rows from the Spreadsheet.
2004001 Beginning to form the node connectivity table.
2004002 Beginning to form the element connectivity table.
2004003 Beginning optimization.
2004004 Updating node IDs.
2004005 Updating element IDs.
2004006 Bandwidth parameters before and after optimization by %A%.
2004007 %A7% Bandwidth Profile Max Wavef Avg Wavefront RMS Wavefront
2004008 %A7% %I10% %I10% %I10% %G15.4% %G15.4%
2004009 Scratch area exceeded in %A%. Call customer support.
2004010 The number of nodes in this structure exceeds the limit of %I%.
2004011 Invalid starting ID %I% specified. The starting ID must be positive.
2004012 Processing unreferenced nodes.
Chapter 11: Status Messages 1911
Introduction

2004013 Invalid object "%A%" specified. Valid objects are "Nodes" and "Elements".
2004014 Invalid method "%A%" specified. Valid methods are "Cuthill-Mckee", "Gibbs-
Poole-Stockmeyer", or "Both".
2004015 Invalid minimization criterion "%A%" specified. Valid criterion are "RMS
Wavefront", "Bandwidth", "Profile", and "Max Wavefront".
2004016 Building element connectivity table.
2004017 Building node connectivity table from elements.
2004018 Building node connectivity table from MPCs.
2004019 Optimization completed.
2004020 Allocating more memory for the connectivity table.
2004021 Unable to optimize nodes because there are no elements or MPCs in the model.
2005001 There must be at least two nodes in the model to perform equivalencing.
2005002 There are no nodes associated with group "%A%".
2005003 Checking element edge lengths...
2005004 Checking proximity of nodes...
2005005 Realigning database with new node numbers...
2005006 Geometric equivalencing completed. %I% nodes deleted.
2005007 The current value for the equivalencing tolerance, %F%, would cause the collapse of
at least element %I%. The equivalencing tolerance will be reduced automatically to
%F% to prevent this.
2005008 There are no selected groups in the list box.
2005009 There must be at least two nodes in the group list to perform equivalencing.
2005010 Nodal equivalencing aborted.
2005011 Database realignment completed.
2005012 Comparing duplicate node IDs with MPCs...
2005013 A data management programming error occurred while attempting to plot the
Equivalencing markers.
2005014 Geometric equivalencing completed. 1 node deleted.
2005015 %I% nodes are to be deleted. Do you wish to save the changes due to Equivalencing?
2005016 One node is to be deleted. Do you wish to save the changes due to Equivalencing?
2005017 The equivalencing tolerance must be positive.
2005018 The current value for the equivalencing tolerance, %F%, would cause the collapse of
at least element %I%. <"YES"> to reduce the tolerance automatically to %F% ,
<"NO"> to continue using the higher tolerance ?
2005019 Node %I% and %I% belong to the same Element or connected Elements. To continue
could collapse these Elements. Do You want to equivalence them ?
1912 PCL Reference Manual
Introduction

2005020 Conflicting Analysis Coordinate Frames (ACF) have been detected for the following
equivalenced Displacement nodes: %A%. ===Select YES to use the primary node
ACF for the retained nodes. ===Select NO to use the secondary node ACF for the
retained nodes. ===Select ABORT to discontinue equivalencing of nodal ACFs.
2005021 Conflicting Analysis Coordinate Frames (ACF) are detected for following
equivalenced nodes: %A%. ===If Displacements are applied to either node, the ACF
of the Displacement node will be used for the retained node. ===If the ACF is global
for either node, then the ACF of the retained node will global. ===Otherwise, the
ACF of the primary node will be for the retained node.
2005022 Error found in node equivalencing.
2006001 Invalid sequence specified. The sequence must be positive.
2006002 Invalid coefficient specified. The coefficient must be nonzero.
2006003 Invalid DOF list specified. At least one DOF must be selected.
2006004 Invalid node list specified. At least one node must be selected.
2006005 Invalid Geometry Flag in the MPC Type definition. This is not a nodal MPC.
2006006 Invalid MPC ID %I% specified. The ID must be positive.
2006007 MPC %I% already exists. Will you permit overwrite?
2006008 Unable to delete MPC %I%.
2006009 Invalid number of terms %I% specified. The number of terms must be positive.
2006010 No dependent terms have been specified.
2006011 No independent terms have been specified.
2006012 The number of dependent terms %I% is not in the valid range (%I% to %I%) for this
MPC type.
2006013 The number of dependent terms %I% is invalid. Exactly %I% dependent terms must
be specified for this MPC type.
2006014 The number of independent terms %I% is not in the valid range (%I% to %I%) for
this MPC type.
2006015 The number of independent terms %I% is invalid. Exactly %I% independent terms
must be specified for this MPC type.
2006016 No nodes specified for term %I%.
2006017 The number of nodes in each dependent term must be equal for this MPC type.
2006018 The number of nodes in each independent term must be equal for this MPC type.
2006019 The number of nodes per dependent term %I% is invalid. Exactly %I% nodes must
be specified in each dependent term for this MPC type.
2006020 The number of nodes per independent term %I% is invalid. Exactly %I% nodes must
be specified in each independent term for this MPC type.
Chapter 11: Status Messages 1913
Introduction

2006021 The number of nodes per dependent term %I% is invalid. It must be a multiple of
%I% for this MPC type.
2006022 The number of nodes per independent term %I% is invalid. It must be a multiple of
%I% for this MPC type.
2006023 The ratio of the number of nodes per dependent term to the number of nodes per
independent term (%I% to %I%) is invalid. It must be %I% to %I% for this MPC
type.
2006024 The number of DOFs in each dependent term must be equal for this MPC type.
2006025 The number of DOFs in each independent term must be equal for this MPC type.
2006026 The number of DOFs in each term must be equal for this MPC type.
2006027 The number of DOFs %I% in term %I% is invalid. The number of DOFs in each
dependent term must be less than or equal to %I% for this MPC type.
2006028 The number of DOFs %I% in term %I% is invalid. The number of DOFs in each
independent term must be less than or equal to %I% for this MPC type.
2006029 Degree of freedom %A% of Node %I% specified in more than one term which is not
valid for this MPC type.
2006030 Node %I% specified in more than one term which may not be valid for this MPC type.
Do you wish to continue?
2006031 Degree of freedom %A% specified in term %I% is not valid for this MPC type.
2006032 No terms have been specified.
2006033 Unable to acquire %I% characters of virtual memory.
2006034 MPC %I% does not exist.
2006035 Unable to read Sub-MPCs for MPC %I%.
2006036 Unable to read terms for Sub-MPC %I% of MPC %I%.
2006037 MPC %I% is not valid for the current Analysis Code and Analysis Type preferences
and therefore cannot be shown.
2006038 MPC %I% is not valid for the current Analysis Code and Analysis Type preferences
and therefore cannot be modified.
2006039 Invalid MPC ID specified. Negative MPC IDs or IDs greater than 2,147,483,647 are
not allowed.
2006040 Error writing MPC %I% to the database.
2006041 Error modifying MPC %I% in the database.
2006042 MPC %I% created.
2006043 MPC %I% modified.
2006044 MPC %I% deleted.
2006045 No MPC Definitions exist for analysis code "%A%" and analysis type "%A%".
2006046 No Coordinate Frame specified.
1914 PCL Reference Manual
Introduction

2006047 No Dependent Region list specified.


2006048 No Independent Region list specified.
2006049 No Nodes in the model.
2006050 The number of nodes associated to entities in the dependent region (%I%) and the
independent region (%I%) are not equal.
2006051 Cylindrical Coordinate Frame
2006052 Normal Coordinate Frame
2006053 Coordinate Frame %I% does not exist.
2006054 Coordinate Frame %I% is not a cylindrical coordinate frame.
2006055 No independent node found for dependent node %I% within the specified tolerance
(%G%).
2006056 More than one independent node found for dependent node %I% within the specified
tolerance (%G%).
2006059 Node pair %I% and %I% are coincident. This is only allowed if their radial
coordinates are zero.
2006060 The difference in the theta coordinates of node pair %I% and %I% does not divide
evenly into 360 degrees.
2006061 The difference in the theta coordinates of the all of the node pairs are not equal within
tolerance (%G%).
2006064 Invalid Coordinate Frame Option "%A%" specified. Valid options are "Automatic"
and "User Specified".
2006065 Invalid Normal Axis "%A%" specified. Valid axes are "Axis 1", "Axis 2" and "Axis
3".
2006066 Invalid Node Comparison Tolerance specified. The tolerance must be greater than
zero.
2006067 There are no nodes associated to the dependent region entities.
2006068 There are no nodes associated to the independent region entities.
2006069 Unable to transform the nodal coordinates from the global coordinate frame to
Coordinate Frame %I%.
2006070 The dependent region list "%A%" contains invalid entities. Do you want to ignore
them?
2006071 The independent region list "%A%" contains invalid entities. Do you want to ignore
them?
2006072 Unable to create a coordinate frame.
2006073 Unable to associate Coordinate Frame %I% to Node %I% as the Analysis Coordinate
Frame.
Chapter 11: Status Messages 1915
Introduction

2006074 Rectangular Coordinate Frame %I% created for nodes which lie on the axis of
symmetry.
2006075 %I% rectangular coordinate frame(s) starting at ID %I% were created normal to the
surface(s).
2006076 Node %I% found in both the dependent and independent regions. This is only
allowed if the radial coordinate of the node is zero.
2006077 Node %I% found in both the dependent and independent regions.
2006078 Unable to read the MPC Type Definition for MPC %I% from the database.
2006079 Unable to read the MPC Type Definition for MPC Type %I% from the database.
2006080 Unable to read the valid degrees of freedom for MPC Type "%A%" from the
database.
2006081 The Analysis Coordinate Frame of %I% nodes has been overwritten.
2006082 Storing the MPC in the database.
2006083 Assigning Analysis Coordinate Frames to Nodes.
2006084 Invalid Node Comparison Tolerance %G% specified. The tolerance must be greater
than zero.
2006085 MPC %I% in Neutral File has type of %A% which is not a valid 2.5 MPC type. MPC
is ignored.
2006086 There must be a total of six independent degrees of freedom for this MPC type.
2006087 Only two different nodes can be used for this MPC type.
2006088 The minimum and maximum sequence values must be associated with independent
terms.
2006089 Only three different nodes can be used for this MPC type.
2006090 Invalid DOF list specified. Only one DOF may be selected.
2006091 MPC %I% not imported because referenced node %I% does not exist.
2006092 RSPLINE G/C pairs may not be properly ordered. Check for proper sequencing in the
element/modify/MPC form.
2007001 No valid node locations in list: "%A%"
2007002 No valid node ids in list: "%A%"
2007003 No valid node ids in corner %I% node list
2007004 No valid Reference CID in list: "%A%"
2007005 No valid Analysis CID in list: "%A%"
2007006 No valid element IDs in list: "%A%"
2007007 Invalid FEM entity type code
2007008 Hybrid Surface Mesher supports Tria3, Tria6 and Tria9 element types only
2007020 Too many IDs in list: "%A%". Only %I% allowed.
1916 PCL Reference Manual
Introduction

2007021 Too few IDs in list: "%A%". Must be at least %I%.


2007022 Too few IDs in list: "%A%". Must be at least %I% to match the number of elements
specified.
2007023 Only %I% new node IDs in list. Must be at least %I% to match the number of nodes
specified.
2007024 Must be at least %I% nodes in corner node list %I%.
2007030 === ELEMENT %I% CREATED. CONNECTIVITY LIST: "%A%"
2007032 === Nodes %I% created.
2007040 Attempting to calculate parametric coordinates, but geometry was not specified.
2007041 Element %I% is of type "%A%", cannot convert to type "%A%".
2007042 Element topology %A% is not valid for for the property set currently assigned to
element %I%. The property set is %A%.
2007043 Unable to evaluate point %I%. OK to create unassociated node?
2007044 Unable to evaluate curve %I%. OK to create unassociated node?
2007045 Unable to evaluate surface %I%. OK to create unassociated node?
2007046 Unable to evaluate solid %I%. OK to create unassociated node?
2007060 Parametric coordinates valid.
2007061 Parametric coordinates are not valid.
2007062 Parametric coordinates invalid, but okay to create unassociated.
2007063 Node %I% is duplicated in the connectivity list for element %I%. The proposed
connectivity list is: %A%.
2007064 Essential nodes %I% and %I% would result in a zero edge length for edge %I% of
element %I%. The proposed connectivity list is: %A%.
2007065 Corner node order changed for element %I% to avoid negative volume.
2007080 Unable to extract an element definition from the input lists.
2007090 Node %I% ( specified in list %I% ) does not exist.
2007111 Unable to associate node %I% with geometry.
2007112 Unable to associate element %I% with geometry.
2007113 The following node ids have not been associated to the geometry : %A%
2007120 %A% is not biparametric so it cannot be edited.
2007121 %A% is not triparametric so it cannot be edited.
2007122 Geometry has no parametrization so all new created midnodes will not be associated.
2007501 unspecified error occurred in %A%. Call support support.
2007701 The DOF list name is blank. Please enter a name for the DOF list.
2007702 No terms were defined. Please enter DOF and node term definitions.
Chapter 11: Status Messages 1917
Introduction

2007703 Unable to process the node list. Please reenter and try again.
2007704 Unable to add the node list in the space allowed.
2007705 DOF List %A% already exists. Do you wish to overwrite?
2007706 Too many DOF Lists selected. Select only one and try again.
2008000 Paver cannot mesh a boundary on %A% with an odd number of elements.
2008001 Midnodes cannot be created because surface %A% has a degenerate edge.
2008002 The Paver cannot mesh %A% with Tri elements.
2008003 The Mesher could not complete the mesh on %A%. Try modifying element edge
length by changing the seed definition or global edge length.
2008004 Could not calculate the node location relative to %A% within the geometric
tolerance. Try a larger geometric tolerance.
2008005 Could not calculate the node location relative to %A% within the geometric
tolerance. Try a larger geometric tolerance.
2008006 Could not find a vertex within geometric tolerance of the node on %A%. Try a larger
geometric tolerance.
2008007 Unable to optimize mesh mesher nodes on %A%. May be due either to the size of the
model or to the existence of one or more unreferenced nodes.
2008008 The mesher could not complete the mesh on %A%. A surface has degeneracies where
the normal does not exist. The surface should probably be edited or changed to form
new geometry without this class of degeneracy.
2008009 The mesher cannot mesh %A% because it is poorly defined or the associated
topology is invalid.
2008010 Error while smoothing the mesh on %A%. Varying mesh size may allow completion
of the mesh.
2008011 Error while improving mesh topology by means of inserting and deleting elements
within the mesher on %A%. Varying mesh size may allow completion of the mesh.
2008012 Unable to calculate a point on a curve or edge of %A%.
2008013 Unable to evaluate points or derivatives on %A%.
2008014 Mesher received a boundary with less than three edges on %A%. Try a smaller
element size.
2008015 Surface normal (%A%) is zero at Point %I%. x=%F4.3% y=%F4.3% z=%F4.3%.
2008016 Surface normal (%A%) is zero on curve %A%. x=%F4.3% y=%F4.3% z=%F4.3%.
2008017 Surface normal (%A%) is zero at x=%F4.3% y=%F4.3% z=%F4.3%.
2008018 Move on curve failure on %A%. Mesher reached the end of %A% while trying to
move from x=%F4.3% y=%F4.3% z=%F4.3%. (parametric location %F4.3%) %F%
units to %A% direction.
2008019 Unable to get enough elements from mfe.
1918 PCL Reference Manual
Introduction

2008020 %A% Would you like to retry using TRI elements?"


2008021 At least one of the midedge nodes was not snapped to the trim boundary.
2008022 Unable to extract midedge nodes.
2008023 Fatal List Manager error in the mesher.
2008024 Fatal Topology Engine error in the mesher.
2008025 Fatal MFE error in the mesher.
2008026 Fatal Hash Utility error in the mesher.
2008027 Unknown fatal failure in the mesher.
2008028 Only tria elements accepted in tria element shell.
2008029 Meshing aborted by user
2008030 %A%, edge %A% is circular but the Paver could create only one node for it.
2008031 Paver failed to mesh the following surfaces: %A%.
2008032 Error while remeshing to improve element quality in %A%. Varying mesh size may
allow completion of mesh.
2008033 Unable to create node locations on edge %A%. Please remove the surfaces that share
the offending edge, or edit the surfaces and retry meshing.
2008034 Inconsistent mesh on boundary %A% delete existing boundary mesh and retry again
2008050 Do you wish to continue with these boundary quad faces.
2008051 Do you wish to continue with these boundary tri faces.
2008052 Could not extract anything from the input list.
2008053 Only one geometric or element type can be used. mixed.
2008054 Solid has no surfaces and is not meshable.
2008055 Do you wish to continue with the next item?
2008100 %A% not valid in renumber list. Must input at least %I% IDs.
2008101 Duplicate IDs not permitted in renumber list: %A%. Must be at least %I%.
2008102 %I% FEM entity renumbered. New ID is: %V%
2008103 %I% FEM entities renumbered. New IDs are: %V%
2008104 No FEM entities renumbered.
2008105 Invalid IDs in list: %A%. IDs must be positive integers.
2008106 Generating %I% IDs beginning at %I% produces an invalid ID. Try a smaller start
ID.
2008107 New ids conflict with existing ids.
2008108 Generating IDs by offset %I% produces an invalid ID from %I%.
2008109 The id offset string, %A%, is invalid.
2008500 Element interpolation order must be 2, 3 or 4.
Chapter 11: Status Messages 1919
Introduction

2008501 Element essential node is missing.


2008502 Unknown element shape.
2008503 Error Interpolating Hpat on Element.
2008504 Invalid element topology for PATRAN 2.5 library.
2008505 Calculating the free faces for %I% elements.
2008506 Calculating the free edges for %I% elements.
2008507 %A% is not valid for %A% %A% analysis.
2008508 Duplicate ids are not permitted in %A%.
2008509 Element edge midnode location calculation failed for p-element midnode placement.
2008510 Function execution will be aborted.
2008511 Edge midnodes will be placed at the linear edge midnode locations.
2008512 Function execution will continue.
2009001 Node %I% is not part of element %I%.
2009002 Node %I% does not exist.
2009003 Node %I% does not exist. OK to ignore it and continue?
2009004 Node %I% already exists.
2009005 There are no existing nodes in the node list.
2009006 Element %I% does not exist.
2009007 Element %I% does not exist. OK to ignore it and continue?
2009008 Element %I% already exists.
2009009 There are no existing elements in the element list.
2009010 Modifying %I% elements to "%A%" topology.
2009011 Number of nodes (%I%) must match number of elements (%I%) if number of nodes
is more than one.
2009012 Number of edges (%I%) must match number of elements (%I%) if number of edges
is more than one.
2009013 The Element List contains %I% duplicate element id(s).
2009014 Element %I% is not a quad. Skipped.
2009015 Element %I% is not a quad. Do you wish to skip it and continue?
2009016 Edge %I%.%I% is not shared by element %I%.
2009017 Element %I% is not a tria. Skipped.
2009018 Element %I% is not a tria. Do you wish to skip it and continue?
2009019 Node %I% is not a corner of element %I%.
2009020 Element %I% is not a bar. Skipped.
1920 PCL Reference Manual
Introduction

2009021 Element %I% is not a bar. Do you wish to skip it and continue?
2009022 No Nodes found to separate Elements.
2009023 There are Elements remaining, which do not share Edges. Do You want to split them
using the Edge Id from the Element Edge List?
2009101 Only %I% new element IDs in list. Must be at least %I% to match the number of
elements specified.
2009102 A new element type has not been specified.
2009201 Feature size = %A% is not valid.
2009202 All hard point flags are off.
2009203 Non-tria3 element was found in this model. The current version of stitching program
only processes tria3 elements.
2009204 Invalid merge Tolerance %F% specified. The tolerance must be greater than zero.
2009205 No tria3 elements on the list.
2009206 Invalid Gap Tolerance %F% specified. The tolerance must be greater than zero.
2009207 Invalid maximal gap angle %F% specified. The angle must be greater than zero.
2009208 %I% free edges stitched.
2009209 Error found in loading free edges.
2009210 Error found in splitting tria-elements.
2009211 Error found in updating free edge list.
2009212 Error found in building a gap line.
2009213 Error found in computing a gap angle.
2009214 Error found in computing a gap size.
2009215 %I% new hard points and associations created.
2009216 %I% nodes deleted in equivalencing.
2009901 === %I% node modified. ID = %A%.
2009902 === %I% nodes modified. IDs = %A%.
2009903 === %I% element modified. ID = %A%.
2009904 === %I% elements modified. IDs = %A%.
2011001 Unable to delete the following nodes: %V%.
2011002 Unable to delete the following elems: %V%.
2011003 The Repeat Count field is blank.
2011004 The Repeat Count must be greater than 0.
2011101 The Translation Vector field is blank.
2011111 Translating %I% nodes %I% times.
2011112 Translating %I% node %I% times.
Chapter 11: Status Messages 1921
Introduction

2011113 Translating %I% nodes %I% time.


2011201 Translating %I% elements %I% times.
2011202 Translating %I% element %I% times.
2011203 Translating %I% elements %I% time.
2011301 The Rotation Angle field is blank.
2011302 The Offset Angle field is blank.
2011303 The Axis field is blank.
2011311 Rotating %I% nodes %I% times.
2011312 Rotating %I% node %I% times.
2011313 Rotating %I% nodes %I% time.
2011401 Rotating %I% elements %I% times.
2011402 Rotating %I% element %I% times.
2011403 Rotating %I% elements %I% time.
2011501 The offset field is blank.
2011502 The Mirror Plane Normal field is blank.
2011511 Mirroring %I% nodes.
2011512 Mirroring %I% node.
2011513 Mirroring %I% nodes.
2011601 Mirroring %I% elements.
2011602 Mirroring %I% element.
2011603 Mirroring %I% elements.
2011701 Transforming %I% nodes ...
2011702 Transforming %I% elements ...
2011703 Transforming %I% MPCs ...
2011711 Error reading in geometry.
2012001 Unknown fatal sweep failure.
2012002 No topology code available for element "%I%".
2012003 No nodes found for element "%I%".
2012004 No association available for node "%I%".
2012005 No groups available.
2012006 Could not delete node "%I%".
2012007 Sweeper received an empty string
2012008 Unable to determine sweep direction.
2012009 Invalid angle string "%A%".
1922 PCL Reference Manual
Introduction

2012010 Invalid axis


2012011 Invalid axis string "%A%".
2012012 Invalid construction string "%A%".
2012013 Invalid delete original value "%I%".
2012014 Invalid direction string "%A%".
2012015 Invalid direction vector
2012016 Sweeper received an invalid geometry type "%I%".
2012017 No valid mesh control in list: "%A%"
2012018 Invalid mesh control length
2012019 Invalid mesh control num elems
2012020 Invalid mesh control ratio
2012021 Empty mesh control list.
2012022 Invalid nodal acid string "%A%".
2012023 Invalid nodal rcid string "%A%".
2012024 Invalid offset string "%A%".
2012025 Invalid offset value.
2012026 Invalid reverse direction value "%I%".
2012027 Invalid sweep angle
2012028 Zero sweep distance
2012029 Invalid distance string "%A%".
2012030 Unable to translate requested topology type "%I%"
2012031 Null pointer in sweeper
2012032 The %A% mesh control option is not yet available for the %A% sweep method.
2012033 No mixed assoc
2012034 Sweeper was not able to handle requested topology types.
2012035 Invalid fem entity list "%A%".
2012036 === %I% base node deleted, id: %A%
2012037 === %I% base nodes deleted, ids: %A%
2012038 === %I% base element deleted, id: %A%
2012039 === %I% base elements deleted, ids: %A%
2012040 Surface normal not found for all elements. OK to continue using element normals.
2012041 No FEM entities to sweep.
2012042 Sweeping aborted by user.
2012043 Curve %I% is used by more than one surface. Can't evaluate surface normals.
Chapter 11: Status Messages 1923
Introduction

2012044 None of the FEM entities could be swept.


2012045 Invalid face id %I% for element %I%.
2012046 Unable to translate requested topology type "%A%".
2012047 Negative IDs or IDs greater than 2,147,483,647 are not permitted.
2012048 .%I% is not a valid point id.
2012049 No geometry to use for evaluating normals.
2012050 Invalid point string "%A%".
2012051 %A% is not a valid glide type.
2012052 Invalid glide curve type "%I".
2012053 .%I% is not a valid (glide) curve id.
2012054 Invalid use-as-parametric- coordinates value "%I%".
2012055 %F% is not a valid parametric value.
2012056 Vector field "%A%" is not valid for sweeping. Reason: %A%.
2012057 Invalid scale string "%A%".
2012058 Invalid normalize vector value "%I%".
2012059 Invalid curve parametrization value "%I%".
2012060 Invalid glide frame orientation value "%I%".
2012061 %I% is not a valid (glide guide) curve id.
2012062 Invalid curve string "%A%".
2012063 Unable to evaluate field vector.
2012064 Different number of Elements in Input lists.
2012065 No Elements in first Input list.
2012066 No Elements in second Input list.
2012067 No initial Element from first Input list.
2012068 No initial Element from second Input list.
2012069 Only 2d Element allowed.
2012070 Initial Element not found in first Input list.
2012071 Initial Element not found in second Input list.
2012072 Sweeper could not complete Input lists. This could be due to a crack, unequivalenced
Model or two different meshes.
2012073 Sweeper could not create a 3D Element between Element %I% and %I%.
2013001 Fem to geometry association processing aborted by user.
2013002 Meshes along edges %A% may not match. Subsequent meshes will use the definition
from the first mesh unless all associated meshes are deleted.
1924 PCL Reference Manual
Introduction

2013003 Unable to associate all elements to geometry. Please verify associations.


2013004 Failed to associate any node to point %A%
2013005 Failed to associate any node to curve %A%
2013006 Failed to associate any node to surface %A%
2013007 Unable to associate all nodes that lie within the box of the surface. Please check if all
nodes are associated to surface.
2013101 Nodes have been disassociated from geometry %A%.
2013102 Elements have been disassociated from geometry %A%.
2013103 Elements and nodes disassociated from geometry %A%.
2014001 Unable to make the following elements curvature continuous. Check element
associativity.
2090001 === No nodes created.
2090002 === %I% node created. ID = %V%.
2090003 === %I% nodes created. IDs = %V%.
2090004 === No elements created.
2090005 === %I% element created. ID = %V%.
2090006 === %I% elements created. IDs = %V%.
2090007 === No nodes deleted.
2090008 === %I% node deleted. ID = %V%.
2090009 === %I% nodes deleted. IDs = %V%.
2090010 === No elements deleted.
2090011 === %I% element deleted. ID = %V%.
2090012 === %I% elements deleted. IDs = %V%.
2090021 === No nodes Modified.
2090022 === %I% node Modified. ID = %V%.
2090023 === %I% nodes Modified. IDs = %V%.
2090024 === No elements Modified.
2090025 === %I% element Modified. ID = %V%.
2090026 === %I% elements Modified. IDs = %V%.
2090031 %I% node deleted. ID = %A%
2090032 %I% nodes deleted. IDs = %A%
2090033 %I% element deleted. ID = %A%
2090034 %I% elements deleted. IDs = %A%
2090035 %I% MPC deleted. ID = %A%
Chapter 11: Status Messages 1925
Introduction

2090036 %I% MPCs deleted. IDs = %A%


2090037 %I% node created. ID = %A%
2090038 %I% nodes created. IDs = %A%
2090039 %I% element created. ID = %A%
2090040 %I% elements created. IDs = %A%
2090041 %I% MPC created. ID = %A%
2090042 %I% MPCs created. IDs = %A%
2090043 Mesh definition data written for %I% curve.
2090044 Mesh definition data written for %I% curves.
2090045 Mesh definition data written for %I% surface.
2090046 Mesh definition data written for %I% surfaces.
2090047 Mesh definition data written for %I% solid.
2090048 Mesh definition data written for %I% solids.
2091001 em_proceed returned true
2091002 em_proceed returned false
2092001 Superelement %A% already exists. Do you wish to overwrite?
2092002 Superelement Name is blank.
2092003 The "Element Definition Group" must be selected.
2092004 The boundary nodes must be selected.
2092005 ERROR in the Node Selection.
2092006 The Node %I% does not exist. Select an existing node.
2092007 The selected group is already in use by another superelement. Do you want to
continue?
2092008 The %A% boundary nodes are invalid between %A% and %A% superelements.
2092009 The "%A%" are outside the superelement boundary. Select the proper nodes.
2092010 The selected group has no elements.
2092011 Elements %A% are overlapped among superelements. Check superelements.
2092012 Superelement "%A%" is associated with analysis step(s). Superelement is not
deleted.
2092013 Boundary nodes not found for the group selected. A superelement must have
interfacing nodes.
2092014 Boundary nodes selection is blank. Default boundary nodes will be used.
2092015 The Node Renumbering may have affected the superelements in the database.
2092016 The superelement does not have internal nodes. Superelement is not created.
1926 PCL Reference Manual
Introduction

Load Case
Status
Conditions
This group of
status
conditions are
used with
functions that
manipulate
load case
information.
3000000 LOAD_CASE
3001001 Load Case Name is "blank". Input a Load Case Name.
3001002 Load Case "%A%" already exists. Do you wish to overwrite?
3001003 "%A%" is an invalid Load Case Type. Must be "Static" or "Time Dependent".
3001004 Load Case Name "%A%" is too long. Input 80 characters or less.
3001005 Load Case Description "%A%" is too long. Input 256 characters or less.
3001006 Load Case "%A%" created.
3001101 Load Case "%A%" does not exist.
3001102 There is no Load Case selected. Select a Load Case.
3001103 "%A%" is the Current Load Case. Deletion of the Current Load Case is not permitted.
Make another load case the "Current" Load Case if you wish to delete this one.
3001104 Load Case "%A%" deleted.
3001105 Deletion of %I% Load/BC Sets assigned to load cases other than Load Case "%A%"
was prohibited.
3001106 The selected loadcase is associated with Nastran analysis subcase <%A%>. Loadcase
is not deleted.
3001107 The selected loadcase is associated with Abaqus analysis step <%A%>. Loadcase is
not deleted.
3001108 The selected loadcase is associated with Ansys analysis step <%A%>. Loadcase is
not deleted.
3001109 The selected loadcase is associated with Marc analysis step <%A%>. Loadcase is not
deleted.
3001110
The selected loadcase is associated with Patran Advanced Fea analysis step <%A%>.
Loadcase is not deleted.
3001111 The selected loadcase is associated with <%A%> analysis step <%A%>. Loadcase is
not deleted.
3001201 Load Case "%A%" already exists. Modify not permitted.
Chapter 11: Status Messages 1927
Introduction

3001202 Load Case "%A%" modified.


3001203 The Load Case Name to be modified is "blank". Select an existing Load Case Name.
3001301 Load Case "%A%" has no Load/BC sets.
3001302 Two "%A%" Loads/BCs have the same priority of "%I%". Change one so that they
are unique.
3001303 "%I%" is an Invalid Priority. It must be greater than 0.
3001304 Database error encountered: %I%.
3001305 Dynamic memory allocation error encountered.
3001306 One or more of the selected LoadsBCs sets were already in the spreadsheet. Their
scale factors and priorities may have been modified.
3001307 Attempt to assign non-unique priority to Loads/BCs "%A%". Spreadsheet modify
aborted. Use "Undo" to undo partial changes.

Results Status Conditions


This group of status conditions are used in the processing of results.

4000000 Results
4000001 Not ready yet
4000002 Graphics not ready yet
4000003 XY graphics not ready yet
4000004 No coordinate system defined
4000005
%I% curves are saved in the data base - Please use Patran XY plot module to
manipulate them
4000006 Feature is not fully functional
4000007 Too many XY curves. %I% curves are discarded
4000008 Insufficient memory
4000009 No result
4000010 Cannot access data
4000011 No nodes
4000012 No elements
4000013 No output locations for element results
4000014 No element results
4000015 No nodal results
4000016 Insufficient memory - Need %I% words, available %I% K words - File %A% at line
%I%
1928 PCL Reference Manual
Introduction

4000017 Invalid nodes


4000018 Invalid elements
4000019 Virtual allocation failure
4000020 Virtual deallocation error
4000021 Cannot get current group
4000022 Elements completely filtered out
4000023 Nodes completely filtered out
4000024 Assume static result cases with no animation parameters
4000025 Cannot get node coordinates
4000026 %A%: %A%
4000027 No tensor components
4000028 %I% element(s) not passing range filters
4000029 %I% node(s) not passing range filters
4000030 %I% element(s) not passing filters
4000031 %I% node(s) not passing filters
4000032 Cannot get element attribute in memory
4000033 Cannot get element attributes in data base
4000034 No 2D elements for tensor plot
4000035 Cannot compute rotation matrix for cylindrical system ( zero polar radius )
4000036 Cannot compute rotation matrix for spherical system ( zero polar radius )
4000037 No result component selected for "Type & Component"
4000039 Use coordinate system selected in Type & Component form
4000040 Use coordinate system selected in Vector Plot Form. Coordinate system in Type &
Component form is ignored
4000101 Deformed_plot
4000102 Deformed plot with default options
4000103 All deformed results are zero
4000104 Cannot get results for deform plot
4000201 Fringe
4000202 Fringe plot with default options
4000203 Difference cannot be computed without comparing it with the results in the
surrounding elements. Use All for Averaging Domain.
4000301 Vector
4000302 Vector plot with default options
Chapter 11: Status Messages 1929
Introduction

4000401 Tensor
4000402 Tensor plot with default options
4000501 XY
4000502 No curve selected for beam plot.
4000503 No curve created.
4000504 No nodes/elements selected
4000505 No nodes for nodal results
4000506 No elements for element_results
4000507 No result or global variable selected
4000508 No global variable selected
4000509 No result component selected
4000510 No global variable exists for result case
4000511 No defaults for results xy plot
4000512 No global variable defined for x in xy plot
4000513 No global variable defined for y in xy plot
4000514 No result defined for x in xy plot
4000515 No result defined for y in xy plot
4000516 No nodes or elements defined for xy plot
4000517 You have specified a new XY window name for this graph. Do you want to delete all
previous curves associated with this graph tool?
4000518 The curves previously associated with graph %A% are no longer associated with any
graph tool. They can be deleted through XYPlot.
4000601 Beam
4000602 No beam ID defined for beam plot.
4000603 No result component selected for beam plot.
4000604 No defaults for beam plot
4000605 No beam curve created
4000606 No beam curve selected
4000701 Report
4000702 Break sequence for nodal result not complete
4000703 Break sequence for element result not complete
4000704 No defaults for results report
4000705 No result for report
4000750 Combined
1930 PCL Reference Manual
Introduction

4000751 No combined plot form created


4000801 No result selected for filter
4000802 No node list
4000803 No element list
4000804 No node list selected
4000805 No element list selected
4000806 No new node list
4000807 No new element list
4000808 No result selected for components and types
4000809 No result selected
4000810 Cannot create result type
4000811 Cannot add result to data base
4000812 Cannot create derived result
4000813 Derived results must be computed from multiple result cases
4000814 Derived results must be computed from multiple layers/through-thickness positions
4000901 Duplicated result case ID
4000902 No results selected for the combined result case
4000903 All combine factors are zero
4000904 No result case displayed
4000905 No result case selected
4000906 Invalid result case ID
4000907 Invalid sub-case ID
4000908 Result case already exists
4000909 No result case title
4000910 Subcase ID already exists
4000911 Cannot create result case
4000912 Cannot create sub-case
4000913 No demo result case created
4000914 Cannot create results for combined result case
4000915 Target result case must be different from source result case(s)
4000916 Result case No.
4000917 This Loadcase and Subcase already exist. Please enter either a new loadcase and/or
subcase name.
4001001 Access beam results
Chapter 11: Status Messages 1931
Introduction

4001002 Create beam curves


4001003 Access fringe result
4001004 Access fringe nodal result
4001005 Access element result
4001006 Create fringe result table
4001007 Create nodal result table
4001008 Create demo result table
4001009 Create demo nodal scalar result
4001010 Create demo nodal vector result
4001011 Create demo nodal tensor result
4001012 Create demo element scalar result
4001013 Create demo element vector result
4001014 Create demo element tensor result
4001015 Save element demo result in the data base
4001016 Save nodal demo result in the data base
4001017 Delete the highlighted result types ?
4001018 Delete the highlighted result cases ?
4001019 Create new result case
4001020 Create new result type
4001021 Initialize fringe plot
4001022 Initialize deformed plot
4001023 Initialize vector plot
4001024 Initialize tensor plot
4001025 Initialize report writer
4001026 Initialize demo result
4001027 Get elements in the current group
4001028 Get nodes in group
4001030 Demo result done
4001031 Fringe plot done
4001032 Deform plot done
4001033 Vector plot done
4001034 Beam plot done
4001035 XY plot done
4001036 Report done
1932 PCL Reference Manual
Introduction

4001037 Vectorize results


4001038 Assign results to elements
4001039 Tensor plot done
4001040 Calc centroidal result
4001041 Apportion results to nodes
4001042 Apportion results to elements
4001043 Tensor plot is displayed in element system
4001044 Get property IDs for each element
4001045 Get material IDs for each element
4001046 Result for time slice %I% of %I%
4001047 Combined plot done
4001048 No layer selected
4001049 Cannot open file
4001050 Delete file "%A%" ?
4001051 Clear file "%A%" ?
4001052 No report file
4001053 List too long ( 255 chars max )
4001054 Duplicated list
4001055 XY result print done
4001056 Output saved in report file "%A%" - Use
pref_env_set_string("result_capture_filename", "your_file_name") to change the
capture file
4001057 Nodal result for XY plot
4001059 Element result for XY plot
4001060 Create xy curve list
4001061 Create xy result tables
4001062 Tet/5 not available for this Release
4001063 Tet/11 not available for this Release
4001064 Tet/14 not available for this Release
4001065 Tet/15 not available for this Release
4001066 Tet/16 not available for this Release
4001067 Tet/40 not available for this Release
4001068 Wedge/16 not available for this Release
4001069 Wedge/20 not available for this Release
Chapter 11: Status Messages 1933
Introduction

4001070 Wedge/21 not available for this Release


4001071 Wedge/24 not available for this Release
4001072 Wedge/27 not available for this Release
4001073 Wedge/52 not available for this Release
4001075 Cannot get property for regions
4001076 Wedge/7 not available for this this Release
4001077 Hex/32 not available for this Release
4001078 Hex/26 not available for this Release
4001079 Wedge/15 not available for this Release
4001080 Combined result cases done
4001081 Derived result done
4001082 Demo result error
4001083 Fringe plot error
4001084 Deform plot error
4001085 Vector plot error
4001086 Beam plot error
4001087 XY plot error
4001088 Report error
4001089 Results cases were not combined due to errors
4001090 Derived result error
4001091 Tensor plot error
4001092 Combined plot error
4001093 Any expression that evaluates to a real is acceptable
4001094 Any expression including $RESULT that evaluates to a real value is acceptable
4001095 Function must have 2 arguments. Function must be compiled into the PCL library
before "Apply" - See documentation.
4001096 This function normalizes results in range [0,1]
4001097 This function prints the attributes of elements ( i.e. materials, properties and nodes )
which have associated results
4001098 This function prints the results at each node of elements which have associated
results.
4001099 This function computes the maximum ( test is based on algebraic value ) envelope of
all the result cases you selected. Only one plot is to be displayed.
4001100 This function computes the minimum ( test is based on algebraic values ) envelope
of all the result cases you selected. Only one plot is to be displayed.
1934 PCL Reference Manual
Introduction

4001101 This function computes the maximum ( test is based on absolute values ) envelope of
all the result cases you selected. Only one plot is to be displayed.
4001102 This function computes the minimum ( test is based on absolute values ) envelope of
all the result cases you selected. Only one plot is to be displayed.
4001103 This function computes the maximum ( test is based on absolute values but the
algebraic values are used ) envelope of all the result cases you selected. Only one plot
is to be displayed.
4001104 This function computes the minimum ( test is based on absolute values but the
algebraic values are used ) envelope of all the result cases you selected. Only one plot
is to be displayed.
4001105 This function computes the margin of safety based on a globally defined array
RESULT_MATL_ALLOWABLES()
4001106 Function must have 16 arguments. The function must be compiled into the PCL
library before "Apply" - See documentation
4001107 Too many materials - Max = 100
4001108 You need to define %I% RESULT_MATL_ALLOWABLES( ) for margin-of-safety
computation
4001109 You need to define RESULT_MATL_ALLOWABLES( ) for margin-of-safety
computation
4001110 You can define RESULT_CAPTURE_FILENAME = user-defined-name to capture
the output into a your file or you set it to a null string for output to the text window
4001111 This function computes the envelope of the margin of safety for all selected result
cases based on a globally defined array RESULT_MATL_ALLOWABLES()
4001112 Result not output at the same element position
4001113 Any expression that evaluates to a real is acceptable for factor of Y variable
4001114 Any expression including $RESULT (for Y variable) that evaluates to a real value is
acceptable
4001115 Function must have 7 arguments. The function must be compiled into the PCL library
before "Print" or "Plot"
4001116 No nodal result %I% for result case %I%
4001117 No element result %I% for result case %I%
4001118 No nodes in the current group
4001119 No elements in the current group
4001120 No nodes left after filtering
4001121 No elements left after filtering
4001122 No material defined
4001123 No element property defined
Chapter 11: Status Messages 1935
Introduction

4001124 No element type defined


4001125 Fraction for data points on curve must be between 0.0 and 1.0
4001126 No target curves selected for results
4001127 No nodes selected to create curves
4001128 The selected function doesn't exist
4001129 The selected function exists but it isn't loaded into memory
4001130 The function you enter must have 16 arguments for result attributes
4001131 The function you enter must have 2 arguments for size and values
4001132 No surface list for result curves. Curves must be in unambiguous surfaces
4001133 Cannot create result curve for XY plot
4001134 Curve must be created in Results for xy plot of results in local system
4001135 Cannot open file for xy results print
4001136 No valid nodes for XY plot
4001137 No valid elements for XY plot
4001138 Up to %I% curves are to be generated - Proceed ?
4001139 XY plot titles may have keywords ( $EID, $NID, $LP, $RES, $LC, $EP, $CMP,
$XVAR, $RES... ) embedded in the new title string for value substitution
4001140 There are currently %I% items in the "Curve Titles" list box - Delete them for new
items ?
4001141 Results are successfully combined
4001142 Results are unsuccessfully combined
4001143 No materials for averaging within material regions
4001144 Attempt to save %I% curves with duplicated titles in the data base
4001145 There are %I% points on the curve that do not lie within the element
4001146 Proceed to generate %I% data points per curve?
4001147 Cannot get result "%A%" for result case "%A%" to make a deformed plot
4001148 Cannot get result "%A%" for result case "%A%" to make a fringe plot
4001149 Cannot get result "%A%" for result case "%A%" to make a vector plot
4001150 Cannot get result "%A%" for result case "%A%" to make a tensor plot
4001151 Do you want to overwrite range "%A%" ?
4001152 The range of values displayed in the spectrum may not reflect the range of current
results.
4001153 The range of values displayed in the spectrum may not reflect the range of current
vector values.
4001154 Options from the fringe plot form are used to create the fringe in the combined plot
1936 PCL Reference Manual
Introduction

4001155 Options from the deform plot form are used to create the deform plot
4001156 Options from the vector plot form are used to create the vector plot
4001157 There are no result cases to filter with respect to global variable. Filterings are
cumulative. You may want to display all result cases before selecting this option.
4001158 There are no result cases to filter with respect to global variables. Filterings are
cumulative. You may want to display all result cases before selecting this option.
4001159 Filtering with respect to global variable has no effect on the currently displayed result
cases. You may want to display all result cases before selecting this option.
4001160 Filtering with respect to main result case has no effect on the currently displayed
result cases . You may want to display all result cases before selecting this option.
4001161 There are no global variables associated with the selected result cases. Global
variables are generally available for modal, transient and buckling analyses only.
4001162 Only the first of the highlighted lists is copied to the data box. If you want to combine
lists, use "Build"
4001163 Cannot add list to the list box: Identical list exists.
4001164 Only the first of the highlighted lists is replaced by the list in the data box.
4001165 Intersection of the highlighted lists result in a null list
4001166 Nodes added to the group as required by the current plot.
4001167 Result "%A%" in result case "%A%" cannot be combined since result attributes are
not compatible.
4001168 The currently selected tensor component is not valid for 2D-tensors
4001169 Cannot derive max results with respect to result cases since result attributes are not
compatible
4001170 Cannot derive min results with respect to result cases since result attributes are not
compatible
4001171 Cannot derive averaged results with respect to result cases since result attributes are
not compatible
4001172 Cannot derive max results with respect to layers since result attributes are not
compatible
4001173 Cannot derive min results with respect to layers since result attributes are not
compatible
4001174 Cannot derive averaged results with respect to layers since result attributes are not
compatible
4001175 %I% vector(s) not passing filters
4001200 The normal at node %I% is an approximation and is not exact.
4001201 The results curve cannot be built.
4001202 Node %I% is not associated with a surface.
Chapter 11: Status Messages 1937
Introduction

4001203 Cannot find a unique surface at node %I% to create the curve.
4001204 %A% is not a results curve.
4001300 This function prints min and max result at element nodes into the result capture file
or the text window
4001301 Find out
4001302 (1) If elements are associated with materials ( use res_modify_print_elems built-in
function )
4001303 (2) How many materials that had been defined for the model ( filtering results with
respect to materials and see how many items show up in the material list box ).
4001304 If (1) and (2) are OK, define an allowable for each material. For example, if you have
3 materials, type in the command window
4001305 REAL RESULT_MATL_ALLOWABLES(3) = 60000, 150000, 45000
4001306 Difference cannot be computed without comparing it with the results in the
surrounding elements. Use All for Averaging Domain.
4001307 There is no layer position associated with the current result, hence no results can be
retrieved from the data base.
4001308 An unacceptable error has occurred ( for element %I%, shape = %I%, number of
nodes = %I%, number of output points = %I% ) in the extrapolation algorithm.
4001310 Cannot transform results to material system of 3D elements
4001311 There are duplicate element results in result case "%A%", result type "%A%"
4001312 There are duplicate nodal results in result case "%A%", result type "%A%"
4001313 Results can only be reported in the analysis system.
4002000 There are no parameters for a fringe plot
4002001 There are no parameters for a deformed plot
4002002 There are no parameters for a vector plot
4002003 There are no parameters for a tensor plot
4002004 Invalid option
4002005 There are no nodes or elements for plot
4002006 There are no results for plot
4002007 Attempt to extrapolate results twice
4002008 Unknown location for results extrapolation
4002009 There is no result being processed for plot
4002010 Results at node don't need to be averaged
4002011 Results need to be extrapolated to nodes for plot
4002012 Results need to be at element nodes for plot
4002013 Max difference of element results at nodes can be computed for "All" option only
1938 PCL Reference Manual
Introduction

4002014 Results can be averaged only for a predefined domain ( e.g. all elements, elements of
same materials, elements of same type )
4002015 Max difference of element results at nodes can be computed for "All" domain option
4002016 Invalid average method
4002017 Results are not extrapolated to nodes
4002018 Cannot load element results from data base into memory
4002019 Cannot load nodal results from data base into memory
4002020 Result cannot be interpolated to element centroid
4002021 Element results cannot be converted to nodal results
4002022 Results cannot be extrapolated to element nodes
4002023 Nodal result cannot be interpolated to element centroid
4002024 Cannot convert nodal results to element results
4002025 Failure in extrapolating results to the nodes of the element
4002026 Cannot average results in the subdomain
4002027 Cannot compute max difference of results at the element nodes
4002028 Cannot transform vector result
4002029 Cannot transform tensor result
4002030 Cannot transform scalar result
4002031 Result already transformed
4002032 Cannot derive result
4002033 Cannot modify result by the math expression
4002034 Cannot modify result by a PCL function
4002035 Cannot modify result by a multiplying factor
4002036 Cannot combine result
4002037 Result is not complex
4002038 Cannot compute complex result
4002039 There are no attributes for elements
4002040 Cannot convert element result to nodal result
4002041 Nodal results don't need to be averaged
4002042 Cannot average element result
4002043 Cannot average results in elements of same type due to error
4002044 Cannot average results in the sub-domain
4002045 Cannot transform results
4002046 Cannot get complex results
Chapter 11: Status Messages 1939
Introduction

4002047 Results already loaded into memory


4002048 Results had been scaled
4002049 Results already combined
4002050 Results are associated with nodes
4002051 Results are associated with elements
4002052 Results are not associated with nodes
4002053 Results had been converted to be associated with elements
4002054 Results had been averaged
4002055 Results do not exist for element nodes
4002056 Nodal results always have zero difference at nodes
4002057 Max difference of results at the nodes had been computed
4002058 Results had been derived
4002059 Only element results can be modified
4002061 Only results at element nodes can be modified
4002062 Results had been modified
4002063 Complex results had already been converted to real for display
4002065 Cannot get user-defined coordinate system
4002066 Results are not associated with elements
4002067 Results had been converted to be associated with nodes
4002068 Results are already at the centroid of elements
4002069 Cannot create holder to hold attribute of elements
4002070 The attribute holder should have been deleted
4002071 The attribute holder had not been created
4002072 Cannot create a holder for result
4002073 Cannot hold results in memory without node and element attributes
4002074 Result is invalid for vector plot. It must be vector results associated with nodes and
having defined coordinate system
4002075 Cannot compute offset for deform result
4002076 Result component had been suppressed
4002077 Min and Max of results had been computed
4002078 The selected result is defined in an unsupported coordinate system. It will be assumed
to be defined in the global system. No transformations will be performed.
4002079 Vectors to be displayed have maximum amplitude
4002080 Vectors to be displayed have minimum amplitude
1940 PCL Reference Manual
Introduction

4002081 Results to be displayed are maximum amplitudes of complex vectors


4002083 Results to be displayed are minimum amplitudes of complex vectors
4002084 Results to be displayed are the angles ( in range [-180,180 ] degrees ) between the
real vector and the imaginary vector
4002085 This numerical option is not valid for tensors or vectors derived from tensors
4002086 This type of derived scalar can't be computed with the numerical form selected above.
4002087 This type of derived vector can't be computed with the numerical form selected
above.
4002088 The selected result is not associated with any entities in the current group.
4003001 Do you wish to clear the current animation sequence?
4003002 The animation sequence was not established.
4003003 No animation sequence is currently active.
4003004 The specified interpolation method is invalid.
4003005 The specified sequence method is invalid.
4003006 The specified frame id is invalid
4003007 The animation sequence remains active.
4003008 Animation is not supported in batch.
4003009 There are no active results to animate.
4003010 The input frame count for creating an animation sequence is invalid. Valid values are
between 2 and 999.
4003011 Hardcopy is not allowed while an animation sequence is active.
4003012 There is not sufficient graphics memory for the specified %I% frames. Do you wish
to continue with %I% frames?
4003013 No Animation Plots selected. Please select at least one.
4004000 The specified value for the slidebar is out of range
4004001 There are %I% result cases in the database. Do you wish to use the filter option to
fill out the listbox?
4004002 Nodal Demo Results selected but Scale factor is set to 0.
4004003 Element Demo Results selected but Scale factor is set to 0.
4004004 The specified value for the %A% %I% exceeds the valid range. Please enter a value
between %I% and %I%.
4004005 No report file name was chosen.
4004050 Coordinate Frame "%A%" does not exist.
4004100 No Name chosen.
4004101 "%A%" does not exist.
Chapter 11: Status Messages 1941
Introduction

4004200 Only one Cursor tool may be posted at a time. Do you wish to replace the current
tool %A% with %A%?
4004300 This tool is not associated with any result.
4004400 No layer selected on subform
4004401 No result selected on subform
4004500 No Elements were picked on the Select Target Entities subform.
4004501 No Nodes were picked on the Select Target Entities subform.
4004502 No Paths were picked on the Select Target Entities subform.
4004600 No Cells selected for data input.
4005001 The selected report, %A%, has no entries in its Report Format spreadsheet.
4005002 The selected report, %A%, could not be loaded successfully. The entity attribute,
(%A%), is not supported.
4005003 The %A% plot "%A%" already exists. You may view the list of existing %A% plots
in the Existing %A% Plots listbox displayed by the "Plot Options" icon. Do you want
to modify the "%A%" plot?
4005004 You need to specify the existing %A% plot that you want to modify.
4005005 The %A% Report attributes cannot be loaded because they are not consistent. This
was probably caused by an error in the GUI when the Report was created: the GUI
may have assigned report rows that should not exist for the selected data type (scalar,
vector, or tensor), Target Entity type (e.g., element or node), and Additional Display
Control entity attribute (e.g., free faces or element centroids).
4005006 %A% plot "%A%" has an inconsistent definition and cannot be displayed.
4005007 The Result Case Name should include a Load Case name and a Subcase name
separated by a comma.
4005008 There is not enough graphics memory for even a single frame, so no animation is
currently possible.
4005009 There is only enough graphics memory for 1 frame, so no animation is currently
possible.
4010000 There is no PCL expression defined.
4010001 "%A%" is an invalid PCL expression.
4010100 The Load Case Name is "blank". Input a Load Case Name.
4010101 The Subcase Name is "blank". Input a Subcase Name.
4010102 The Result Name is "blank". Input a Result Name.
4010103 A database error while trying to retrieve the numerical form of the result.
4010104 Select multiple result cases and/or multiple result positions.
4011000 "%A%" is not supported.
4011001 %I% is an invalid number of components.
1942 PCL Reference Manual
Introduction

4011002 Report will only be generated for the first result type.
4012001 Direct Results Access file time stamp has changed. To re-attach, please detach the
file using the Analysis form option Delete "Attachment" then re-attach. File: "%A%"
4012002
4012003
4012004 Direct Results Access file connection has been removed or does not exist.
4012005 Direct Results Access file is already attached. To re-attach with different Translation
Parameters, please detach the file using the Analysis form option Delete
"Attachment" then re-attach. File: "%A%"
4012006 No Direct Results Access file was specified. Please, select a file through the Select
Results File form before "Apply".
4012010 A result case is associated with the external Results file. Detach from Direct Results
Access file: "%A%". This operation cannot be undone. Do you want to continue?
4012011 Unable to detach Direct Results Access file: "%A%"
4012012 Detach from Direct Results Access file: "%A%". This operation cannot be undone.
Do you want to continue?
4012020 Unable to connect to Direct Results Access file.
4012021 Out of available memory when attaching file: "%A%"
4012022 Unable to open Direct Results Access file: "%A%". Please i) verify that the file
exists or ii) delete the attachment using the Analysis form option Delete
"Attachment" then re-attach.
4012023 Direct Results Access file connection limit exceeded (20 files max.). Please detach
from the un-used results file using the Analysis form option Delete "Attachment" in
order to make room for new DRA connections.
4012025 Direct Results Access file not found: "%A%"
4012027 Multiple subcases for Solutions 103, 105 and 107 are not supported in MSC.Access
for Pre-V70 MSC.Nastran.
4012028 The Direct Results Access file specified is invalid. Possible reasons: (i) the file is not
in XDB format, or (ii) the XDB file was generated on another Machine type. For case
(ii), please use the TRANS and RECEIVE utilities delivered by MSC Nastran to
convert the XDB file to the correct binary format for your machine type. File:
"%A%"
4012029 Unable to retrieve (Direct Results Access) data.
4012030 An internal error occurred when retrieving Direct Results Access data in routine:
"%A%".
4012031 Unable to create the Coordinate Frame with ID %I%: Already exists in database.
4012032 Unable to create node %I%: Already exists in database.
4012033 Unable to create element %I%: Already exists database.
Chapter 11: Status Messages 1943
Introduction

4012034 Creating Group "%A%".


4012035 Unable to create group "%A%".
4012036 Too many duplicate nodes found in model. Subsequent warning omitted for this
model import.
4012037 Too many duplicate elements found in model - aborting. Possible reasons: (i) Model
Data request has already been imported or (ii) a Part Superelements with non-unique
Element IDs or Image Superelements exists which is currently not supported.
4012051 *** Begin: Attach MSC/ACCESS Result File ***
4012052 *** End: Attach MSC.Access Result File ***
4012055 Total execution time in real seconds: %F12.3%
4012056 Total execution time in CPU seconds: %F12.3%
4012100
XDB file created by "Patran%A% V%A%" on %I%/%I%/%I% using "%A%"
4012101 Attaching Direct Results Access file: "%A%"
4012102 Processing result load case: %A%
4012103 Processing result sub-case: %A%
4500001 One of the input array arguments is of an insufficient dimension.
4500002 An error has occurred calculating a nodal averaged result.
4500003 A memory allocation error has occurred. Please check function inputs and call
RES_UTL_FREE_RESULTS() before proceeding.
4500004 No Nodes are found for the specified result matching the input list.
4500005 No Elements are found for the specified result matching the input list.
4500006 The Loadcase/Subcase/Primary Result/ Secondary Result Id combination specified
cannot be found.
4500007 The specified Layer Id is not associated with the specified result.
4500008 The input Location string is invalid.
4500009 No results are found in the database matching the specified Ids.
4500010 The derivation specified in invalid.
4500011 A error has occurred extrapolating this result to the element nodes.
4500012 The specified global variable is not found.
4500013 The filter method specified is not valid
4500014 An error has occurred interpreting the input List string.
4500015 The specified Coordinate Frame does not exist.
4500016 The input list type is not valid.
4500017 The specified operation is not valid.
4500018 The Coordinate Frame List is not valid.
1944 PCL Reference Manual
Introduction

4500019 The results specified for this operation are defined in an Unknown element local
coordinate system. The global system will be assumed for all transformation
operations. Errors may be introduced when using nodal averaged or transformed
result components.
4500020 The input path specified points which did not interpolate to any elements.
4500021 The specified dump file cannot be opened.
4600001 An error has occurred while manipulating data for the specified register.
4600002 The specified derivation is not valid for the datatype of the data register
4600100 An error has occurred while retrieving the specified results for the data register.
4600101 There is insufficient memory available to retrieve the specified result.
4600102 There are no results available matching the current register specification.
4600103 There are no results available for the targeted entities.
4600104 The specified complex operation is not valid.
4600105 The database contains no element results data.
4600106 The specified Primary/Secondary result are not available.
4600107 The specified result layer is not valid.
4600108 An internal error has occurred while retrieving data for the specified register.
4600109 The specified data source type is not valid for this operation.
4600110 The specified Subcase is not available.
4600111 The specified Layer Position is not available.
4600112 The specified Global Variable is not available.
4600113 The specified results refer to a coordinate system which does not exist.
4600114 Unable to build a data object to display results.
4600115 The specified data source was not found
4600201 A failure has occurred while extrapolating data within an element in the specified
target.
4600202
The specified results are oriented in a system which is unknown to Patran. No
transformations will be performed.
4600203 The specified Data Register transformation coordinate system is not valid.
4600204 The specified Data Register derivation is not valid.
4600205 The specified Data Register Complex Form is not valid.
4600206 The specified Data Register Averaging Method is not valid.
4600207 The specified Data Register Averaging Domain is not valid.
4600208 The specified Data Register Extrapolation Method is not valid.
4600209 The specified Data Register Data Type is not valid.
Chapter 11: Status Messages 1945
Introduction

4600210 The specified Data Register Data Location is not valid.


4600211 The specified Data Register List Interpolation Method is not valid.
4600212 The specified Data Register List Extrapolation Method is not valid.
4600213 The specified Data Register List Min/Max Method is not valid.
4600301 The specified Data Register Data Location is not valid.
4600302 The specified Data Register Data Type is not valid.
4600303 There is insufficient memory available to perform the specified Data Register
operations.
4600304 The specified Data Register FEM Attribute is not valid.
4600305 The specified Data Register has not been defined.
4600401 The specified Data Register has not been defined.
4600402 The specified Data Register Math Operation is not valid.
4600403 The specified Data Register PCL Operation is not valid.
4600501 There is insufficient memory available to perform the specified Data Register
operations.
4600502 An internal I/O error has occurred while performing the specified Data Register
operations.
4600503 An internal matrix solver error has occurred.
4600504 An internal element shape function error has occurred.
4600601 An error has occurred while performing the specified Data Register PCL operation.
4600602 An error has occurred while performing the specified Data Register Math operation.
4600603 An error has occurred while performing the specified Data Register Derivation
operation.
4600604 An error has occurred while performing the specified Data Register Combine
operation.
4600605 An error has occurred while performing the specified Data Register Complex
operation.
4600606 An error has occurred while performing the specified Data Register Operation.
4600607 The entity list specified for the Data Register Min/Max operation is empty.
4600608 The derivation specified for the Data Register Min/Max operation is not valid.
4600609 An error has occurred while performing the specified Data Register Averaging
Operation.
4600610 An error has occurred determining shape functions for elements while performing the
specified Data Register Operation.
4600611 The specified Data Register is not valid for list based operations.
4600701 The specified Data Register already exists.
1946 PCL Reference Manual
Introduction

4600702 The specified Data Register does not exist.


4600703 Number of weight values does not match the number of items selected
4700001 The specified Results Display target is not valid.
4700002 The specified Results Display entity type is not valid.
4700003 The specified Results Display tool type is not valid.
4700004 The specified Results Display tool type is not valid for the _GET operation.
4700005 The specified Results Display tool type is not valid for the _UNPOST operation.
4700006 The specified Results Display graph type is not valid.
4700007 The specified Results Display tool type does not control viewport ranges.
4700008 Element data is not valid for a node target. Please modify either target or averaging
domain.
4700101 The specified Results Display tool Fill type attribute is not valid.
4700102 The specified Results Display tool model style attribute is not valid.
4700103 The specified Results Display tool edge color attribute is not valid.
4700104 The specified Results Display tool edge line style attribute is not valid.
4700105 The specified Results Display tool edge style attribute is not valid.
4700106 The specified Results Display tool scale definition attribute is not valid.
4700107 The specified Results Display vector tool line style attribute is not valid.
4700108 The specified Results Display tool component color attributes are not valid.
4700109 The specified Results Display tool component flag attributes are not valid.
4700110 The specified Results Display tensor tool box display flag attribute is not valid.
4700111 The specified Results Display tensor tool box style attribute is not valid.
4700112 The specified Results Display deformation tool undeformed model flag attribute is
not valid.
4700113 The specified Results Display deformation tool undeformed model color attribute is
not valid.
4700114 The specified Results Display deformation tool deformed model style attribute is not
valid.
4700115 The specified Results Display fringe tool style attribute is not valid.
4700116 The specified Results Display tool On/Off flag attribute is not valid.
4700117 The specified Results Display tool color attribute is not valid.
4700118 The specified Results Display vector tool display attribute is not valid.
4700119 The specified Results Display vector tool attachment attribute is not valid.
4700120 The specified Results Display vector tool head style attribute is not valid.
4700121 The specified Results Display tensor tool display attribute is not valid.
Chapter 11: Status Messages 1947
Introduction

4700122 The specified Results Display report tool type is not valid.
4700123 The specified Results Display report tool column keyword attribute is not valid.
4700126 The specified Results Display graph tool fit method attribute is not valid.
4700127 The specified Results Display graph tool curve style attribute is not valid.
4700128 The specified Results Display graph tool axis attribute is not valid.
4700129 The specified Results Display graph tool axis scale attribute is not valid.
4700130 The specified Results Display graph tool axis scale method attribute is not valid.
4700131 The specified Results Display graph tool axis format attribute is not valid.
4700132 The specified Results Display graph tool format method attribute is not valid.
4700133 The specified Results Display graph tool axis significant digit attribute is not valid.
4700134 The specified Results Display tool filter type is not valid.
4700135 The specified Results Display deformation tool undeformed line style attribute is not
valid.
4700136 The specified Results Display deformation tool deformed line style attribute is not
valid.
4700137 The specified Results Display deformation tool deformed scale type attribute is not
valid.
4700138 The specified Results Display tool animation method is not valid.
4700139 The specified Results Display tool animation sequence is not valid.
4700140 The specified Results Display tool animation interpolation method is not valid.
4700141 A report cannot be generated using nodal data to create a non-nodal result.
4700142 A report cannot be generated using pure element data to create a nodal result.
4700143 The specified sort column contains character data, sorting will revert to default
(entity id).
4700144 Range filtering of results has been specified on a non-floating point sort column. A
sort column with floating point data must be selected when using filter ranges.
4700145 A Report data column format specifies a width exceeding the page width.
4700146 A scale factor of 0.0 has been specified for the posted tool. This will result in the
display/output of constant results all equaling zero.
4700201 The specified Results Display tool does not exist.
4700202 The specified Results Display tool for creation already exists.
4700203 The specified Results Display tool is not posted.
4700301 The specified Results Display tool register location is not valid.
4700401 The specified Results Display tool Data Register does not exist.
1948 PCL Reference Manual
Introduction

4700601 An error has occurred performing the specified PCL results calculation.
4700701 The specified target nodes or elements already have associated results data or the
specified target is empty or invalid.

Application Interface Status Conditions


This group of status conditions are used by functions that provide application interfaces.

6000000 APP INTERFACES


6011001 Error encountered while attempting to read the compressed flat file.
6011002 The given element id was not found in the topology table.
6011003 The element topology codes count was found to be less than or equal to zero.
6011004 The number of elements was found to be less than or equal to zero.
6011005 The number of properties was found to be less than or equal to zero.
6011006 An error has occurred while allocating in-core virtual memory.
6011007 The number of fields was found to be less than or equal to zero.
6011008 An error occurred while evaluating the fields.
6011009 The number of elements in the region is less than or equal to zero.
6011010 The number of elements in the region was found to be greater than specified.
6011011 The number of regions was found to be less than or equal to zero.
6011012 The number of elements in the region was found to be less than specified.
6011013 The number of nodes was found to be less than or equal to zero.
6011014 The number of Load/BC variables was found to be less than or equal to zero.
6011015 The number of Load/BC rows was found to be less than or equal to zero.
6011016 The distribution of rows was found to be uneven between the Load/BC variables.
6011017 The number of components for the Load/BC variable values was found to be less than
or equal to zero.
6011018 Error encountered while initializing the summary data.
6011019 Unable to determine integer value during conversion of character to integer from the
compressed flat file.
6011020 An error occurred while converting integer to character while compressing the flat file.
6011021 No coordinate frames were found in the database.
6011022 No element properties have been assigned to the element with id = %I%.
6011023 The element properties have not been defined for all of the elements in the model.
6011024 The database file named "%A%" does not exist.
6011025 The job name "%A%" could not be found in the specified database.
Chapter 11: Status Messages 1949
Introduction

6011026 The job name is blank. Please enter a name.


6011027 The selected analysis code in the database is not %A%.
6011028 *** ERROR: The field references on <Entity %I%> in some loadsets are different.
Therefore, lbcs cannot be added. Check the lbc.
6011029 *** WARNING: The analysis coordinate frame reference on <Node %I%> is different
than the lbc coordinate frame reference. Therefore, this resulted in more displacement
constraints than specified. Check the lbc.
6011030 *** ERROR: The displacements constraints on the common <Node %I%> from lbc
sets are not the same. Check the lbc.
6011031 *** WARNING: The priority resolution for time/frequency loads is not supported at
this time. Check the loads.
6011032 *** WARNING: The coordinate frame references on node_id <%I%> are not same.
The displacements are not added.
6011033 *** ERROR: The analysis coordinate frame reference on <Node %I%> is different than
the lbc coordinate frame reference. Therefore, the displacement constraints did not
transform.
6011034 The element with ID %I% already exists in the database.
6011035 There is not enough memory to %A%.
6011036 The element with ID %I% references a node that does not exist.
6011037 The node with ID %I% already exists in the database.
6011038 Some of the elements in property set "%A%" do not have values for "%A%".
6011039 Error processing a vector with an alternate coordinate frame.
6011040 The alternate coordinate frame specified with the vector has been skipped for property
%A%.
6011041 The slideline regions selected have duplicate nodes. This can happen if the curves
selected for Master and Slave regions are congruent. One way to solve this problem is
to have the two curves separated by a very small gap or make one curve longer than the
other. This can also happen if the Master and Slave curves are the same.
6012001 Unable to determine if file (%A%) is text or binary.
6012002 The file: (%A%) does not exist.
6012003 The value read from file: (%A%) was not in the range between LOWVAL and
HIGHVAL
6012004 Unable to open file %A%
6012005 Unable to close file %A%
6012006 Unable to read file %A%
6013001 An ERROR of unknown type occurred while reading the JOBFILE in routine %A%.
6013003 Unexpected END OF FILE reached in JOBFILE. The JOBFILE name is %A%.
1950 PCL Reference Manual
Introduction

6013006 READ ERROR occurred in READ_JOB_PARAMETER.


6013007 Array PARAM_TYPES has an entry that is invalid for READ_JOB_PARAMETER.
The JOBFILE line is %A%.
6013008 The parameter name read from the JOBFILE is a duplication of 1 or more entries in
PARAM_NAMES array in READ_JOB_PARAMETER. The JOBFILE line is %A%.
6013009 The parameter name read from the JOBFILE is not a valid abbreviation of any entry in
PARAM_NAMES array in READ_JOB_PARAMETER. The JOBFILE line is %A%.
6013010 READ_JOB_PARAMETER could not parse the value as specified in
PARAM_TYPES. The JOBFILE line is %A%.
6013011 The array PARAM_NAMES in READ_JOB_PARAMETER has blank entries, or
identical entries were detected. The JOBFILE line is %A%.
6013012 An error occurred in the definition of the PCL PATH while reading the jobfile.
6013013 An error occurred while allocating memory for an array in the jobfile.
6013014 The values could not be extracted from a list contained in the jobfile.
6013015 The database file name could not be found in in the jobfile named "%A%".
6013016 The job name could not be found in the jobfile named "%A%".
6013018 The data associated with the job parameter named "%A%" has been entered as an array.
The type indicated for retrieving this data is incorrect.
6013019 The data associated with the job parameter named "%A%" has been entered as a string.
The type indicated for retrieving this data is incorrect.
6013020 The data associated with the job parameter named "%A%" has been entered as a real.
The type indicated for retrieving this data is incorrect.
6013021 The data associated with the job parameter named "%A%" has been entered as an
integer. The type indicated for retrieving this data is incorrect.
6013022 A position could not be found in the job parameter directory for "%A%".
6013023 There are no more steps in the database for the requested job name.
6013024 The maximum number of characters that can be written to the control file for a
parameter is 240.
6013025 The control file "%A%" could not be created.
6013026 The job "%A%" could not be entered in the database.
6013027 The job has been aborted, because the integer value for the job parameter "%A%" could
not be entered in the database.
6013028 The job has been aborted, because the real value for the job parameter "%A%" could
not be entered in the database.
6013029 The job has been aborted, because the character value for the job parameter "%A%"
could not be entered in the database.
Chapter 11: Status Messages 1951
Introduction

6013030 The job has been aborted, because the array for the job parameter "%A%" could not be
entered in the database.
6013031 The job has been aborted, because the stream entered for the job parameter "%A%"
could not be entered in the database.
6013032 The job has been aborted, because the job description "%A%" could not be entered in
the database.
6013033 The job has been aborted, because the path could not be entered in the database.
6013034 The jobfile named "%A%" does not exist.
6013035 The job "%A%" already exists. Do you wish to delete the existing job and create a new
one?
6013036 The job has been aborted, because the load case "%A%" does not exist.
6013037 The Job Name cannot exceed %I% characters.
6013038 The maximum number of File Search Path is 100. You have exceeded the limit.
6016001 The selected operation (%A%) is not available for analysis code %A%. Do you wish
to continue with this analysis code selection?
6016002 The jobname (%A%) is already defined in the database. A new name must be specified
to continue. Do you wish to continue?
6016003 The jobname (%A%) is not defined in the database but does exist. Do you wish to
overwrite?
6016004 Jobname (%A%) was not overwritten, but a new name must be specified to continue.
Do you wish to continue?
6016005 The Selected Analysis File databox was not filled in. This databox must be filled in to
continue. Do you wish to continue?
6016006 A database error occurred while attempting to retrieve the Load Case names. Do you
wish to continue?
6016007 A database error occurred while retrieving the Load Case name list. Do you wish to
continue?
6016008 No "Action's" are available for the requested analysis code (%A%). The analysis code
has been restored to the previously active analysis code. Check the set_options.pcl for
the requested code.
6016009 Jobname (%A%) already exists in this database/directory. It will be changed to jobname
(%A%) to assure unique jobnames.
6016010 File name (%A%) exists and is about to be overwritten. If you want to save the existing
file, you will have to rename it immediately.
6016011 Spreadsheet will be reduced to %I% rows. Extra rows will be removed from the bottom.
Do you wish to continue?
6016012 The Number of Frequency Ranges must be greater than zero.
6016013 The Number of Data Rows must be greater than zero.
1952 PCL Reference Manual
Introduction

6016014 No Cells selected. Please select at least 1 for input.


6016015 Table Input Data box contains invalid data. Please fill in with Real data.
6016016 Table Input Data box contains invalid data. Please fill in with Integer data.
6016017 There are %I% Data Rows for the X-Direction but the Response Spectrum Name is
blank. A name must be entered to continue. Do you wish to continue?
6016018 There are %I% Data Rows for the Y-Direction but the Response Spectrum Name is
blank. A name must be entered to continue. Do you wish to continue?
6016019 There are %I% Data Rows for the Z-Direction but the Response Spectrum Name is
blank. A name must be entered to continue. Do you wish to continue?
6016020 Horizontal cell selection is not allowed since columns may be of different datatypes.
6016021 ERROR! Some character string exceeded the 240 character limit.
6016022 The number of selected loadcases is out of the range %I% to %I%.
6016023 The coordinate frame <%I%> does not exist in the database. Select a valid coordinate
frame
6016024 The node <%I%> does not exist in the database. Select a valid node.
6016025 The Results translation can be time consuming for large models. Do you wish to wait
for translation? The database will be closed during the translation. If you choose to
wait, the database will automatically be reopened.
6016026 Input Data box contains invalid or blank data. Please enter valid name.
6016027 The jobname (%A%) is already defined in the database. Do you wish to overwrite?
6016028 The stepname (%A%) is already defined in the database. Do you wish to overwrite?
6016029 The parameter (%A%) is already defined in the database. Do you wish to overwrite?
6016030 One of the parameters to be saved has an unknown parameter type.
6016031 None of the requested parameters were found in the parameter set.
6016034 The Job Name is blank.
6016035 The Job Name "%A%" is invalid.
6016036 The job has been aborted.
6016037 The oldjob name must be entered for a restart. Please enter the oldjob name in order to
continue.
6016038 Do you wish to submit job "%A%" for analysis now?
6016039 Do you wish to submit job "%A%" for analysis now?
6016040 Errors (%I%) encountered writing parameters to database? Regardless, do you wish to
submit job "%A%" for analysis now?
6016041 Analysis job step "%A%" not found and not deleted.
6016042 Analysis job step "%A%" not deleted. Step is associated with an existing job.
Chapter 11: Status Messages 1953
Introduction

6016043 Full_Run or Check_Run Analysis for Abaqus Version 4.9 is not supported. Please
submit the analysis manually.
6016044 The base motion field name must be picked. Please pick a field in order to continue.
6016045 The %A% script could not be found in either the system or the PCL search paths.
6016046 The executable for %A% could not be found in either the system or the PCL search
paths.
6016047 Translator messages may be found in file: %A%
6016048 The database is not open.
6016049 Executing %A%
6016050 No command line arguments have been entered.
6016051 The translation has completed successfully.
6016052 The translation has completed with an error.
6016053 The analysis process id %I% could not be saved in the database.
6016054 The analysis code has not been specified.
6016055 The job %A% could not be found in the database.
6016056 A parameter set could not be found for the %A% job.
6016057 The analysis method could not be found for the %A% job.
6016058 The version of the analysis code could not be found for the %A% job.
6016059 The analysis has completed with an error.
6016060 The analysis cannot be performed because the %A% analysis code is not the current
analysis preference.
6016061 The analysis has completed successfully.
6016062 The loadcase must be picked. Please pick a a loadcase in order to continue.
6016063 A Temperature Results File name must be entered in order to continue.
6016064 Only one unique Temperature Results File can be referenced in a multiple steps
analysis.
6016065 The Results File name must be entered in order to continue.
6016066 The input in the select databox is invalid. Enter a valid input or select one entity only.
6016067 The coordinate frame type must be rectangular.
6016068 Unable to acquire %I% words of virtual memory.
6016069 The preference "%A%" is not contained in this database.
6016070 The subcase "%A%" does not exist.
6016071 The subcase "%A%" cannot be deleted, because it is associated with a job.
6016072 Do you wish to wait for the analysis to complete?
6016073 The Number of Categories must be greater than zero but less than 1001.
1954 PCL Reference Manual
Introduction

6016074 The Start Increment (N1) must be greater than zero but less than 101.
6016075 The Number of Increments (N2) must be greater than zero but less than 101.
6016076 The value of the equation (N1 + N2 - 1) must be less than 101. N1 is the Start Increment
and N2 is the Number of Increments.
6016077 The selected jobname was not stored. Please re-enter information to enable storage in
the database.
6016078 Do you wish to delete the associated jobfiles?
6016079 Table Input Data box contains invalid data. Please fill in with Positive Integer data.
6016080 Table Input Data box contains invalid data. Please fill in with Positive Real data%A%.
6016081 The column %A% is not used for this type Increment Type.
6016082 This value needs to be greater than the value in %A% for the same row.
6016083 This value needs to be less than the value in %A% for the same row.
6016084 You are about to clear all the data on the spreadsheet. There will be no way to recover
this data. Are you sure you want to do that?
6016085 Data in this column must be entered with the lowest value at the top, and the highest
value at the bottom. (i.e. In accending order.)
6016086 A discontinuity was detected at either the first or last entry in the Modal Damping Data.
This is not allowed, and will cause a fatal error in the analysis.
6017001 The database file name is missing from the command line. Use the "-d" option to enter
the database file name.
6017002 The control file name (ie. the ".jba" file) or the database name and the jobname must be
entered on the command-line.
6017003 The jobname is missing from the command line. Use the "-j" option to enter the
jobname.
6017004 The control file name (ie. the ".jba" file) or the database name and the jobname must be
entered on the command-line.
6018001 No properties have been defined for the element with ID %I%.
6018002 Some elements in the model have no types or properties defined. Do you wish to
continue with the translation?
6018003 No elements have been defined for this model. Do you wish to continue with the
translation?
6018004 The group "%A%" is associated with %I% output requests in %A% "%A%" for the
%A% analysis preference.
6018005 The group "%A%" cannot be deleted, because it is associated with some analysis
parameters.
6018006 No properties have been defined for element property set "%A%".
Chapter 11: Status Messages 1955
Introduction

6018007 This job has been aborted, because some of the element property sets in the model have
no properties defined.
6018008 Some of the element property sets in the model have no properties defined. Do you wish
to continue with the translation?
6018009 Some or all of the 2D Solid elements have negative normals. Correct the element
normals before submitting the analysis.
6018010 Generalized plane strain elements (CGPE) are present with other element types.
6020001 Creation date of the OUTPUT2 file is %A% %I%, 19%I%. The file label is %A%.
6020002
Messages output from the Patran %A% OUTPUT2 file translator (%A% %A% ) on
%A% at %A%.
6020003 Unable to open a new message file "%A%". Translation messages will be written to
"standard output".
6020004 Unable to open the specified OUTPUT2 file "%A%".
6020005 The specified OUTPUT2 file "%A%" is not in standard binary format and cannot be
translated.
6020006 The specified OUTPUT2 file "%A%" has been successfully opened.
6020007 End of MSC Nastran OUTPUT2 file translation.
6020008 The following table or matrix block has been encountered "%A%".
6020009 Creating the new subcase "%A%". The MSC Nastran approach code for this subcase is
%I%.
6020010 Searching for or creating load case "%A%".
6020011 Translating %I% %A% node results.
6020012 Translating %I% %A% element results.
6020013 Creating the %A% %A% %A% result "%A%, %A%".
6020014 Group "%A%" does not exist in the database. Model data will not be translated.
6020015 Translating %I% nodes to the database.
6020017 Translating %I% elements to the database.
6020018 Needed file specification missing! The full name of the jobfile must be specified as the
first command-line argument to this program.
6020019 Unable to open the specified database, %A%. Writing the OUTPUT2 information to the
PCL command file, %A%.
6020020 Writing the OUTPUT2 information to the database, %A%.
6020021 Unable to open either the specified database, %A%, or a PCL command file, %A%.
6020022 Translating %I% coordinate frames to the database.
6020023 Total execution time in real seconds: %G%
6020024 Total execution time in CPU seconds: %G%
1956 PCL Reference Manual
Introduction

6020025 *** Summary of OUTPUT2 File Translation


6020026 %I% Nodes Translated.
6020027 %I% Elements Translated.
6020028 %I% Coordinate Frames Translated.
6020029 %I% Nodal Result Vectors Translated.
6020030 %I% Elemental Result Scalars Translated.
6020031 %I% Elemental Result Vectors Translated.
6020032 %I% Elemental Result Tensors Translated.
6020033 *** End of Translation Summary
6020034 No OUTPUT2 file was specified for translation. Please, select a file through the Select
Results File form before translating.
6020036 An error has occurred translating the neutral format OUTPUT2 file, "%A%", to binary.
Translation will be aborted.
6020038 The specified OUTPUT2 file, "%A%", is in text format and must be converted into
binary format prior to translation. The new binary OUTPUT2 file will be named
"%A%". Time will be saved in subsequent translations if this new binary OUTPUT2
file is specified instead of the text OUTPUT2 file.
6020039 Unable to obtain a mapping definition to map p-element results for element %I%.
6020040
Mapping results from p-element VU mesh to %I% Patran elements.
6020041 Element %I% does not have the required 3 x 3 x 3 VU mesh so results can not be
mapped back to Patran elements. These results can be processed by reading both model

and results into a new Patran database.


6020042 Unable to to map results for p-element %I% because the element either can not be
found in the Patran database or is in error.
6020043 Creating spatial field %A% defining p-element p-orders.
6020044
Mapping %I% p-element tensor results to Patran elements.
6020045
Mapping %I% p-element vector results to Patran nodes.
6020046 %I% Nodal Result Scalars Translated.
6020047 %I% Nodal Result Tensors Translated.
6020048 Import of element stress and strain data is not currently supported in p-element modal
analyses. Skipping OES1 block.
6020049 *** WARNING: This is a pre-release Bulk Data File reader. No guarantees are made
as to the safety of your database. USE AT YOUR OWN RISK! Shall we proceed with
the pre-release code?
Chapter 11: Status Messages 1957
Introduction

6020050 *** ERROR: Adding nodal vector result to the database.


6020051 Node with ID %I% does not exist. Do you wish to continue?
6020052 *** ERROR: Adding element result to the database.
6020053 Element with ID %I% does not exist. Do you wish to continue?
6020054 *** ERROR: Adding elements to the database.
6020055 *** ERROR: Element with ID %I% already exists.
6020056 *** ERROR: Node with ID %I% already exists.
6020057 *** ERROR: Adding nodes to the database.
6020058 *** ERROR: Element with ID %I% references a node that does not exist.
6020059 *** ERROR: Ran out of memory while %A%.
6020060 Importing Node Results. %I% Scalars %I% Vectors %I% Tensors.
6020061 Importing Element Results. %I% Scalars %I% Vectors %I% Tensors.
6020062 Unable to get PHBDY data for CHBDY %I%
6020063 Unable to get area for CHBDY %I%
6020064 Unable to assign CHBDY heat to node %I%
6020065 Illegal vu-element type %I%
6020066 Error adding %A% result to the database. Status = %I% Entity ID = %I%.
6020067 Unable to import results for CHBDY element %I%
6020068 Results can not be imported for CHBDYE elements.
6020069 Error initializing duplicate result hash table.
6020070 Unable to get VU element for VU grid %I%
6020071
Grid Point Force Balance data must be written to an open Patran database.
6020072 Unable to translate OGPFB for element %I%
6020073 *** ERROR: Importing coordinate system %I%. Defining points are at the same
location or are collinear within the tolerance defined by "Division Tolerance".
6020074 This OUTPUT2 file cannot be converted to a flat file. This data must be written to an
open Patran database.
6020075 Shape change vector created from modified node locations.
6020076 Error accessing original model data when importing new, modified shape.
6020077 Creating objective function, maximum constraint and design variable global variables
for design cycle %I%.
6022001
Messages output from the Patran %A% input deck translator ( %A% %A% ) on %A%
at %A%.
1958 PCL Reference Manual
Introduction

6022002 Unable to open the MSC Nastran input file %A%.


6022003 The MSC Nastran input file, %A%, has been successfully opened.
6022004
MSC Nastran input file created by the Patran %A% input file translator ( %A% %A%
) on %A% at %A%.
6022005 Reading model information from the specified database, %A%.
6022006 Unable to open the specified database, %A%.
6022007 Translating %I% elements from the element property region %A%.
6022008 Translating %I% nodes from group : %A%.
6022009 Translating %I% nodes from the entire model.
6022010 Translating %I% referenced coordinate frames.
6022011 Writing loads for Load Case : %A%.
6022012 Translating %I% dynamic load table references.
6022013 Translating enforced displacements in load set : %A%.
6022014 Translating initial displacements in load set : %A%.
6022015 Translating initial velocities in load set : %A%.
6022016 Translating nodal constraints in load set : %A%.
6022017 Translating nodal forces in load set : %A%.
6022018 Translating nodal moments in load set : %A%.
6022019 Translating gravity loading in load set : %A%.
6022020 Translating angular velocity loading in load set : %A%.
6022021 Translating angular acceleration loading in load set : %A%.
6022022 No alter file of the name %A% could be found. No OUTPUT2 alter will be written to
the MSC Nastran input file.
6022023 No property regions are defined in the database. No elements or element properties can
be translated.
6022024 End of MSC Nastran input file translation.
6022025 Translating pressure loads in load set : %A%.
6022026 Translating %I% material tables which required no conversions.
6022027 Translating %I% material tables which required conversion by pat3nas.
6022028 Translating %I% referenced material records.
6022029 Translating static nodal temperatures of load set : %A%.
6022030 Translating static bar element temperatures of load set : %A%.
6022031 Translating static plate element temperatures of load set : %A%.
6022032 Translating time dependent nodal temperatures of load set : %A%.
Chapter 11: Status Messages 1959
Introduction

6022033 Translating time dependent bar element temperatures of load set : %A%.
6022034 Translating time dependent plate element temperatures of load set : %A%.
6022035 Translating %I% multipoint constraints from the entire model.
6022036 Translating %I% multipoint constraints from group : %A%.
6022037 Files from a previous analysis conflict with the current job name, %A%. These files
are %A%. Will you permit deletion of these files?
6022038 Please, choose a job name which will not conflict with already existing files.
6022039
Patran is unable to delete the file, %A%. Please, either delete this file or choose a
different job name.
6022040 The elements listed above which have no assigned element property region will not be
translated due to the fact that the desired element type is unspecified.
6022041 Load and boundary condition data may be inaccurate due to the fact that loads were not
evaluated from within Patran. To ensure the accuracy of load and boundary condition

data, evaluate all loads from within Patran by either submitting the analysis using the

standard Analysis forms or typing in the following command into the Patran command

window while the Patran database currently being translated is open,


"loadsbcs_eval_all()".
6022042 The RBAR rigid element of MSC Nastran id %I% references more than two unique
nodes. Only the first two nodes will be considered.
6022043 The RTRPLT rigid element of MSC Nastran id %I% references more than three unique
nodes. Only the first three nodes will be considered.
6022044 The input job name, "%A%", begins with a numeric and will create invalid MSC
Nastran file names. Please, input a job name that begins with an alpha character.
6022045 Unable to open the specified BDF include file, %A%.
6022046 Error reading from the BDF include file, %A%.
6022047 Unable to select subcase %A%. Constraints in its loadcase do not match those of the
first selected subcase.
6022048 Unable to create an Output Request for %A%. There are no surface/volume entities
created in the current model.
6022049 Translating %I% p-element FEEDGE's.
6022050 Translating %I% p-element POINT's.
6022051 Multiple subcases not allowed with this Solution Sequence.
6022052 There are conflicting Composite Plate Options in the selected subcases. The first
subcase with Composite Plate Options will determine the parameter settings for this
run.
1960 PCL Reference Manual
Introduction

6022053 Unable to acquire %I% words of virtual memory.


6022054
"%A%" is an old job that cannot be processed with this version of Patran. It has been
deleted.
6022055 Only one subcase allowed for superelement analysis.
6022056 ** ERROR: Only one subcase is allowed in the superelement analysis.
6022057 *** ERROR: Error<%I%> in <%A%> call
6022058 Superelement <%A%> translated.
6022059 ** WARNING: Superelement <%A%> is defined with no elements in it.
6022060 ** WARNING: A Displacement LBC has been applied to p-element node %I% which
is not translated as a MSC Nastran GRID. This LBC should be applied using the
Element Uniform or Element Variable Displacement options.
6022061 ** ERROR: A Force LBC has been applied to p-element node %I% which is not
translated as a MSC Nastran GRID.
6022062 ** ERROR: A Temperature LBC has been applied to p-element node %I% which is not
translated as a MSC Nastran GRID.
6022063 Multiple boundary conditions not allowed for this Solution Sequence with versions less
than 68.
6022064 The analysis preference is not set to MSC Nastran.
6022065 The subcase "%A%" already exists.
6022066 The "%A%" output request is not supported in version %I% of the analysis code.
6022067 ** WARNING: LBC set %A% has no entities in its application region.
6022068 Subcase Name is "blank".
6022069 The name for load case "%A%" cannot be processed, because it contains more than 75
characters. Please shorten the name of this load case.
6022070 Subcase "%A%" already exists. Do you wish to delete the existing subcase and create
a new one?
6022071 Subcase "%A%" cannot be processed.
6022072 Solution sequence "%A%" is not supported.
6022073 Subcase "%A%" does not have a load case and cannot be associated to the job.
6022074 Subcase "%A%" could not be associated to the job.
6022075 The default subcase has been deleted. A subcase must be selected for this job.
6022076 %I% could not be entered into the database for the "%A%" parameter.
6022077 "%A%" could not be entered into the database for the "%A%" parameter.
6022078 %G% could not be entered into the database for the "%A%" parameter.
6022079 The following error occurred while %A%.
Chapter 11: Status Messages 1961
Introduction

6022080 Only one static subcase can be specified with this Solution Sequence. The buckling
subcase will be generated automatically.
6022081 The gap element with ID %I% has zero length. The "Gap Orientation" on the Element
Properties form must specify a coordinate frame id for this element.
6022082 The order of the subcases that have already been analyzed should be maintained when
performing a restart for this solution sequence.
6022083 This request will be ignored by the analysis code unless 2D and/or 3D elements are
added to the model.
6022084 The inertial load set "%A%" cannot be translated, because it varies spatially. The
analysis code does not support spatially varying inertial loads.
6022085 At most nine GRAV entries can be used in a given run. The gravity loads for this job
exceed this limit, because they reference a coordinate system that is not rectangular.
6022086 An error has occurred while trying to associate the subcases to the job.
6022087 *** WARNING: The p elements in superelement <%A%> do not have internal nodes.
Superelement is not created.
6022088 The selected result type already exists.
6022089 The checksum could not be determined for this machine.
6022090 The ENDDATA bulk data delimiter does not exist in the input file.
6022091 The BEGIN BULK case control delimiter does not exist in the input file.
6022092 The input file "%A%" could not be opened to determine the checksum.
6022093 The input file "%A%" could not be opened to write the checksum.
6022094 The checksum could not be determined, because this platform is not supported by the
checksum code.
6022095 The following files exist for the current job name, %A%. These files are %A%. Do you
want to delete these files?
6022096 The associated jobfiles were deleted successfully.
6022097 Unable to open the new message file "%A%". Translation messages will be written to
"standard output".
6022098 A node id must be specified in the "Node i.d. for Wt. Gener." databox when Inertia
Relief is selected.
6022099
A license could not be obtained for the Patran MSC Nastran translator.
6022100 The FEEDGE with ID = %I% is invalid.
6022101 Translating %I% p-element FEFACE's.
6022102 There is a problem with the number of fields on the %A% card.
6022103 Translating distributed loads in load set : %A%.
6022104 The shape of element ID = %I% is not recognized.
1962 PCL Reference Manual
Introduction

6022105 The connectivity is not available for element ID = %I%.


6022106 The magnitude of this vector is zero.
6022107 The method could not be determined for the GMLOAD.
6022108 The values for load set "%A%" are discontinuous at node ID = %I%.
6022109 Writing contact lbcs for Load Case: %A%.
6022110 *** ERROR: Cannot create CORD2R for slide plane, since all nodes on slideline are
collinear and parallel to the Master-to-Slave vector for Load Case: %A%.
6022111 *** WARNING: Removing node %I% from slave slideline, since it is also on the
master slideline for LBC set %A%.
6022112 *** ERROR: There are no nodes on slideline for LBC set %A%.
6022113 This translation will produce Bulk Data File entries for region %A% that are not
supported by the specified MSC Nastran VERSION (%A%).
6022114 An error occurred while processing the element property data for region %A%. Check
the data for this property region for valid entries. Translation terminating.
6022115 Beam sections are not supported for MSC Nastran version %A%. Property set %A%
will be created using PBAR or PBEAM commands rather than PBARL or PBEAML
commands.
6022116 The element ID = %I% is axisymmetric and must be in the XZ plane.
6022117 The node ID = %I% is referenced in the connectivity for element ID = %I%, but it does
not exist.
6022118 The element ID = %I% has a zero edge length.
6022119 The distributed edge load on element ID = %I% was ignored.
6022120 The transformation matrix could not be determined for element ID = %I%. The
distributed edge load on this element was ignored.
6022121 The distributed edge moment is not supported for axisymmetric elements. The load on
element ID = %I% was ignored.
6022122 Translating initial temperatures in load set : %A%.
6022123 Translating constant temperature boundary conditions in load set : %A%.
6022124 Translating nodal heat sources in load set : %A%.
6022125 Translating volumetric heat sources in load set : %A%.
6022126 Translating directional heat flux in load set : %A%.
6022127 Translating normal heat flux in load set : %A%.
6022128 Translating free convection in load set : %A%.
6022129 Translating tube flow convection in load set : %A%.
6022130 Translating radiation to ambient in load set : %A%.
6022131 Translating %I% SPOINT's.
Chapter 11: Status Messages 1963
Introduction

6022132 Translating radiation enclosures in load set : %A%.


6022133 The normal to edge %I% on element ID = %I% could not be determined.
6022134 Directional flux was not specified.
6022135 Directional flux incident vector or time dependent direction cosines have not been
defined.
6022136 The material orientation for some elements could not be found. Redefine the material
orientation.
6022137 The Distributed Moments on p-element beams and shells is not supported at this time.
Do you wish to continue the analysis?
6022138 The PIN FLAGS on p-element beams are not supported.
6022139 There are no GEOMx blocks on the OUTPUT2 file. Post processing of heat fluxes for
convection and radiation boundary conditions will not be possible.
6022140 The p-formulation beam and shell elements are supported for version 69 and above of
MSC Nastran. Do you want to submit this analysis?
6022141 For Equivalent Section Shells using laminated materials, the membrane and bending
materials cannot be the same name. Make two copies of the laminated material and use
them for membrane and bending separately.
6022142 %I% property regions translated.
6022143 The Node Id is greater than 99999999.
6022144 The MAT8 Id is greater than 999999.
6022145 *** Error: %A% vector is a zero vector.
6022146 *** Error: The Boundary Nodes are incorrect for superelement <%A%>.
6022147 *** Error: The Scale Factors on Load Sets and on Load Case are not supported for MSC
Nastran Thermal Analysis.
6022148 *** Beam Section Dimension error in element property region "%A%". Check
definition of beam section dimensions. MSC Nastran error code is %I%. See
MSC.Nastran Reference Manual for additional information on error code.
6022149 **WARNING: The midside nodes on curved edges of some cubic p-elements have
been adjusted so that the edges of the adjacent elements are C1 continuous. The change
applies to HEX32, WEDGE24, TET16, QUAD12, QUAD16 and TRIA9 p-element
types.
6022150 **ERROR: The property set "%A%" must have required properties defined. Property
set and region elements not translated.
6022151 The material density for material "%A%" is missing for the "Minimum Weight" design
objective. Density is set to 1.0.
6022153 The coordinate frame specified for Load Set "%A%" (CID %I%) conflicts with the
analysis coordinate frame defined on the following %I% nodes: %A%. Do you want to
continue with analysis?
1964 PCL Reference Manual
Introduction

6022154 The coordinate frame specified for Load Set "%A%" (CID %I%) conflicts with the
analysis coordinate frame defined on the following %I% nodes: %A%.
6022155 The property "%A%" is not supported as a Design Variable.
6022156 The temperature on solids in loadset "%A%" is not supported.
6022157 The multiple MATS1 cards for nonlinear analysis are not allowed.
6022158 **WARNING: The surface elements with midside nodes are ignored in Duct Flow
LBC.
6022159 Writing interface element lbcs.
6022160 The offsets in the residual structure are not supported for Non Linear analysis. Check
the property set <%A%>.
6022161 The encoded ids for some LoadBCs are identical. Make sure that all those LoadsBCs
are part of the loadcase if any one of them is used in the loadcase.
6022162 The "AUTOSPC" is turned "ON" for warping Nodes. Do you want to continue?
6022163 H element found in interface element %A%. Currently MSC Nastran interface element
only supports p elements.
6022164 Branch was found in curve interface element %A% at node %I%. This is not supported
by MSC Nastran.
6022165 Multiple curve segments were found in curve interface element %A%. This is not
supported by MSC Nastran.
6022166 Single node curve was found in interface element %A%. This is not supported by MSC
Nastran.
6022167 The function defined in field "%A%" as design variable is either nonlinear or is not of
the valid linear format. The function must be of the following form:
"c0+c1*d1+c2*d2+....."
6022168 The interface element %A% has no node in it.
6022169 More than 6 subdomains found in interface element %A%. Only the first 6 subdomains
are used, as supported by MSC Nastran.
6022170 Loop found in curve interface element %A%. This is not supported by MSC Nastran.
6022171 The PBEAML for sizing optimization is only supported for constant cross section.
6022172
Patran currently uses the spatial distribution of loading from the first selected subcase
for all subsequent subcases. This will be used in combination with the frequency
function from the currently selected subcase. If a different spatial distribution of
loading is intended for this subcase, this subcase should not be incorporated into a
multi-subcase run.
Chapter 11: Status Messages 1965
Introduction

6022173
Patran currently uses the spatial distribution of loading from the first selected subcase
for all subsequent subcases. This will be used in combination with the time function
from the currently selected subcase. If a different spatial distribution of loading is
intended for this subcase, this subcase should not be incorporated into a multi-subcase
run.
6022174
Patran currently uses the spatial distribution of loading and the modal damping from the
first selected subcase for all subsequent subcases. The load distribution will be used in
combination with the frequency function from the currently selected subcase. If a
different spatial distribution of loading or a different specification of modal damping is
intended for this subcase, this subcase should not be incorporated into a multi-subcase
run.
6022175
Patran currently uses the spatial distribution of loading and the modal damping from the
first selected subcase for all subsequent subcases. The load distribution will be used in
combination with the time function from the currently selected subcase. If a different
spatial distribution of loading or a different specification of modal damping is intended
for this subcase, this subcase should not be incorporated into a multi-subcase run.
6024001 Nodal area greater than 0.0 must be specified.
6024002 Nastran/Thermal absorptivity must be greater than or equal to 0.0 and less than or equal
to 1.0.
6024003 The free convection heat transfer coefficient must be greater than or equal to 0.0.
6024004 The free convection exponent must be greater than or equal to 0.0.
6024005 The flow tube convection coefficient must be greater than 0.0. The default value is
1.0E-20.
6024006 The flow tube Reynolds number exponent must be greater than or equal to 0.0.
6024007 The flow tube Prandlt number exponent for heat flowing into the element must be
greater than or equal to 0.0.
6024008 The flow tube Prandlt number exponent for heat flowing out of the element must be
greater than or equal to 0.0.
6024009 Nastran/Thermal emissivity must be greater than or equal to 0.0 and less than or equal
to 1.0.
6024010 The radiation view factor must be greater than or equal to 0.0.
6024011 The radiation enclosure ID must be greater than 0.
6024012 A film node was requested to evaluate fluid properties, but none was specified.
6024013 The ambient temperature must be specified.
6024014 The extended surface multiplier must be greater than 0.0. The default value is 1.0.
6025001 You must select a MSC Nastran input file to translate first.
1966 PCL Reference Manual
Introduction

6025002 Model translation from a MSC Nastran input file can be time consuming. Do you wish
to wait for this translation to complete?
6025004 An error has occurred in importing the resulting PATRAN 2 neutral file, "%A%", into
Patran.
6025005 Unable to create the script file, "%A%". Translation has been aborted.
6025006 Unable to delete old script file, "%A%". Translation has been aborted.
6025007 An error occurred in the execution of naspat. Check installation.
6026001 An error was detected during surface creation.
6026002 Input error was detected
6026003 Point list is blank or unable to process input list.
6026004 Surface has severe geometric error and is not suitable for meshing.
6026005 The vertices do not form a flat plate: Warped surface.
6026006 One edge needs to be parallel to the X axis of the Aero Coordinate System.
6026007 Two edges need to be parallel to the X axis of the Aero Coordinate System.
6026008 The specified Coordinate System is invalid.
6026009 The specified Coordinate System must be Cartesian.
6026010 The %A% name is missing. Please enter a unique name.
6026011 Duplicate %A% name encountered.
6026012 Aero property set creation error encountered for property: %A%.
6026013 Aero group creation error encountered for group: %A%.
6026014 The existing entities could not be removed from group: %A%.
6026015 The surface %A% was not created.
6026016 The group already exists in the database.
6026017 Memory allocation problem encountered.
6026018 Meshing operation error encountered.
6026019 Mesh seed data extraction problem encountered or not enough seeds defined!!!
6026020 Multiple rows cannot be selected in column number %I% of the spreadsheet.
6026021 There are no rows defined in the spreadsheet. At least one row must be defined to
continue.
6026022 There are still rows in the spreadsheet that have blank cells. All cells must be filled in
to continue.
6026023 The Table Name databox cannot be blank. A unique name must be entered.
6026024 The Table Name entered is not unique.
6026025 Unable to acquire %I% words of virtual memory.
Chapter 11: Status Messages 1967
Introduction

6026026 Global Aero Data Field creation error encountered for Field: %A%.
6026027 Invalid data specified for: %A%
6026028 The selected database is different than the Target Aerodynamic database. Do yo want
to close the Target database and open %A% instead?
6026029 Job/Subcase creation error encountered.
6026031 The surface %A% does not exist.
6026032 The surface %A% is not suitable for Aero application.
6026033 At least one edge of surface %A% is not straight.
6026034
The curve %A% has a length smaller that Patran’s geometric tolerance.
6026035 The curve %A% is not straight.
6026036 WARNING!!! The Aerodynamics Job Queue is not empty. Continuing with this action
will cause the queue to be cleared. Do you want to continue?
6026037 The %A% Name selectdatabox is blank. Please select or enter a name in order to
continue.
6026038 The name %A% was not found in the database.
6026039 The group %A% or its members cannot be extracted.
6026040 The surface %A% was not modified.
6026041 An error was detected during surface modification.
6026042 The starting element ID is conflicting with existing ID's in database. Do you wish to use
the starting element ID # %A% instead ?
6026043 No changes were made to the selected Surface/Body Name so the pset entry for %A%
was not modified.
6026044 The group specified is invalid or does not exist in the database.
6026045 The group %A% is used in a different context and cannot be used for 2D Aero
modeling.
6026046 Aero property set modification error encountered for property: %A%.
6026047 An error was detected during body creation.
6026048 Curve has severe geometric error and is not suitable for meshing.
6026049 The end points of curve need to be parallel to the X axis of the Aero Coordinate System.
6026050 The body %A% was not created.
6026051 The body %A% does not exist.
6026052 A call to function %A% failed during the Aero BDF generation process.
6026053 Missing function in %A% shared library.
6026054 Unable to load the %A% shared library.
6026055 Unable to unload the %A% shared library.
1968 PCL Reference Manual
Introduction

6026056
%A% shared library is incompatible with current version of Patran.
6026057 %A% shared library not initialized.
6026058 An unknown error has occurred in the %A% shared library.
6026059 The Analysis Type for this database is set to "Aeroelasticity" but the Flight Loads
software is unavailable. Would you like to change the Analysis Type to "Structural" ?
6026060 The entry for %A% is missing or inaccurate.
6026061 The curve %A% does not exist.
6026062 No entry in the Optional Slender Body Half-Width spreadsheet can exceed the
Reference Half-Width value.
6026063 The selected aero group %A% already belongs to a SuperGroup do you wish to replace
that relationship link with one to the specified SuperGroup?
6026064 An error was detected during body modification.
6026065 The body %A% was not modified.
6026066 %A%
6026067 There is/are %I% incorrect subcase(s) currently in the Select Subcase listbox. The
subcase(s) in error is/are: %A%
6026068 The subcase(s) %A% do not have the same Control Devices as the selected
SuperGroup. Should they be removed from the Selected Subcase list? (If NO then the
selected SuperGroup will not be set.)
6026069 The subcase(s) %A% do not have the same Control Devices as the selected SuperGroup
for the new job. Should they be removed from the Selected Subcase list? (If NO then
the selected SuperGroup will not be set.)
6026070 Some of the selected nodes belong to the group %A%. This group is not a Structural
Group. Please check the list of nodes that were selected.
6026071 The selected elements belong to more than one Surface/Body. Please make sure to only
select elements that belong to one Surface/Body.
6026072 The selected elements all belong to the %A% Element Property set which is either not
an Aero Element Property or is an Aero Element Property of the wrong type. Please
select only Aero elements of the correct type.
6026073 One or more selected elements are not aerodynamic. Please select only Aero elements.
6026074 The effectiveness value should be a positive value.
6026075 The Control Device name %A% is already in use or is invalid.
6026076 The Control Device name %A% does not exist.
6026077 The Spline name %A% is already in use or is invalid.
6026078 The Spline name %A% does not exist.
6026079 The %A% listbox has no items highlighted. Please select an item in the listbox in order
to continue.
Chapter 11: Status Messages 1969
Introduction

6026080 The Next Elem ID Increment value is invalid. The number must be 4 or greater.
6026081 The subcase %A% is not of method type %A% and therefore will not be added to the
Subcases Selected listbox.
6026082 The Control Devices for the subcase %A% do not match those for the current Aero
Model. Please update the subcase.
6026083 An invalid Action of %A% was specified.
6026084 An invalid Object of %A% was specified.
6026085 An invalid Method of %A% was specified.
6026086 No Result Cases were selected.
6026087 No Result Types were selected.
6026088 The control devices for the selected subcase do not match the current SuperGroup
control devices. Selection of the Trim Parameters button will cause the trim parameters
to be reset to their default state.
6026089 No Splines were selected.
6026090 Global Data values are missing.
6026091 The Import File Name is missing.
6026092 The entered Import File Name %A% does not exist.
6026100 Specified file %A% is a Directory
6026101 Unable to write to file: %A%
6026102 File %A% already exists. Do you wish to overwrite it?
6026103 Unable to verify that the file %A% exists. Do you want to continue?
6026104 Unable to find Result Quantity $A%.
6031001 The control file name must be specified as the first command-line argument for this
program.
6031002
Messages output from the Patran %A% input deck file translator ( %A% %A% ) on
%A% at %A%.
6031003 End of ANSYS input file translation.
6031004 A jobfile for the wrong translator was submitted to the ANSYS results translator. The
text of the line in the jobfile is %A%.
6031005 The translator name was not specified in the jobfile. Translation terminating.
6031006 No DATABASE specification was found in the jobfile.
6031007 No JOBNAME specification was found in the jobfile.
6031008 No OBJECT specification was found in the jobfile.
6031009 An incorrect value for OBJECT was found in the jobfile. It must be ENTIRE_MODEL,
SUPERELEMENT, or GROUP
1970 PCL Reference Manual
Introduction

6031010 Unable to open the specified database, %A%.


6031011 Reading model information from the specified database, %A%.
6031012
ANSYS input file created by the Patran %A% input file translator ( %A% %A% ) on
%A% at %A%.
6031013 The ANSYS input file, %A%, has been successfully opened.
6031014 Unable to open the ANSYS input file %A%.
6031015 Unable to find the parameter %A% in the list of parameters.
6031016 The parameter %A% was not found in the jobfile. Check ANALYSIS forms to ensure
that a value was defined for this parameter.
6031017 *WARNING* The ANSYS RELEASE number parameter was either not found or had
a bad value. Check your PREP7 input deck to ensure it is for the correct release of
ANSYS.
6031018 No element properties were detected in the database.
6031019 The translation stopped while %A%.
6031020 No materials were detected in the database.
6031021 The array that contains the %A% is incorrectly dimensioned to %I%.
6031022 An error occurred while allocating in-core memory for %A%.
6031023 The following database error occurred while extracting the %A%.
6031024 *WARNING* None of the element property regions have properties defined for them.
6031025 *WARNING* No elements were detected in the database for group %A%. Translation
continuing.
6031026 The requested number of blocks to allocate is set to %I%.
6031027 The requested number of words to allocate is equal to %I%.
6031028 The requested number of blocks to deallocate is set to %I%.
6031029 The element property routines need to be updated to process property values of type
%I%.
6031030 The declared length of %A% is incorrectly set to %I%.
6031031 No loads or boundary conditions were detected for loadcase "%A%".
6031032 The load or boundary condition "%A%" is of a type that the PAT3ANS translator does
not currently support.
6031033 The load and boundary condition tables need to be updated to include the "%A%" type.
6031034 Time dependent fields are currently not supported. The field referenced in the load or
boundary condition "%A%" will not appear in the input file.
6031035 The load or boundary condition variable "%A%" is not in the translator's tables.
6031036 No material properties were defined for "%A%".
Chapter 11: Status Messages 1971
Introduction

6031037 No loadcases were specified for the analysis.


6031038 No element topologies were identified for the element property region.
6031039 The elements in region "%A%" are of a type that the PAT3ANS translator does not
currently support.
6031040 No element STIFs were identified for the element property region.
6031041 The element property id %I% could not be found in the conversion tables for STIF
number %I%.
6031042 The element property value %A% could not be found in the conversion tables for
element property id %I% and STIF number %I%.
6031043 The KEYOPT number %I% cannot be processed. It was found in the conversion tables
for element property id %I% and STIF number %I%.
6031044 The material id %I% was not found in the list of material that are in the database.
6031045 The number of layers is set to %I% which is not allowed for STIF number %I%.
6031046 The element id %I% was not found in %A%.
6031047 The laminate offset %G% is not available for the elements in region "%A%". The
reference surface must be located at "%A%" for STIF number %I%.
6031048 The property in position %I% of the PLY_MEM array has not been accounted for in the
routine that retrieves ply data.
6031049 The elements in region "%A%" are of STIF type %I% which requires a laminated
material.
6031050 The element property region id %I% was not found in the list of regions in the database.
6031051 The solution type specified is not supported.
6031052 The orientation node %I% for element %I% was not found in the database.
6031053
No map was found for mapping the Patran faces and edges to the ANSYS face numbers
for STIF %I% elements.
6031054 *WARNING* A loading was applied to a face or edge that is not supported in ANSYS.
LBC case is %A%. Translation is continuing without this loading.
6031055 *WARNING* HEAT FLUX is not supported by ANSYS Release 4.X. You must have
ANSYS Release 5.X to use HEAT FLUX. Translation is continuing without this
loading.
6031056 *WARNING* Non-zero coefficients are ignored in MPC # %I%.
6031057
Constraint equations generated by Patran "%A%" MPC # %I%.
6031058 Error translating mpc # %I%. Re-check mpc geometry.
6031059
DOF was required at node %I% for Patran MPC #.
1972 PCL Reference Manual
Introduction

6031060 The number of total nodes in an "%A%" MPC must be %I% times the number of
dependent nodes.
6031061 Unknown node %I% referenced in "%A%" type MPC.
6031062 Unknown coordinate frame %I% referenced by MPC %I%.
6031063 MPC # %I% not translated.
6031064 The %A% %I% was not found in the search.
6031065 The MPC that has an id of %I% will not appear in the input deck.
6031066 No MPCs were detected in the database.
6031067 The translation must be resubmitted from the Analysis Form.
6031068 An unrecognized degree of freedom was found while %A%.
6031069 No independent term was found for MPC number %I%, of type %A%.
6031070 More than the allowed number of %A% were specified for the MPC set. The maximum
number allowed for a %A% type mpc is %I%.
6031071 *WARNING* An unsupported MPC type was detected for MPC number %I%.
Translation continuing without this MPC.
6031072 No dependent term was found for MPC number %I%, of type %A%.
6031073 The field %A% is not a material field. Translation terminated.
6031074 The field %A% has more TEMPERATURE values than the %I% allowed. Translation
terminated.
6031075 The field %A% has more DATA POINTS than the %I% allowed. Translation
terminated.
6031076 *WARNING* The origin point has been removed from the definition of field %A% for
entry into the ANSYS nonlinear material table.
6031077 Translating %I% %A%
6031078 Writing data for Load Case %A%.
6031079 Writing %A% Solution Parameters.
6031080 Preparing to write %I% Elements in %I% Region(s).
6031081 Writing %I% Elements in Subregion %I% of Region %A%.
6031082 *** ERROR: Could not determine element type in target region for Lbc: %A%.
6031083 *** ERROR: Could not determine element type in contact region for Lbc: %A%.
6031084 The selected analysis code in the database is not ANSYS or ANSYS 5. Please update
your Analysis Preference setting.
6031085 *WARNING* No supported element type was found for the element(s) with shape
%A%%I%. Translation is continuing without the affected elements.
6031086 Determining information for region "%A%".
6031087 The element's type or its shape was not found for element id %I%.
Chapter 11: Status Messages 1973
Introduction

6031088 *WARNING* Elements or their shapes were not found for a load set. The LBC case is
"%A%". Translation is continuing without this load for the affected element(s).
6031089 *** ERROR: Check the Contact Lbc %A%.
6031090 The Vector pointing from Target to the Contact surface must be defined.
6035001 ANSYS element STIF%I% is not supported by the translator. Execution proceeding
without this element type.
6035002 Input Results File is From Pre 4.2 Version of ANSYS. Translation Stopped.
6035003 Illegal STIF number (%I%) detected in ANSYS results file. Execution stopped.
6035004 Error initializing results database for element type STIF%I%.
6035005 Error allocating in-core virtual memory. Translation Stopped.
6035006
Message file created by the Patran ANSYS RESULTS translator ( %A% %A% ) on
%A% at %A%.
6035007 Translation from ANSYS results file "%A%".
6035008 ANSYS results file was created by: %A%.
6035009 Error translating ANSYS Reaction Force data block. Translation Stopped.
6035010 Error Adding ANSYS Reaction Force data to database. Translation Stopped.
6035011 The element shape is not properly defined for the element type %I%. ISHAPE = %I%.
6035012 Error translating displacements. Translation Stopped
6035013 A user defined Coordinate Frame was detected for element type %I% with CID = %I%.
If the model was not created in Patran, you will have to create the coordinate frame
before attempting to display your results.
6035014 A jobfile for the wrong translator was submitted to the ANSYS results translator. The
text of the line in the jobfile is %A%.
6035015 The translator name was not specified in the jobfile. Translation terminating.
6035016 The element number %I% of type STIF No. = %I% with shape = %A% is not
supported. Translation is continuing without this element.
6035017 Error while translating local coordinate systems. Translation Stopped.
6035018 An Unsupported Toroidal coordinate system (Number %I%) was encountered. It was
translated as a rectangular coordinate system. NOTE: Results referring to this
coordinate system may be improperly displayed.
6035019 An Unsupported Elliptical %A% coordinate system (Number %I%) was encountered.
It was translated as a %A% coordinate system. NOTE: Results referring to this
coordinate system may be improperly displayed.
6035020 Definition of element top and bottom has been specified by the user. Bottom is now at
the bottom of layer %I%, and Top is now at the top of layer %I% for Element Number
%I%.
1974 PCL Reference Manual
Introduction

6035021 KEYOPT9 was nonzero for Element Number %I%. Top and Bottom values are now at
the middle of the top and bottom layers.
6035022 No DATABASE specification was found in the jobfile.
6035023 No JOBNAME specification was found in the jobfile.
6035024 No RESULTS FILE specification was found in the jobfile.
6035025 No OBJECT specification was found in the jobfile.
6035026 An incorrect value for OBJECT was found in the jobfile. It must be RESULT
ENTITIES, MODEL DATA, or BOTH
6035027 The following database error occurred while creating the %A%.
6035028 The number of element results is incorrectly set to %I% in the element results definition
table for STIF number %I%.
6035029 The array that contains the %A% is incorrectly dimensioned to %I%.
6035030 An error occurred while allocating in-core memory for %A%.
6035031 The %I%th entry in the results definition table was not found for STIF number %I%.
6035032 The configuration of element %I% is currently not supported for STIF number %I%.
6035033 End of ANSYS results file translation. -----
6035034 Total execution time in real seconds: %G%
6035035 Total execution time in CPU seconds: %G%
6035036 Beginning translation of the model.
6035037 Storing %I% nodes to the database in group %A%.
6035038 Storing %I% elements to the database in group %A%.
6035039 Beginning translation of the results.
6035040 Translating DISPLACEMENT data for Load Case %I%, Subcase %I%.
6035041 Translating STRESS data for Load Case %I%, Subcase %I%.
6035042 Translating REACTION data for Load Case %I%, Subcase %I%.
6035043 The load case "%A%" has been found or created.
6035044 WARNING: %I% Nodes were not found while adding %A% results.
6035045
The selected results file appears to be from ANSYS 5.0. Patran ANSYS does not
currently support ANSYS 5.0 results files. Do you wish to continue?
6035046 Error reading the ANSYS results file. Error occurred while %A%.
6035047 File %A% does not exist. Translation stopped.
6035048 Error while initializing ANSYS binary file using ANSYS BINSET routine.
6035049 Error while reading the ANSYS results file standard header. Translation stopped.
6035050 The selected file, %A%, is not an ANSYS 5 results file. Translation stopped.
Chapter 11: Status Messages 1975
Introduction

6035051 Storing %I% coordinate frames to the database.


6035052 Translating Nodal Solution data for Load Case %I%, Subcase %I%.
6035053 Translating Reaction Force data for Load Case %I%, Subcase %I%.
6035054 Error while translating element results for %A% data.
6035055 *WARNING*: Duplicate element was found in the ANSYS results file. The ID of the
duplicate element is %I%.
6035056 *WARNING*: Duplicate node was found in the ANSYS results file. The ID of the
duplicate node is %I%.
6035057 Mismatched number of nodes while sorting node locations to virtual arrays.
6035058 %I% %A% translated to the database or flat file.
6035059 The results file header shows the following statistics: Maximum node id is %I%
Number of Nodes is %I% Number of Degrees of Freedom per Node is %I% Maximum
Element Number is %I% Number of Elements is %I% Analysis Type is %I% Number
of Result Data Sets is %I%
6035060 *WARNING*: Duplicate coordinate frame was found in the ANSYS results file. The
ID of the duplicate coordinate frame is %I%.
6035061 The results file header shows the following statistics: Maximum node id is %I%
Number of Degrees of Freedom per Node is %I% Maximum Element Number is %I%
Analysis Type is %I%
6035062 Retrieving data for %I% %A% from the ANSYS results file.
6035063 *WARNING*: Results Import for the ANSYS Element Type, STIF%I%, is not
currently supported. Translation is continuing without element results for this element
type.
6035064 ERROR reading ANSYS results file, GROUP 3 data.
6035065 ERROR reading ANSYS results file, GROUP 4 data.
6035066 ERROR: ANSYS requires that the combination of file name and extension be 50
characters or less in length. Your file name %A% is too long. Please rename your file
to fit the ANSYS requirements.
6037001 Only 50 output requests may be defined. Please delete excess requests.
6037002 An improper %A% was selected. Please reselect.
6037003 The fully defined results file name exceeds the 50 character limit imposed by ANSYS
Revision 5. Please create a symbolic link in the current directory or copy the results file
to the current directory then resubmit the job.
6037004 The use of fields is not allowed in the definition of %A%. Please redefine input.
6037005 Only 10 convergence criteria may be defined. Please delete excess requests.
6041001 *** ERROR: Can't open the Database.
6041002 *** ERROR: Can't open the Error message file.
1976 PCL Reference Manual
Introduction

6041003 *** ERROR: Error opening ABAQUS .inp file.


6041004 *** ERROR: Erroneous Database or Void of nodes.
6041006 *** ERROR: Erroneous line_string "%A%" in job_file.
6041007 *** ERROR: The job_card for %A% is missing.
6041008 *** ERROR: Group_id for %A% not found in Data_base. Translation commenced for
Entire model.
6041009 Translation commenced for group <%A%>.
6041010 Translation commenced for the Entire_Model.
6041011 *** ERROR: Data_base error, %A%
6041012 *** ERROR: Data_base error, %A% , ID = %I%
6041013 *** ERROR: Element %I% is not defined right (no shape).
6041014 %A%
6041015 *** ERROR: The Model/Group void of NODES.
6041016 *** ERROR: The Model/Group void of ELEMENTS.
6041017 *** ERROR: Error in fetching node_ids.
6041019 *** ERROR: Regions are not assigned to the elements.
6041020 *** ERROR: Error getting coordinate frame %I%.
6041021 *** ERROR: Error in writing to .inp file.
6041028 *** ERROR: Element %I% has unmatched Shape, Nodes, and allowable property.
6041030 *** ERROR: Error getting prop_values in the region.
6041031 *** ERROR: Element %I% has no Property Definition.
6041032 *** ERROR: Data model has no regions defined.
6041033 *** WARNING No properties found in the region %I%.
6041034 *** ERROR: Non_linear material not supported for the beam sections in region %A%.
6041035 *** ERROR: Error closing .msg file.
6041036 <%I8% Nodes> translated.
6041037 <%I8% Coordinate Frames> translated.
6041038 <%I8% Elements> translated.
6041039 <%A8%> elements of <region %I%> in property set <%A%> translated.
6041040 <%A%> translating *Beam_General_Section properties.
6041041 <%A%> translating *Beam_Section properties for beam in_plane.
6041042 <%A%> translating *Beam_Section properties for beam in_space.
6041043 <%A%> translating *Shell_General_Section properties.
6041044 <%A%> translating *Shell_Section properties.
Chapter 11: Status Messages 1977
Introduction

6041045 <%A%> translating *Shell_Section properties for composites.


6041046 <%A%> translating *Solid_Section properties.
6041047 <%A%> translating *Mass and/or *Rotary_Inertia properties.
6041048 <%A%> translating *Spring and/or *Dashpot properties.
6041049 <%A%> translating *Interface properties.
6041050 <%A%> translating *Interface properties for thermal elements.
6041051 *** ERROR: %A%_ID %I% exceeds 8_Digit limit. Translation stopped.
6041052 *** ERROR: Element %I% has no Type and Property definition. Translated as %A%
element.
6041053 *** ERROR: Error string <%A%> found reading loadcase.
6041054 *** WARNING Region %I% has no elements in it. No properties translated.
6041055 *** ERROR: Error<%I%> in <%A%> call
6041056 *** ERROR: Error counting lbcs in <%A%> load_case.
6041057 *** ERROR: Error in <DB_GET_LOAD_CASE> in %A% load_case.
6041058 *** ERROR: Error fetching edges for element %I%.
6041059 *** ERROR: Error fetching faces for element %I%.
6041060 *** WARNING No properties found in <%I%> region.
6041061 *** ERROR: Load_type_id <%I%> not supported.
6041062 *** ERROR: Loads_types for Structural and Thermal analysis supported only.
6041063 *** ERROR: Node <%I%> not defined for load <%A%>
6041064 *** ERROR: Element <%I%> not defined for load <%A%>
6041065 Reading Solution params for Step <%I%>.
6041066 Reading Output requests for Step <%I%>.
6041067 *** WARNING: The loadcase <%A%> has no loads or boundary conditions.
6041068 *** ERROR: The cid <%I%> for load_type <%A%> is not associated with node
<%I%>.
6041069 Translating <%A%> for loadset <%A%>
6041070 *** ERROR: Error fetching field attributes in DB_ call <%A%> for field_id <%I%>
6041071 *** ERROR: Field <%A%> is not tabular.
6041072 *** ERROR: Field <%A%> is not a time_function.
6041073 <%A%> field being translated.
6041074 *** ERROR: Load transformation for <%A%> from cid <%I%> to global at node
<%I%> from unsuccessful. translation continuing.
6041075 Load <%A%> transformed from cid <%I%> to global at node <%I%>.
6041076 *** ERROR: Element <%I%> has unidentified face_number associated with the load.
1978 PCL Reference Manual
Introduction

6041077 * There are no MPCs defined in the model.


6041078 *** ERROR: Material name not found in the data_base.
6041079 <%A%> material being translated.
6041080 *** ERROR: Density must be defined for Specific Heat definition.
6041081 <%I8% mpcs> translated.
6041082 *** WARNING Material Property <%A%> not defined.
6041083 <%A%> mpc_type being translated.
6041084 *** ERROR: MPC node_id <%I%> is double dependent.
6041085 *** ERROR: MPC_node <%I%> has *TRANSFORM definition.
6041086 *** ERROR: Load type <%A%> not supported.
6041087 <%A%> translating *Interface props for ISL or IRS elements.
6041088 <Slide Lines> being translated.
6041089 <Rigid Surfaces> being translated.
6041090 <%A%> BASE motion table translated.
6041091 <%A%> PSD definition translated
6041092 <%A%> Spectrum translated.
6041093 <%A%> Procedure being translated.
6041094 *** ERROR: The film coefficient variation with time is not allowed in <%A%>.
6041095 *** ERROR: Element Variable loads not supported for <%A%> load type.
6041096 Needed file specification missing! The full name of the jobfile must be specified as the
first command-line argument to this program.
6041097 *** ERROR: Field properties not supported for <%A%>
6041098 <%A%> translating *gap properties.
6041099 *** ERROR: Element <%A%, ID=%I%> has negative normal. Please correct the
element.
6041100 <%I8% %A%> read from the database.
6041101 <%I8% Nsets> Translated.
6041102 *** ERROR: <%A%> MPC type is not supported.
6041103 *** ERROR: Material <%A%> is void of material data.
6041104 *** ERROR: The %A% is not supported.
6041105 *** WARNING The cid <%I%> for Displacement <%A%> is not associated with node
<%I%>. The Displacements are defined in the Global Coordinate frame.
6041106 *** ERROR: The material defined is not Laminate.
6041107 *** WARNING The load on node_id <%I%> is transformed to the analysis CID
<%I%> associated with this node.
Chapter 11: Status Messages 1979
Introduction

6041108 Translating <%A%> Material Properties.


6041109 *** ERROR: MPC <%I%> has doubly defined node <%I%>. Translation skipped.
6041110 *** WARNING: The data_base was created with <%A%> analysis code. Total
model_data translation is not guaranteed. Please check the input file.
6041111 *** ERROR: MPC <%A%> is supported in ABAQUS V5.1 only.
6041112 *** ERROR: Procedure Type <%A%> not supported.
6041113 <%I%> Step(s) have been translated.
6041114 Translation Ended with Status = %I%
6041115 *** WARNING Load Set <%A%> not valid for this step.
6041116 *** ERROR: Arbitrary Section has inconsistent definition. Coord1(n)=%I%,
Coord2(n)=%I%, Thickness(n-1)=%I%.
6041117 *** ERROR: %A% must be defined in a field.
6041118 *** ERROR: %I% exceeds the maximum number of terms allowed in prony series
(13).
6041119 *** ERROR: %A%_ID %I% exceeds 7_Digit limit. Translation stopped.
6041120 *** ERROR: OFFSET for a laminate not allowed. Please redefine the material
<%A%>.
6041121 *** ERROR: The Combined Test Data must be defined on same time scale. Please
correct the field <%A%>.
6041122 *** WARNING The loads & boundary conditions applied to the geometry may not be
correct. Please submit the translation from the Analysis Form first.
6041123 The old jobname for restart and current jobname are same. Please enter a unique
jobname.
6041124 *** ERROR: The mpc type <%A%> must have <%I%> independent nodes, mpc_id =
%I%.
6041125 *** ERROR: Constant Term is not supported for mpc type <%A%>, mpc_id = %I%.
6041126 *** ERROR: Respective set name for ID=%I% not found in the table.
6041127 <%I8% Groups> translated.
6041128 *** ERROR: The ELSET names <%A%> & <%A%> for contact elements and the the
contact surfaces element properties do not match. Please input the matching ELSET
names.
6041129 *** WARNING The ELSET name <%A%> already exists. Changed to ELSET name
<%A%>.
6041130 *** ERROR: The <%A%> result for element type <%A%> not supported.
6041131 *** ERROR: The Temperature Results File name <%A%> should not be greater than
31 characters.
6041132 <%I8% Dummy MPCs> translated for rigid surface <%A%>.
1980 PCL Reference Manual
Introduction

6041133 Translating <%A%> load being read from file <%A%>.


6041134 *** WARNING: The coordinate transformation of element results is not supported for
the elements associated with local orientation. Please use As-Is, the default coordinate
transformation option when postprocessing results.
6041135 *** WARNING: The coordinate transformation of element results for shells and
membranes is not supported. Please use As-Is, the default coordinate transformation
option when postprocessing results.
6041136 *** ERROR: The Reference Node for the rigid surface should not be one of the nodes
associated with the rigid surface elements. Please use an unassociated node for
reference.
6041137 *** ERROR: The Latent Heat temperature fields for solidus and liquidus temperatures
should have exact number of cells and must have exactly the same values for Latent
Heat.
6041138 *** ERROR: The string <%A%> in the Keyword Input is longer than 80 characters.
6041139 *** ERROR: The laminate angles are not within the range of -90.0 and 90.0 degrees
for the property set <%A%>. Check the material.
6041140 The Mid Increment Residual should be specified for automatic time incrementing.
Fixed time increments will be used otherwise.
6041141 <%A%> translating *Membrane_Section properties.
6041142 *** WARNING: The loadset <%A%> does not have FEM application region.
6041143 *** ERROR: <%I%> found in contact lbc "%A%".
6041144 Translating <Contact> for loadset <%A%>.
6041145 *** ERROR: Contact Lbc <%A%> is not supported.
6041146 *** ERROR: One or both application regions are void of entities in <%A%> contact
lbc.
6041147 *** ERROR: Slave application region in <%A%> contact lbc has no properties
associated.
6041148 *** ERROR: The Key record exceeded 80 characters limit in <%A%> contact lbc.
6041149 *** ERROR: Search for rigid line bar failed in <%A%> contact lbc.
6041150 *** ERROR: The rigid line is not continuous in <%A%> contact lbc.
6041151 *** ERROR: The rigid line either is discontinuous or has duplicate bars in <%A%>
contact lbc.
6041152 *** ERROR: The rigid line forms a closed loop in the <%A%> contact lbc.
6041153 *** ERROR: The nodes in slave region are not associated with elements in <%A%>
contact lbc.
6041154 *** ERROR: The Rigid Bars order could not be found. The Rigid Line may not be in
the XY-Plane. The Master to Slave Direction may not be correct for the entire rigid line.
The mesh for the rigid line may be too course.
Chapter 11: Status Messages 1981
Introduction

6041155 *** WARNING: Errors will occur for this restart, if the kinematic constraints were
modified for the displacement sets used in the previous analysis. Create new
displacement sets for the refactorization of the stiffness matrix.
6041156 *** ERROR: Unsupported coordinate system type used.
6041157 *** ERROR: Field defined for Bounding Plane Angle, <%A%>, when using CGPE
type elements.
6041158 *** ERROR: A generalized plane strain element (CGPE) has additional node %I%
with a non-active prescribed value for DOF %A%.
6041159 *** ERROR: Node number limit of %I% exceeded for MPC type <%A%>.
6041160 *** WARNING: Group <%A%> not translated. Group name must begin with an
alphabetic character.
6041161 *** WARNING: Invalid convection data found for <%A%>.
6041162 *** WARNING: No material property values found for material: %A%.
6045001 *** ERROR: Can't open the Database.
6045002 *** ERROR: Can't open the Error message file.
6045003 *** ERROR: Error in reading the selected results file. Translation stopped.
6045004 Reading of nodes and element connectivity initiated.
6045005 *** WARNING: Unable to translate <KEY_%I%>, translation continuing.
6045006 *** WARNING: Rebar results not fully supported.
6045007 *** ERROR: Averaged nodal results not supported
6045008 Translation ended.
6045009 Number of nodes in the block = %I%
6045010 Number of elements in the block = %I%
6045011 Results translation initiated.
6045012 *** ERROR: Unexpected results file sequence. Translation stopped.
6045013 *** WARNING Element %I% is degenerate S8R5. Results Translation for this element
skipped.
6045014 Translating results for Element Type %A%.
6045015 %A%
6045016 Translating Nodal results.
6045017 Translating Modal results.
6045018 <%A%> being translated.
6045019 *** ERROR: Group_Id not found.
6045020 *** WARNING Node %I% not translated. Translation continued.
6045021 *** WARNING Element %I% , %A% not created. Translation continued.
1982 PCL Reference Manual
Introduction

6045022 *** ERROR: Element Topology not found for %A% element.
6045023 *** WARNING Element %I% not translated. Translation continued.
6045024 *** ERROR: Error encountered reading the job_file.
6045025 %A%
6045026 [{ %A% }]
6045027 *** WARNING <KEY-%I%> results not supported at this time.
6045028 -- Working on ELEMENT_INTEGRATION_POINT results
6045029 -- Working on ELEMENT_CENTROIDAL results
6045030 -- Working on ELEMENT_NODAL results
6045031 -- Working on WHOLE_ELEMENT results
6045032 -- Working on %A%
6045033 *** ERROR: Results filename: %A% is longer than (A16).
6045034 *** WARNING <%A%> element type not supported. Translation continued.
6045035 *** ERROR: Results filename: %A% is longer than (A80).
6045036
*** ERROR: The analysis code in the database should be set to ABAQUS or Patran
Advanced FEA.
6045037 *** ERROR: The <Increment %I%> for <Step %I%> not found in the <%A%> file.
6045038 <Step(s) %I%, Increment(s) %I%> translated.
6045039 Superelement <%A%> with id <%I%> being translated.
6045040 *** ERROR: Superelement <%I%> not found.
6045041 *** ERROR: The number of words in the record exceed the <%I%> limit.
6045042 *** WARNING: Duplicate Node/Element found. Translation continued.
6045043 *** ERROR: The results filename <%A%> should end with .fil suffix. Rename the file.
6050000 MSC.Marc
6050001 The file named "%A%" could not be opened.
6050002 The control file name could not be determined.
6050003 The control file entry "%A%" could not be processed.
6050004 The results file translation is complete.
6050005 The node id %I% could not be found in the element's connectivity.
6050006 The element results could not be transformed because a node is missing from the
connectivity.
6050007 A label could not be generated for %A% %I%.
Chapter 11: Status Messages 1983
Introduction

6050008 The element id %I% has a degenerate configuration that is not supported. The results
for this element will be translated; however, the locations within the element will not
be correct.
6050009 The total CPU time for this translation was %G% seconds.
6050010 A license could not be obtained for the MAC.Marc translator.
6051001 The value %I% is not valid for the maximum number of iterations. This has been
replaced with the default value of 3.
6051002 The tolerance type "%A%" is not recognized. This has been replaced with the default
tolerance type, "Total Residual".
6051003 The iteration procedure "%A%" is not recognized. This has been replaced with the
default iteration procedure, "Full Newton Raphson".
6051004 The value %G% is not valid for a convergence tolerance. This has been replaced with
the default value.
6055001 The end of the results file was unexpectedly encountered.
6055002 A record was encountered that could not be read from the results file.
6055003 The following error occurred while reading the title from the results file.
6055004 The following error occurred while reading parameter information from the results file.
6055005 The following error occurred while reading set information from the results file.
6055006 The following error occurred while reading the %I%th element postcode from the
results file.
6055007 The following error occurred while reading connectivity for the %I%th element from
the results file.
6055008 The following error occurred while reading coordinates for the %I%th node from the
results file.
6055009 The following error occurred while reading data for the %I%th spring from the results
file.
6055010 The following error occurred while reading the node types from the results file.
6055011 The following error occurred while reading transformation number %I% from the
results file.
6055012 The following error occurred while reading data for set number %I% from the results
file.
6055013 The following error occurred while reading items for set number %I% from the results
file.
6055014 The following error occurred while reading the increment marker from the results file.
(previous inc.=%I%, previous subinc.=%I%)
6055015 The following error occurred while reading the increment data from the results file.
(previous inc.=%I%, previous subinc.=%I%)
1984 PCL Reference Manual
Introduction

6055016 The following error occurred while reading the increment data from the results file.
(current inc.=%I%, current subinc.=%I%)
6055017 The following error occurred while reading the distributed loads from the results file.
(current inc.=%I%, current subinc.=%I%)
6055018 The following error occurred while reading the forces for the %I%th spring from the
results file. (current inc.=%I%, current subinc.=%I%)
6055019 The following error occurred while reading the forces for the %I%th die from the
results file. (current inc.=%I%, current subinc.=%I%)
6055020 The following error occurred while reading the results for element id %I% from the
results file. (current inc.=%I%, current subinc.=%I%)
6055021 The following error occurred while reading the results for node id %I% from the results
file. (current inc.=%I%, current subinc.=%I%)
6055022 The translator is unable to read results files that have new non-incremental data.
6055023 The element type %I% is not supported. The results for element %I% cannot be
imported.
6055101 The following error occurred while creating the subcase title. (current inc.=%I%,
current subinc.=%I%)
6055102 The following error occurred while creating the element result type with %A% for its
primary label and %A% for its secondary label.
6055103 The following error occurred while creating the section position id for element layer
number %I%.
6055104 The following error occurred while creating the layer position id for element layer
number %I%.
6055105 The following error occurred while creating the nodal result type with %A% for its
primary label and %A% for its secondary label.
6055106 The following error occurred while creating the section position id for node layer
number %I%.
6055107 The following error occurred while creating the layer position id for node layer number
%I%.
6055108 The following error occurred while loading the scalar result(s) for node id %I%.
(current inc. =%I%, current subinc.=%I%).
6055109 The following error occurred while loading the vector result(s) for node id %I%.
(current inc. =%I%, current subinc.=%I%).
6055110 The following error occurred while loading the scalar result(s) for element id %I%.
(current inc.=%I%, current subinc.=%I%).
6055111 The following error occurred while loading the tensor result(s) for element id %I%.
(current inc.=%I%, current subinc.=%I%).
6055112 The following error occurred while associating the imaginary and real harmonic
stresses.
Chapter 11: Status Messages 1985
Introduction

6055201 The length of a vector used to calculate the transformation is zero.


6055202 The vector from node i to node j has zero length.
6055203 The vector from node i to node k has zero length.
6055204 The vector normal to the surface has zero length.
6055205 The following error occurred while creating the coordinate transformation matrix for
element id %I%. (current inc.=%I%, current subinc.=%I%)
6055206 The gap direction cannot be determined for the element id = %I%.
6055301 This message file was created by %A% of the %A% translator on %A% at %A%.
6055302 The results file named "%A%" has been opened.
6055303 The database file named "%A%" has been opened.
6055304 The database file named "%A%" has been closed.
6055305 The load case "%A%" has been found or created.
6055306 The subcase "%A%" has been created.
6055307 The results have been translated for %I% elements.
6055308 The results have been translated for %I% nodes.
6055309 The result type "%A%, %A%" has been created.
6055310 The section position "%A%" has been created.
6055311 The control file named %A% has been closed.
6055312 The subcase "%A%" has not been created because of filtering.
6056000 The translation has stopped during initialization.
6056001 The translation has stopped while extracting model data.
6056002 The translation stopped while determining the solution type.
6056004 The translation stopped while writing to the input file.
6056005 The error was detected while %A%.
6056006 The translation stopped while processing the output requests.
6056007 The translation stopped while processing the loads and boundary conditions.
6056008 The translation stopped while creating the model from the information contained in the
results file.
6057000 The array that contains the %A% is dimensioned incorrectly.
6057001 The string "%A%" was not found in the search.
6057002 This is not the %A% translator. The TRANSLATOR parameter of the control file does
not match the name of this translator.
6057003 The error occurred while extracting %A% from the database.
6057004 An error occurred while allocating in-core virtual memory for the %A%.
1986 PCL Reference Manual
Introduction

6057005 The selected analysis type in the database is is incompatible with the requested solution
type.
6057006 An error occurred while trying to extract a digit from a condensed code. The condensed
code is %I%, and the requested digit is %I%.
6057011 The control parameter %A% has been set to %A% and cannot be processed.
6057012 The field named %A% has more than one independent variable. It has been used
incorrectly to define time dependent loads or boundary conditions.
6057013 The error occurred while extracting %A% from the database for the material named
"%A%".
6057014 The error occurred while extracting %A% from the database for MPC id %I%.
6057015 Node id %I% was specified in an application region; however, it could not be found in
the model.
6057016 The selected analysis code in the database is not MSC.Marc.
6057017 The string "%A%" could not be right justified, because the specified number of
characters, %I%, is incorrect.
6057018 The card "%A%" cannot be written to the input deck.
6057019 The value "%G%" cannot be converted to a string in %A% for the requested number of
significant digits.
6057020 The data field width is set to %I%.
6057021 The number of significant digits is set to %I%.
6057022 The number of characters required for the %A% format overhead, %I%, is in error. The
number of significant digits used in the input deck may not be as requested.
6057023 The trailing zeroes were being stripped from the value "%A%".
6057024 The decimal point was not found in the value "%A%".
6057025 The interpolation was not successful at time %G%.
6057026 The number of entries requested on a data card is %I%.
6057027 The length of an arbitrary section branch is %G% which is less than the numerical
tolerance.
6057028 The number of nodes in the element connectivity table needs to be updated for element
type %I%.
6057029 A reference temperature must be entered for the material named "%A%".
6057030 The interpolation could not be performed because the table is empty.
6057031 The strain hardening is not defined at the reference temperature for the material named
"%A%".
6057032 The equivalent yield stress is negative for the material named "%A%".
6057033 The initial equivalent plastic strain must be zero for the work hardening curve used to
define the material named "%A%".
Chapter 11: Status Messages 1987
Introduction

6057034 The work hardening slope is equal to zero at the first temperature for the material
named "%A%".
6057035 The load case "%A%" is time dependent and cannot be used to define the harmonic
loads and boundary conditions.
6057036 The analysis type %I% for increment %I% cannot be processed.
6057037 The load/boundary condition named "%A%" has an empty application region.
6057038 The translation must be resubmitted from the Analysis Form.
6057039 None of the nodes in the results file are attached to elements.
6057040 None of the element types in the model are supported.
6057041 *** ERROR: Could not determine element type in contact body for Load Case: %A%
6057042 *** ERROR: Unsupported element type used in contact body for Load Case: %A%
6057043 *** ERROR: Inconsistency between number of contact bodies in the load case and
number of bodies in the contact table. Contact table will not be written to the input file.
6057044 *** ERROR: Wrong number of entries in analysis parameter
"CONTACT_TABLE_SETS_COUNT". Contact table will not be written to the input
file.
6057045 *** ERROR: Wrong number of entries in analysis parameter
"CONTACT_LBC_SETS". Contact table will not be written to the input file.
6057046 *** ERROR: Contact table LBC set id (%I%) not found in the load case.
6057047 *** ERROR: Too many entities in the CONTACT TABLE for entity with LBC id %I%.
6058000 An error occurred while closing the control file named %A%.
6058001 No element property regions were detected in the database. The element types,
properties, and connectivity will not appear in the input deck.
6058002 No elements were detected in the database.
6058003 The number of characters per machine word has been set incorrectly. It is assumed to
be four.
6058004 An error occurred while writing the %A% option to the in the input deck.
6058005 The %A% %I% was not found in the search.
6058007 There are not any parameters associated with the load set named "%A%" that can be
translated. This may have occurred while prioritizing the loads and boundary
conditions.
6058008 The element face id %I% is not in the face table.
6058009 The element edge id %I% is not in the edge table.
6058010 The element id %I% does not have any nodes associated with it and will not appear in
the input deck.
6058011 The connectivity for element id %I% contains node id %I% which does not exist.
6058012 Element type %I% does not exist in the translator's tables.
1988 PCL Reference Manual
Introduction

6058013 The value %I% cannot be processed for %A%.


6058014 There are not any element properties for the region named "%A%".
6058016 No materials were detected in the database.
6058017 The load case was not specified for this analysis.
6058018 The control file name must be specified as the first command-line argument for this
program.
6058019 Only one rotation axis can be specified for the model.
6058020 The magnitude of the angular velocity is zero.
6058022 The numerical tolerance is less than or equal to zero and has been changed to %E%.
6058023 The elastic properties are not activated for the material named "%A%". It will not
appear in the input deck.
6058024 The field named %A% is not tabular and cannot be used to define the "%A%". This
error was detected for "%A%".
6058025 The field named %A% does not contain any entries. The "%A%" cannot be processed
for "%A%".
6058026 The field named %A% has more than one independent variable. It has been used
incorrectly to define the material property "%A%" for the material named "%A%".
6058027 The rule of mixtures composite material named "%A%" has been treated as an
orthotropic material.
6058028 The element dimensionality is set to %I% for the load set named "%A%". It will not
appear in the input deck.
6058029 The control file parameter table needs to be updated. The element result "%A%" cannot
be processed.
6058030 The primary element result label table needs to be updated. The element result "%A%"
cannot be processed.
6058031 The secondary element result label table needs to be updated. The element result
"%A%" cannot be processed.
6058032 The element result table needs to be updated. The element result "%A%" cannot be
processed.
6058033 The value %G% cannot be processed for %A%.
6058034 The element post code directory needs to be updated. The element result index that
could not be found is %I%.
6058035 There were no degrees of freedom found for the "Tie DOFs" MPC whose id is %I% and
subordinate id is %I%. This MPC will not appear in the input deck.
6058036 The memory that contains the data for the load or boundary condition named "%A%"
has been sized incorrectly. It will not appear in the input deck.
6058037 The comment "%A%" could not be written to the input deck.
Chapter 11: Status Messages 1989
Introduction

6058038 The components of displacement always refer to the analysis coordinate frame of the
node. The coordinate frame associated with the load or boundary condition named
"%A%" is ignored.
6058039 The centrifugal load cannot be spatially varying. The load set named "%A%" will not
appear in the input deck for this reason.
6058040 The element id list was not entered for the wave-front optimization.
6058041 The numerical tolerance is not small enough to be able to process %I% increments.
6058042 No nodes were detected in the database.
6058043 The command-line arguments must include the control file name (ie. the "jba" file
name) or the database file name and the jobname.
6058044 The shape of element %I% was not defined in the translator's tables.
6059000 MPCs of type "%A%" cannot be translated, because their definition has been altered.
6059001 The element that has an id of %I% will not appear in the input deck.
6059002 The MPC that has an id of %I% will not appear in the input deck.
6059003 The load set named "%A%" will not appear in the input deck.
6059004 No load or boundary conditions were detected in the database.
6059005 No MPCs were detected in the database.
6059006 The %A% is currently not supported.
6059007 The MSC.Marc input file translation is complete.
6059008 The connectivity for %I% elements has been written to the input file.
6059009 The coordinates for %I% nodes have been written to the input file.
6059010 The element properties have been written to the input file for the region named "%A%".
6059011 The output requests have been written to the input file.
6059012 The properties for the material named "%A%" have been written to the input file.
6059013 The information for %I% MPCs has been written to the input file.
6059014 The time independent load and boundary conditions have been written to the input file.
6059015 The load case name "%A%" has been read from the control file.
6059016 The control parameters have been read from the file named %A%.
6059017 The input file named "%A%" has been created.
6059018 The input file named "%A%" has been closed.
6059019 The material orientation has been written to the input file for the region named "%A%".
6059020 The time dependent load and boundary conditions have been written to the input file.
6059021 The control parameter %A% is set to %A%.
6059022 The control parameter %A% is set to %E%.
6059023 The control parameter %A% is set to %I%.
1990 PCL Reference Manual
Introduction

6059024 An error was detected while trying to expand this list "%A%".
6059025 The flat file named "%A%" has been created.
6059026 The flat file named "%A%" has been closed.
6059027 There are %I% new elements that have been created in the group named "%A%".
6059028 There are %I% new nodes that have been created in the group named "%A%".
6059029 There are %I% new coordinate frames that have been created.
6059501 The results file name must be entered on Restart Parameters form before this job can be
submitted.
6059502 The restart file name must be entered on Restart Parameters form before this job can be
submitted.
6059503 The Selected Load Case does not exist. Make a selection from the list of available load
cases.
6059504 A coefficient of thermal expansion has been entered without a reference temperature for
the material "%A%". The reference temperature must be entered on the Materials form
before this job can be submitted.
6059505 The element properties must be entered for the model before this job can be submitted.
6059506 %A% is not supported for this analysis preference. The load/boundary condition
%A%" must be changed before this job can be submitted.
6059507 Element variable load/boundary conditions are not supported for this analysis
preference. The load/boundary condition "%A%" must be changed before this job can
be submitted.
6059508 The temperature state variable cannot be entered at the nodes for this analysis
preference. The load/boundary condition named "%A%" must be changed before this
job can be submitted.
6059509 The results file name must be enter on the Select Results File form before this job can
be submitted.
6059510 The model does not contain any elements. The object on the Analysis form must be set
to Both before this job can be submitted.
6059511 The model does not contain any nodes. The object on the Analysis form must be set to
Both before this job can be submitted.
6059512 A temperature dependent property has been entered for the material "%A%" without a
reference temperature. The reference temperature must be entered on the Materials
form before this job can be submitted.
6059513 The temperature state variable is defined in the load case, but a reference temperature
was not entered for the material "%A%". The reference temperature must be entered
on the Materials form before this job can be submitted.
6059514 The element uniform heat source is not supported for this analysis preference. The
load/boundary condition named "%A%" must be changed before this job can be
submitted.
Chapter 11: Status Messages 1991
Introduction

6059515 The MarcSubmit script could not be found.


6059516 The pat3mar translator executable could not be found.
6059517 The application region for the load/boundary condition named "%A%" is empty. Do
you wish to ignore load/boundary condition and continue?
6059518 The application region for the element property set named "%A%" is empty. Do you
wish to ignore this element property set and continue?
6059519 Both Nodal and Elemental temperature loads are defined for load case "%A%".
MSC.Marc does not allow this combination. Please use either Nodal or Elemental
temperatures only.
6060000
Patran CFD
6060001 Invalid Geometry Type "%A%" specified. Valid Geometry Types are "Linear" and
"Quadratic".
6060002 Invalid Domain Type "%A%" specified. Valid Domain Types are "3D", "2D", and
"Axisymmetric".
6060003 Unable to open the database "%A%".
6060004 Unable to read load case "%A%" from the database.
6060005 Unable to initialize a hash table for %I% entities.
6060006
Unable to open the Patran CFD grid file "%A%".
6060007 Unable to open the message file "%A%".
6060008
Unable to write the following record to the Patran CFD grid file: "%A%".
6060009 Database error in routine "%A%". Return status = %I%.
6060010 There are no nodes in the model.
6060011 There are no elements in the model.
6060012 There are no Load/Boundary Conditions in load case "%A%".
6060013 All elements in the model must be of type "%A%".
6060014 Unable to acquire %I% words of virtual memory.
6060015 Unable to acquire an array of %I% character strings in virtual memory with each string
having %I% characters.
6060016
Unable to open the Patran CFD solution parameters file "%A%".
6060017
Unable to write the following record to the Patran CFD solution parameters file:
"%A%".
6060018
Patran CFD failed. Please see %A%.msg for more information.
1992 PCL Reference Manual
Introduction

6060019
A loadcase must be selected in the Select Loadcase form before Patran CFD can be
invoked.
6060020
Executing Patran CFD to write the model data to %A%.p3cfd.grf
6060021
Executing Patran CFD.
6060022 Writing solution parameters to %A% ...
6060023 Do you wish to overwrite "%A%"? Select "YesForAll" to overwrite all subsequent
changes, "Yes" to overwrite selectively, or "No" to not overwrite.
6060024 Calculation of Gas Constant for %A% failed. Please check values of [Cp] and [Gamma]
in material property set.
6060025 The Working Fluid, %A%, in the selected ".slp" file does not exist in the database. If
you wish to use this fluid in the analysis, please use the "Materials" application to create
it.
6060026 "%A%" properties are created. Please verify the data prior to performing any
calculation.
6060027 Creation of [%A] properties failed. Please check your data.
6060028 The "%A%" was successfully read. Please verify the data prior to performing any
calculation.
6060029 Error occurred while reading "%A%". Please check the file.
6060030 All analysis parameters will be overwritten by the parameters read from the database.
Do wish to continue?
6060031 Job "%A%" does not exist and cannot be submitted.
6060032
The Patran CFD solver requires FEM entities to be in the X-Y plane only (within global
tolerance). At least one node with z = %A% was detected. Do you wish to continue?
6061001 The current value of %A% is invalid. It must be a real positive number.
6061002 The current values of %A% are invalid. They must be positive real numbers.
6061003 A Working Fluid has not been selected. Please select one.
6061004 Calculation of dimensionless flow parameter(s) failed. Do you wish to continue?
6061005 WARNING: Units are not check for consistency. The consistency of units is the user's
responsibility.
6061006 The selected Working Fluid, %A%, has no property. Please either select a different
fluid or use the Materials option to enter fluid properties.
6061007 An error, %A%, occurred when attempted to retrieve properties. Solution parameter
file cannot be prepared.
6061008 Data for %A% is either missing or out of range. Please use the Materials option to
check/modify the data.
Chapter 11: Status Messages 1993
Introduction

6061009
There is no element for model definition. Patran CFD cannot be invoked.
6061010 Wrong type of element is targeted. Only QUAD4, QUAD9, HEX8, or HEX27 are the
allowable element types.
6061011 Mixed element types are not allowed. The element type must be QUAD4, QUAD9,
HEX8, or HEX27, only.
6061012 The current value of %A% is invalid. It must be a number between 0.00 to 1.00.
6061013 The current value of %A% is invalid. It must be a number between 0.00 to 10.00.
6061014 The current value of %A% is invalid. It must be a number between 0.00 to 100.00.
6061015 The current value of %A% is invalid. It must be a number between 0.38 to 0.44.
6061016 The current value of %A% is invalid. It must be a number between 40.0 to 90.0.
6061017 The current value of %A% is invalid. It must be a number between 2.80 to 4.40.
6061018 The current value of Adaptation Frequency is invalid. It must be a positive number.
6061019
Patran CFD cannot be invoked since %A%.slp was not completed. The operation was
aborted.
6061020
Running Patran CFD on Sun Microsystem requires you to set the DEVICE setting to
XT (i.e. setenv D3DEVICE XT). If this has not been done, it needs to be done now
before execution of the Patran CFD solver. Do you wish to continue?
6070001 ALL %A% within a transient or nonlinear static load case must have the same time
variance or nonlinear load history. This rule is violated in load case: %A%. All %A%
in this load case will be assumed to vary according to the first non-zero data field
reference made by a %A% in this load case.
6080001 Unable to proceed with translation. An error occurred closing the jobfile "%A%%A%".
6080002
Unable to proceed with translation. The Patran FEA results file "%A%%A%" does not
exist.
6080003
Unable to proceed with translation. The Patran FEA matrix file "%A%%A%" does not
exist.
6080004 Unable to proceed with translation. The OUTPUT2 file "%A%" does not exist.
6080005 Delete LMS CADA-X job "%A%" (Y/N)?
6080006 Delete LMS CADA-X job %A% and associated job, message, and neutral files (Y/N)?
6080007 Was not able to delete job "%A%"!
6080008 Was not able to delete file "%A%"!
6080009 No results selected! Please select some results first.
6080101 Jobname file specification missing! Must be first argument.
1994 PCL Reference Manual
Introduction

6080102 Messages output from the PDA %A% translator: %A% %A% on %A% at %A%.
6080103 End of LMS CADA-X file translation.
6080104 Total execution time in real seconds: %G%
6080105 Total execution time in CPU seconds: %G%
6080106 Unable to open the specified database, %A%.
6080107 Reading model information from the specified database, %A%.
6080108 Unable to open the CAD*I neutral file %A%.
6080109 The CAD*I neutral file, %A%, has been successfully opened.
6080110
There are no nodes in the specified Patran database.
6080111
Error retrieving node data from specified Patran database.
6080112 Title = %A%
6080113 FATAL ERROR - Singular rotation matrix detected in LMS_OUTCRD.
6080114 Error reading job file. The first line must be ANALYSIS = pat3lms.
6080115 Error reading job file. The translator name is not pat3lms.
6080116 Error reading job file. There must be an ANALYSIS TYPE = parameter.
6080117
Error reading job file. The analysis type is wrong. It must be set to Patran FEA or MSC
Nastran.
6080118 Error reading job file. There must be an OBJECT parameter.
6080119 Error reading job file. The object is wrong. It must be set to Model/Results, Model
Only, Model/Matrices, or All
6080151
There are no elements in the specified Patran database.
6080152
Error retrieving element data from specified Patran database.
6080153 No property regions are defined in the database. No elements or element properties can
be translated.
6080154 *** Warning: Node ID = 0 for %A% grounded springs/dampers set equal to *** the
nonzero node ID.
6080201 Error retrieving eigenvector data from specified results file.
6080202
Unable to open the Patran FEA results file %A%.
6080204 Error reading the .res file in %A%.
6080205 There are no modal results in the .res file.
6080206 There are no nodes in the .res file.
6080207 There are no modes in the .res file.
Chapter 11: Status Messages 1995
Introduction

6080208 *** Warning: The number of nodes in the model does not match the number of nodes
in the eigenvectors, %I%.
6080209 Error reading displacements for mode: %I%.
6080210 Error reading header for mode: %I%.
6080211 Error: The number of nodes in the Database is less than the number of displacement
(per mode) encountered in the results file.
6080212 Warning: The number of nodes in the Database are not equal to the number of
displacement (per mode) in the results file.
6080213 Error opening file %A% for mode: %I%.
6080214 Error reading header in file %A% for mode: %I%.
6080215 Error reading displacements in file %A% for mode: %I%.
6080216 Error closing file %A% for mode: %I%.
6080217 Error reading results from database.
6080218 Warning: The analysis type is set to %A%, yet the results were created by %A%.
6080219 Error: One of the specified results cases is not a mode shape.
6080220 Warning: Translational dofs set to zero for results case %I%.%I%.
6080221 Warning: Rotational dofs set to zero for results case %I%.%I%.
6080222 Warning: There is no global variable "Frequency" associated with result case
%I%.%I%. Frequency will be set to mode number.
6080223 Error: There are no results values associated with results case %I%.%I%.
6080301
Error retrieving matrix data from specified Patran FEA job.
6080302 *** Warning: Element %I% not found in database, yet there is a matrix associated with
it.
6080303 Unable to open the %A% file.
6080304 There are not property values associated with material %A%.
6080305 Error: Unknown or unsupported element with condensation code %I% encountered
while translating matrices.
6080401 Written: %I5% propertiesto the CAD*I neutral file.
6080402 Written: %I5% nodesto the CAD*I neutral file.
6080403 Written: %I5% materials to the CAD*I neutral file.
6080404 Written: %I5% coordinate frames to the CAD*I neutral file.
6080405 Written: %I5% elements to the CAD*I neutral file.
6080406 Written: %I5% eigenvectors for mode %I3% to the CAD*I neutral file.
6080407 Written: %I5% elemental matrices to the CAD*I neutral file.
6080408 Written: %I5% elemental stiffness matrices to the CAD*I neutral file.
1996 PCL Reference Manual
Introduction

6080409 Written: %I5% elemental mass matrices to the CAD*I neutral file.
6080410 Abnormal termination of MSC Nastran matrix translation. See file %A%. Data blocks
must be written to OUTPUT2 file in order: GEOM2, CSTM, GPL, GPDT, KDICT,
KELM, MDICT, MELM.
6080501 (* CAD*I neutral file created by the PDA %A% translator: *) (* %A% *) (*%A% *)
(* on %A% at %A%. *)

PCL Status Conditions


This group of status conditions are used to report the status of PCL code.

7000000 PCL
7000001 Mismatched function argument:
7000002 Missing arguments to function
7000003 Too many arguments to function
7000004 Bad array subscript
7000005 Array too small Arg#,Size:
7000006 Invalid assignment conversion
7000007 Improper syntax for array constant
7000008 Array size invalid
7000009 Invalid datatype used
7000010 Mismatched end type. Want:
7000011 Corrupted picket on symbol:
7000012 Invalid/unknown statement
7000013 Invalid storage class used
7000014 Invalid string length:
7000015 Invalid datatype for built-in function
7000016 Invalid I/O format
7000017 Missing arguments for built-in function
7000018 Wrong number of arguments for built-in function
7000019 Invalid datatype to built-in function. Arg#:
7000020 Invalid storage type for argument. Arg#:
7000021 Invalid data range for argument. Arg#:
7000022 Expression used instead of variable
7000023 Recursive use of built-in functions
7000024 Builtin function name too long:
Chapter 11: Status Messages 1997
Introduction

7000025 Too many FOR/SWITCH/LIST structures


7000026 Nested calls too deep
7000027 Unable to open file:
7000028 Item not found for clearing :
7000029 Unable to allocate code area
7000030 Code area overflow. Increase with !!SIZE
7000031 Compile time recursion
7000032 Invalid comparison conversion
7000033 Divide by zero
7000034 Bad arguments to directive:
7000035 Duplicate name defined:
7000036 Extra characters after statement end
7000037 File already exists:
7000038 File not found:
7000039 Function table overflow adding:
7000040 Function does not exist:
7000041 Nested function calls too deep
7000042 Invalid datatype for operation:
7000043 Internal hash error
7000044 Bad argument to IDEBUG directive:
7000045 Nested input level too deep
7000046
Invalid operation in Patran mode
7000047 Constant used where writable variable needed:
7000048 Invalid use of array:
7000049 Label does not exist:
7000050 Internal length mismatch
7000051 Bad argument to LIBRARY directive:
7000052 Unable to open/create library:
7000053 Error when closing library:
7000054 Duplicate function added to library:
7000055 I/O error accessing library
7000056 Selected file is not a library:
7000057 Library full adding function:
1998 PCL Reference Manual
Introduction

7000058 Library already exists:


7000059 Function not found in library:
7000060 Library not found:
7000061 Error opening library:
7000062 Invalid revision level for library:
7000063 Too many libraries in library list
7000064 Identifier name too long
7000065 System error allocating or freeing memory
7000066 Fixed memory mismatch:
7000067 Internal error memory mismatch
7000068 Missing argument list
7000069 Missing identifier
7000070 Internal more area overwrite
7000071 Negative to real power
7000072 Nesting limit overflow
7000073 Not currently defining a function
7000074 Unmatched quotes(")
7000075 Item must be an array:
7000076 LOCAL array initialization not allowed:
7000077 GLOBAL array initialization not allowed:
7000078 GLOBAL initialization not allowed in function:
7000079 Bad datatype for initialization:
7000080 Item must be a function:
7000081 Item must be a string:
7000082 Invalid declaration variable name
7000083 Unmatched backquotes(`)
7000084 Missing END CLASS
7000085 Missing end of comment in file
7000086 Missing END IF
7000087 Function started but not completed in file
7000088 Missing = in FOR
7000089 Missing loop ID in FOR
7000090 Missing TO in FOR
7000091 Missing argument list in function definition
Chapter 11: Status Messages 1999
Introduction

7000092 Missing function name in ON statement


7000093 Missing function name in function definition
7000094 Missing class name in class definition
7000095 Initialization not allowed on CLASS variables:
7000096 Missing = in LIST
7000097 Missing loop ID in LIST
7000098 Missing left parenthesis
7000099 Missing operand to expression
7000100 Missing right bracket
7000101 Missing right parenthesis
7000102 Missing string length specification
7000103 Missing THEN in IF block
7000104
Can't execute Patran command here
7000105 Wrong number of array subscripts
7000106 Attempted overwrite of in-use global:
7000107 Bad argument to PATH directive:
7000108 Path not found:
7000109 Too many directories in the path specification
7000110 Function closed in file other than that of creation
7000111 Reserved keyword used:
7000112 Bad argument to SIZE directive:
7000113 Invalid datatype for operation
7000114 Internal stack overflow
7000115 Internal stack underflow
7000116 String buffer too small Arg#,size:
7000117 Internal symbol table overflow
7000118 Error opening temp library:
7000119 No declaration made for argument:
7000120 Undeclared variable:
7000121 Unknown directive:
7000122 Internal unknown opcode
7000123 Argument has defined array size:
7000124 Argument has defined string size:
2000 PCL Reference Manual
Introduction

7000125 Function name same as built-in function:


7000126 Invalid string length requested
7000127 Variable is not a virtual string
7000128 Can not reallocate a virtual string array
7000129 Invalid array dimensions requested
7000130 Variable is not a virtual array
7000131 Invalid logical expression specified
7000132 Unable to allocate enough memory for data
7000133 Invalid variable name because name already used:
7000134 Invalid placement of BREAK or CONTINUE statement
7000135 Code Area Overflow, Automatically Increasing to:
7000136 Symbol Table Overflow, Automatically Increasing to:
7000137 Internal Error in SM Product
7000138 Attempt to add duplicate built-in:
7000139 Variable is declared but is not used:
7000140 Class variable is declared but is not used:
7000141 Global variable is declared but is not used:
7000142 Function argument is not used:

Core Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that interact with the core of the operating system.

8000000 CORE
8100001 Disk full error writing block
8100002 Bad arguments to block I/O
8100003 Block I/O File is not open
8100004 Too many block I/O files opened
8100005 System open error on block I/O
8100006 System read error on block I/O
8100007 System write error on block I/O
8100008 System close error on block I/O
8101001 Bad revision format of stream file
8101002 Bad arguments to stream I/O
Chapter 11: Status Messages 2001
Introduction

8101003 Stream I/O File is not open


8101004 Too many stream I/O files opened
8102001 Bad data given to record I/O
8102002 Invalid position given to record I/O
8102003 Bad arguments to record I/O
8102004 Record I/O File is not open
8102005 Too many record I/O files opened
8103001 File Already Exists
8103002 File Not Found
8103003 Maximum File Version Exceeded
8103004 Failed to Generate Unique Filename
8103005 Error copying from file %A%
8103006 Error copying to file %A%
8103007 System error on file deletion
8103008 System error on file rename
8103009 Cannot allocate copy buffer
8103010 File resides in local filesystem
8103011 File not executable
8103013 Invalid directory path
8103014 System error on filename expansion
8104001 Bad data in format string
8104002 Ran out of source data to convert with format
8104003 Out of room in destination format string
8105001 No memory to allocate text I/O channel
8105002 Invalid channel to text I/O call
8105003 System close error on text I/O
8105004 System open error on text I/O
8105005 System set position error on text I/O
8105006 System truncation error on text I/O
8105007 System write error on text I/O
8105008 System file stat error on text I/O
8105009 Text I/O channel table full
8106001 Virtual channel is not open
8106002 Bad access method to virtual file
2002 PCL Reference Manual
Introduction

8106003 Internal error in virtual file


8106004 No memory for virtual I/O operation
8107001 UNDO: %A%
8107002 Last command aborted
8108001 System environment variable not found
8109001 Invoking FrameViewer via %A%
8109002 Error status %I% returned from %A%
8109003 Waiting for FrameViewer to become available
8109004 User abort detected while waiting for FrameViewer
8109005 No response from FrameViewer RPC server after %I% seconds
8109006 Connection established with FrameViewer RPC server
8109007 Cannot open help file %A%
8109008 Cannot go to link %A% in %A%
8110001 Timer seconds must be between 1 and 100,000
8110002 Failure allocating timer request block
8110003 Specified timer request block does not exist
8111001 Cannot lock %A%. Another file is locked.
8111002 File %A% cannot be opened for write access. It may already be in use by another
process, or may lack the necessary file permissions. Cannot continue.
8111003 Error while attempting to lock %A%. Do you wish to continue?
8111004 Cannot perform file unlock. No files known to be locked.
8111005 Error while attempting to perform an unlock.
8111006 Error attempting to access %A%.
8113001 Error executing subprogram. Reason (errno) = %I%.
8113002 Unexpected subprocess termination. Reason (signal) = %I%.
8113003 Program wait error. No subprocesses to wait on.
8113004 Subprocess execution failed (fork error).
8114001 Ieee %A% detected.
8115001 Error locating program %A%. Reason = %I%.
8116001 Loading dynamic library %A%
8116002 Unloading dynamic library %A%
8116003 Dynamic library %A% was loaded previously
8116004 Dynamic library %A% is not currently loaded
8116005 Cannot load dynamic library %A% %A%
Chapter 11: Status Messages 2003
Introduction

8116006 Cannot map function %A% from dynamic library %A%


8116007 Error encountered during unload of dynamic library %A%
8116008 Cannot locate dynamic library %A%
8116009 Dynamic library facility internal error

XY Status Conditions
This chapter lists all of the status conditions that are used to report the status of and errors from functions
that manipulate xy data.

10000000 MSG_XY
10000001 Are you sure you want to delete %A% ?
10000002 There is not enough disk space to complete the operation.
10000003 A fatal error has occurred in the database. Database is corrupted.
10000004 The specified operation could not be performed due to a database failure.
10000005 The specified XY title name is invalid. Please Input a valid title name that is 32
characters or less and contains no embedded blanks.
10000006 The XY font name typed in is invalid. Please input a valid font name.
10000007 The X and Y location must both be in %. This is a percentage of the XY window
from the top left corner. Please input valid X and Y locations.
10000008 The specified new title name already exists. Please check the listbox of current title
names and re-input your title name.
10000009 The specified text is invalid. Please input a valid text string.
10000010 The color index has returned an invalid value.
10000011 No memory available for current XY operation.
10000012 Internal XY string lookup failure.
10000013 Invalid option given to XY routine.
10000014 The requested dataset is not found in the curve data file
10000100 There is no current title defined.
10000101 The specified title does not exist in the database.
10000102 The specified curve name is invalid.
10000103 The specified curve does not exist in the database.
10000104 A current curve has not been defined.
10000105 The specified curve name already exists. Please check the listbox of current curves
and re-input your curve name.
10000106 The specified starting point is invalid. Please input another starting point in the
databox.
2004 PCL Reference Manual
Introduction

10000107 The specified ending point is invalid. Please input another ending point in the
databox.
10000108 The specified frequency is invalid. Please input another frequency in the databox.
10000109 The specified symbol is invalid. Please choose another symbol from the option
menu.
10000200 The specified fit function is invalid. Please choose another.
10000201 The specified line style is invalid. Please choose another from the option menu.
10000202 The specified curve thickness is invalid. Please choose another from the slider.
10000300 The axis name is invalid.
10000301 The specified axis does not exist in the database.
10000302 A current axis has not been defined.
10000303 The specified thickness for the axis is invalid.
10000304 The specified axis display location is invalid.
10000305 The specified axis display flag is invalid.
10000306 The specified number of values for the axis is invalid.
10000307 The specified assignment method for the axis is invalid.
10000308 The specified label type for the axis is invalid.
10000309 The specified display type for the axis is invalid.
10000310 The specified label format for the axis is invalid.
10000400 The specified number of ticmarks for the axis is invalid. 50 > number_of_ticmarks
> 1.
10000401 The number of ticmark values doesn't correspond to the number of ticmarks desired.
Enter the number of ticmark values as requested.
10000500 The specified display type for grid lines is invalid.
10000501 The specified thickness for grid lines is invalid.
10000600 The specified legend name is invalid. Please re-input the legend name.
10000601 The specified legend does not exist in the database.
10000700 The specified window name is invalid. Enter a window name that is less than 32
characters and that has no embedded blanks.
10000701 The specified window width is invalid.
10000702 The specified window height is invalid.
10000703 The specified window name already exists.
10000704 The specified XY window does not exist in the database.
10000705 There is no current window specified.
Chapter 11: Status Messages 2005
Introduction

10000706 The .xyd data file has an invalid header line. The line must look like either
XYDATA,curvename or YDATA,curvename.
10000707 The number of data points in your spreadsheet must be specified in the first databox
on the Curve Data Keyboard form.
10000708 A logarithmic X or Y axis cannot be created due to negative data points on your
curve.
10000709 A curve must exist before attempting to change the axis to a logarithmic scale.
10000710 File %A% already exists. Do you wish to overwrite the existing data ?
10000711 No XY Windows have been selected.
10000712 No XY Curves have been selected.
10000713 No XY Titles have been selected.

Group Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that manipulate groups.

11000000 Group Applications


11000001 A window with the given name is already in the database.
11000002 The window name is invalid.
11000003 The window location is out of range
11000004 The window size is out of range.
11000005 An incorrect title was given for the window.
11000006 A viewport with the given name is already in the database.
11000007 The viewport name is invalid.
11000008 The location of the viewport is out of range.
11000009 The size of the viewport is out of range.
11000010 An incorrect priority was given for the viewport.
11000011 The entity is not contained in the specified group.
11000012 The entity is already contained in the specified group.
11000013 The render style is invalid.
11000014 The dithering level is out of range
11000015 The results table is not in the database.
11000017 The subdivision tolerance is out of range.
11000018 An incorrect number of line segments was specified.
11000019 An incorrect number of line segments was specified.
2006 PCL Reference Manual
Introduction

11000020 An incorrect number of visualization lines was specified.


11000024 An incorrect vertical letter spacing value was specified.
11000025 A lookup table with the given name is already in the database.
11000026 The lookup table is invalid.
11000027 An incorrect number of colors was specified for lookup table.
11000028 An incorrect offset was specified in lookup table.
11000029 A spectrum with the given name is already in the database.
11000030 The spectrum name is invalid.
11000031 An incorrect number of colors was specified for the spectrum.
11000032 An incorrect offset was specified in spectrum color table.
11000033 An incorrect interpolation factor was specified.
11000034 The location of the spectrum is out of range.
11000035 The size of the spectrum is out of range.
11000036 A light source with the given name is already in the database.
11000037 The light source name is invalid.
11000038 The type of light source is incorrect.
11000039 The location of the light source is out of range.
11000040 The specified light source direction is invalid.
11000041 A display property list with the given name is already in the database.
11000042 The display property list is invalid.
11000043 The specified line style is not valid.
11000044 The specified line width is not valid.
11000046 The specified highlight value is not valid.
11000049 A group with the given name is already in the database.
11000050 The group name is invalid.
11000051 The number of items to modify in the group is out of range
11000052 The instance name is invalid.
11000053 This instance does not exist in the database.
11000054 The view corners are out of range.
11000055 An incorrect value was specified for the clipping plane.
11000056 An incorrect value was specified for the field of view angle.
11000057 An incorrect value was specified for the eye distance.
11000058 The view name is invalid.
11000059 The frame number is invalid.
Chapter 11: Status Messages 2007
Introduction

11000060 The specified frame type is invalid


11000061 The specified frame table is not in the database.
11000062 An animation sequence with the given name is already in the database.
11000063 The animate name is invalid.
11000064 The specified cycle value is incorrect
11000065 The offset into the animation sequence is out of range.
11000066 An Annotate object with the given name is already in the database.
11000067 The annotation name is invalid.
11000068 The number of characters in the text string are out of range.
11000069 The annotation justification is incorrect.
11000070 The font name specified is not available.
11000071 The font size specified is not available.
11000072 The text box shape is invalid.
11000073 The text box thickness is invalid.
11000074 The text box style is invalid.
11000075 The text arrow start position is invalid.
11000076 The text arrow head style is invalid.
11000077 The text arrow shaft style is invalid.
11000078 The specified entity could not be found in the database
11000079 The specified coordinate frame could not be found in the database.
11000080 An incorrect angle was specified.
11000081 An incorrect location was specified
11000082 The translate value is incorrect.
11000083 The scale value is incorrect.
11000084 The zoom value is incorrect.
11000085 An incorrect argument value was given. Must be 'ON' or 'OFF'
11000086 The color index for the current lookup table is out of range
11000087 The graphics device does not support fullcolor.
11000090 The specified undeformed entity style is not valid.
11000091 The specified contour label spacing is not valid.
11000092 The specified result label format is not valid.
11000093 The specified deform scale interpretation is not valid.
11000095 The specified operation cannot be performed on the current viewport.
11000096 A current viewport has not been defined.
2008 PCL Reference Manual
Introduction

11000097 There is not enough disk space to complete operation.


11000098 A fatal error has occurred in the database. Database is corrupted.
11000099 The specified operation could not be performed due to a database failure.
11000100 The specified viewport was not found in the database.
11000101 The specified Window was not found in the database.
11000102 The specified lookup table was not found in the database.
11000103 The specified view was not found in the database.
11000104 The specified light source was not found in the database.
11000105 The specified group was not found in the database.
11000106 The specified spectrum was not found in the database.
11000107 The specified display property list was not found in the database.
11000108 The specified annotation object was not found in the database.
11000109 The specified frame was not found in the database.
11000110 The specified animation sequence was not found in the database.
11000111 There is no lookup table posted to the viewport.
11000112 There is no spectrum posted to the viewport.
11000113 There are no light sources posted to the viewport.
11000114 There are no groups posted to the viewport.
11000115 There is no text posted to the viewport.
11000116 No view has been assigned to the viewport.
11000117 There is no display property posted to the viewport.
11000118 There is no display property posted to the group.
11000119 The database ID is invalid.
11000120 The widget ID is invalid.
11000121 There is not a current group defined.
11000122 The group has already been posted to the viewport.
11000123 There are no groups defined in the database.
11000124 Group cannot be unposted from viewport not posted to.
11000125 The viewport has no groups posted to it.
11000126 The group does not have an icon associated with it.
11000127 The group does not have any entities in it.
11000128 The group does not have any instances in it.
11000129 The group being instanced does not exist.
11000130 The group does not contain an instance by that name.
Chapter 11: Status Messages 2009
Introduction

11000131 The group already has an instance by that name.


11000132 There is no current view.
11000133 A range with the given name is already in the database.
11000134 The range name is invalid.
11000135 An incorrect number of sub-ranges was specified for range.
11000136 The specified range was not found.
11000137 The specified element scalar table was not found.
11000139 The specified nodal deformation table was not found.
11000140 The group can not be deleted while selected as the current group of any viewport.
11000141 The Display Property is in use by the the model or is assigned to a group.
11000142 ** Number of deleted %A%: %I%
11000143 The specified vector result table was not found.
11000153 The specified Named View already exists.
11000154 An arbitrary clipping plane with the given name is already in the database.
11000155 The arbitrary clipping plane name is invalid.
11000156 The location of the arbitrary clipping plane is out of range.
11000157 The specified arbitrary clipping plane direction is invalid.
11000158 The specified arbitrary clipping plane was not found in the database.
11000159 There are no arbitrary clipping planes in the database.
11000160 The direction of the arbitrary clipping must be non-zero.
11000162 Memory allocation failed during a multiple group operation.
11001000 Groups
11001001 No group selected.
11001002 A group cannot be both current and deleted. Either delete another group or make
another group current.
11001003 Delete group %A% ?
11001004 Delete group %A% and delete its associated members from the model?
11001005 Group %A% deleted.
11001006 Associated members of group to be deleted will be deleted from the model
regardless of possible membership in other groups. Continue to delete?
11001007 Associated members of group %A% will not be deleted from the model.
11001008 Entities to be removed from Group %A% :%A%Continue?
11001009 Entities removed from Group %A%: %A%
11001010 Group %A% created.
2010 PCL Reference Manual
Introduction

11001011 Invalid ID: %I%


11001012 ID exceeded maximum value of %I%
11001013 Transformed geometry will be appended to the existing group %A%.
11001014 The target group will not be deleted since it is the recipient of the newly created
transformed geometry.
11001015 Deletion of original group %A% (target group to transform) cannot occur while
remaining as selected current group. Deletion will ignore the Make Current toggle
and force %A% to become the current group. Delete %A%?
11001016 Are you sure you want to delete the original group members?
11001017 Group name %A% already exists and may not be empty. Any existing members will
be overwritten. Do you wish to continue?
11001018 Original labels cannot be used. Database assigning labels.
11001019 The render style of this group is stored in the database as %A% but is displayed as
%A% because the Fringe/Light styles are not supported in non-fullcolor mode (it
was likely set in a previous fullcolor session). Would you like to change the render
style value stored in the database for this (and possibly other) groups?
11001020 The CURRENT GROUP of a viewport will be unposted. Select a new current group
or this viewport's current group will be unposted.MORE INFORMATION:If the
viewport is current, new entities will not be visible because the viewport's current
group is not posted.
11001021 The current group is being unposted. Do you want to make the target group the new
current group?
11001022 Unposting the current group will render newly created entities invisible in the
current viewport. Continue?
11001023 No group members were selected for a Move/Copy operation.
11001024 No entity type was selected for a Move/Copy operation.
11001025 No group name given. Creating default group name %A%.
11001026 The current group has been changed. %A% is the new current group.
11001027 The group %A% is associated with superelement %A%. Group is not deleted.
11001028 A database inconsistency has prevented the fetching of element property region ID's
for the entities in the target group.
11001029 A database inconsistency has prevented the determination of the internal ID for
newly created %A% %I%.
11001030 Unable to add newly created %A% %I% to the region for element property set
%A%.
11001031 A database inconsistency has prevented the fetching of the physical properties
needed to determine if an element property transformation error can occur.
Chapter 11: Status Messages 2011
Introduction

11001032 %A% %I% of the target group is referenced by element property set %A%, which
contains physical properties that may be incorrect on the newly created %A%
because of the directionality of those physical properties. Do you want this element
property set assigned to the %A% created by the group transformation?
11001033 The group %A% is associated with superelement %A%. Update the superelement.
11001034 The group %A% is associated with superelement %A% and must have elements in
it. Group is not modified.
11001035 The Superelement %A% is associated with the Current Group and will be affected
by this operation.
11001036 Cannot reverse material orientation of elements associated with geometry in mirror
transform
11001037 Cannot get K-node %I% for beam
11001038 Unable to add newly created %A% to the region for element property set %A%.
11001039 Lbc %A% references discrete FEM Field %A%. This field was not expanded to the
newly transformed entities. You must do this manually using Fields/Modify.
11001040 Property %A% references discrete FEM Field %A%. This field was not expanded
to the newly transformed entities. You must do this manually using Fields/Modify.
11001041 %A% of the target group is referenced by element property set %A%, which
contains physical properties that may be incorrect on the newly created %A%
because of the directionality of those physical properties. Do you want this element
property set assigned to the %A% created by the group transformation?
11001042 Certain LBC sets and/or Element Properties in the target group reference discrete
FEM Field %A%. An attempt to modify this field to include newly transformed
entities has failed. You will have to update this field manually using Fields/Modify.
11001043 Discrete FEM Fields are referenced by certain LBC sets and/or Element Properties
in the target group. An attempt to modify these fields to include newly transformed
entities has been aborted due to memory allocation problems or inconsistent data.
You will have to update these fields manually using Fields/Modify.
11001044 Element Property or LBC set [%A%] references Discrete Fem Fields. However, at
least one entity from the application region of this set must be a member of the
current group for the referenced fields to be updated. These fields will not be
updated.
11001045 Element Property or LBC set [%A%] references discrete FEM Field [%A%].
However, there are no common entities between this set and field. This field will not
be updated.
11001046 Element Property or LBC set [%A%] references discrete FEM Field [%A%].
However, at least one entity common to both this set and field must be a member of
the current group for this field to be updated. This field will not be updated.
11001047 Memory allocation error during Group Transform.
2012 PCL Reference Manual
Introduction

11001048 LBC [%A%] and [%A%] have conflicting Coordinate System types for Discrete
Fem Field Updates.
11001049 Conflicting LBC Coordinate System types have been detected for Discrete Fem
Field Updates. This may result in some reversed vector directions. To avoid this you
must not reference the same Discrete Fem Field from LBCs with different
Coordinate System types. Do you want to continue and risk these errors ?
11001050 Selected group was found to have member(s) with hard geometry association and
will not be deleted.
11002000 View
11002001 Delete view %A%?
11002002 Deleted view %A%.
11002003 Created view %A%.
11002004 Renamed view %A% to %A%.
11002007 The back clipping plane is infront of front clipping plane. Please make sure that the
back clipping plane value is less than the front clipping plane value and re-apply.
11002008 The observer position must be a positive number greater than the model tolerance.
Please correct the observer position and re-apply.
11002009 The view plane is behind the observer. Please make sure that the view plane distance
is less than the observer position and re-apply.
11003000 Viewports
11003001 No Viewport selected.
11003002 Delete viewport %A%?
11003003 Viewport %A% deleted.
11003005 Group being posted to unposted viewport.
11003006 The CURRENT VIEWPORT will be unposted. Select a new current viewport in
order to see groups posted from the Group Post form.MORE INFORMATION:If a
group is posted from the Group Post form, it will not be visible because it only posts
to the current viewport.
11004000 Viewport Titles
11004001 Delete viewport title %A%?
11004002 Trying to delete an empty string as the viewport title.
11004003 Trying to rename an empty string as the viewport title.
11004004 Trying to modify an empty string as the viewport title.
11004005 Trying to create a viewport title that is an empty string.
11004006 Trying to create a viewport title that already exists.
11005000 Coordinate Frames
11006000 Display Properties
Chapter 11: Status Messages 2013
Introduction

11006001 Delete Display Property %A%?


11006002 Deleting the last remaining Display Property is not allowed.
11007000 Color Configurations
11007001 Delete Color Configuration %A%?
11007002 Deleting the last remaining Color Configuration is not allowed.
11008000 Spectrums
11008001 Delete Spectrum %A%?
11008002 Deleting the last remaining Spectrum is not allowed.
11009000 Ranges
11009001 Delete Range %A%?
11009002 Spreadsheet Error: The From value in row %A% is greater than the From value in
row %A%
11009003 Spreadsheet Error: The To value in row %A% is less than the From value in row
%A%
11009004 Spreadsheet Error: The From value in row %A% is less than the From value in row
%A%
11009005 Spreadsheet Error: The To value in row %A% is greater than the From value in row
%A%
11009006 Spreadsheet Error: The Middle value in row %A% is not between the To and From
values
11009008 Deleting the last remaining Range is not allowed.
11010000 Light Sources
11010001 Delete Light Source %A%?
11011000 Arbitrary Clipping Planes
11011001 Delete Arbitrary Clipping Plane %A%?
P

Preference Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that manipulate preferences.

12000000 PREF
12001001 The default model file suffix cannot exceed 4 characters.
12001002 The default results file suffix cannot exceed 4 characters.
12001003 The relative geometric tolerance is out of range. It must be greater than 1.E-6 and
less than 1.0.
2014 PCL Reference Manual
Introduction

12001004 The global model tolerance must be positive.


12001005 The string representation of the selectdatabox label for a coordinate frame exceeds
25 characters.
12001006 Error in initializing Preference %I%. Error code = %I%.
12001007 The Display Method in the Graphics Preferences form must be changed to %A% to
see the selected changes.
12001008 The entity mode render style is stored in the database as "%A%" but is displayed as
"%A%" because the Fringe/Light styles are not supported in non-full color mode (it
was likely set in a previous full color session). Would you like to change the render
style value stored in the database?
12001009 The maximum model dimension must be positive.
12001010 No Analysis Code definitions are stored in this database. Many applications, such
as Element Properties, cannot operate without Analysis Code definitions. Do you
which to load Analysis Code definitions now?
12001011 No Analysis Code definitions are stored in the database. The chosen application
cannot run without Analysis Code definitions. Do you which to load Analysis Code
definitions now?
12001012 The PCL function "%A%" does not exist and no external PCL session file called
"%A%" could be found. Refer to Chapter 7 of Part 9 ( PCL and Customization ) of
the Patran User's Manual for help with loading Analysis Code definitions into a

Patran database.
12001013 The PCL library file, %A%, which would typically be associated with the current
analysis preference, %A%, does not exist. Though it is not required, this file is
normally used to store analysis code specific PCL functions. Refer to Chapter 8 of
Part 9 ( PCL and Customization ) of the Patran User's Manual for further details.
12001014 The PCL function, %A%, does not exist. This function is required for the Analysis
Application. Refer to Chapter 8 of Part 9 ( PCL and Customization ) of the Patran
User's Manual for further details.
12002001 The environment preference was not found.
12002002 The environment preference is of the wrong datatype.
12002003 The string buffer is too small for the preference.
12002004 An error occurred creating an environment preference.
Chapter 11: Status Messages 2015
Introduction

Database Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that interact with the database.

13000000 Database
13000001 Requested file is not a valid database
13000002 Unrecoverable database error
13000003 Disk Full
13000004 Duplicate entry exists in table
13000005 Item to be changed or deleted is still referenced
13000006 Referenced item is missing
13000007 An unspecified database error occurred
13000008 Group not found
13000009 Lookup table not found
13000010 Light source not found
13000011 Render not found
13000012 Spectrum not found
13000013 View not found
13000014 Viewport not found
13000015 Member not found
13000016 Display not found
13000017 Annotation not found
13000018 Frame not found
13000019 Animation not found
13000020 Node not found
13000021 Element not found
13000022 Geometric entity not found
13000023 Current viewport not found
13000024 Group not posted
13000025 Duplicate name
13000026 Instance not found
13000027 Hyperpatch not found
13000028 Patch not found
13000029 Line not found
13000030 Grid not found
2016 PCL Reference Manual
Introduction

13000031 Lookup table entry not found


13000032 Point not found
13000033 Edge not found
13000034 Line label not found
13000035 Vertex not found
13000036 Face not found
13000037 Patch label not found
13000038 Grid label not found
13000039 Hyperpatch label not found
13000040 Group in use
13000041 Element not found
13000042 Help file not found
13000043 Beam mesh exists
13000044 Unmatched mesh
13000045 Shell mesh exists
13000046 Mesh exists
13000047 Mesh not found
13000048 Maximum node count exceeded
13000049 Element shape not found
13000050 Element name not found
13000051 Trimmed patch not found
13000052 Load case not found
13000053 Sub case not found
13000054 Result case not found
13000055 Global variable not found
13000056 Coordinate frame not found
13000057 Range not found
13000058 Sub range not found
13000059 Primary result not found
13000060 Result type not found
13000061 Analysis type not found
13000062 Position not found
13000063 XY window not found
13000064 XY axis not found
Chapter 11: Status Messages 2017
Introduction

13000065 XY legend not found


13000066 XY legend item not found
13000067 XY curve not found
13000068 XY title not found
13000069 Unmatched name and id
13000070 Element scalar not found
13000071 Result case type not found
13000072 Unmatched count
13000073 Group or member not found
13000074 Coordinate frame not posted
13000075 Load case name exists
13000076 Load case active
13000077 Dynamic load case not found
13000078 Layer position not found
13000079 Bad Model
13000080 Transaction failed
13000081 Still in transaction
13000082 Not in a transaction
13000083 Unspecified warning
13000084 Cursor left open
13000085 Cursor not open
13000086 No Records Found
13000087 Lbc Definition Already Exists
13000088 Preference not found
13000089 No default value found
13000090 Analysis code input was not found
13000091 Analysis type input was not found
13000092 Load / Boundary Condition Already Exists
13000093 Too Many Values Returned for Space Allocated
13000094 Element Position Not Found
13000095 User Aborted Transaction In Progress
13000096 Not enough storage allocated for elements
13000097 Curve input was not found
13000098 Solid input was not found
2018 PCL Reference Manual
Introduction

13000099 A mesh seed was found to exist


13000100 No mesh seed was found to exist
13000101 No LBC Definition was found
13000102 No node deform was found
13000103 No LBC was found
13000104 The value input to the routine is a default value
13000105 The node id input already exists in the database
13000106 The element id input already exists in the database
13000107 Vector input was not found
13000108 Specified geometric option code was not found
13000109 Specified condensation option code was not found
13000110 Specified laminate option code was not found
13000111 Specified formulation option code was not found
13000112 Specified element topology was not found
13000113 Specified element type was not found
13000114 Specified degree of freedom set was not found
13000115 Specified material linearity was not found
13000116 Specified material directionality was not found
13000117 The query specified has completed
13000118 The renumber specified could not complete
13000119 The region specified in the query was not found
13000120 The material specified in the query was not found
13000121 The property value requested was not found
13000122 The surface requested was not found
13000123 The trimmed surface requested was not found
13000124 The field name to be created already exists
13000125 The property entered does not exist.
13000126 The entity specified in the query was not labeled.
13000127 The field entered does not exist.
13000128 The specified property set does not exist.
13000129 The specified analysis type is not supported.
13000130 The type of element requested was not found.
13000131 The topology of element requested was not found.
13000132 Maximum element count exceeded
Chapter 11: Status Messages 2019
Introduction

13000133 The CAD system entered does not exist in the database.
13000134 The specified entity type was not found.
13000135 The specified VP title was not found.
13000136 The specified material has an invalid directionality flag.
13000137 The specified body was not found in the database.
13000138 The specified entity id was not found.
13000139 The MPC type was not found in the database.
13000140 The DOF ID was not found in the database.
13000141 The DOF name was not found in the database.
13000142 The MPC was not found in the database.
13000143 The sub-MPC was not found in the database.
13000144 More than MAX_NODES nodes were found associated to this term.
13000145 More than MAX_DOFS degrees of freedom were found associated to this term.
13000146 No MPCs in the list were found.
13000147 More than NMPC MPCs were found in the database.
13000148 There are more than NMPC MPCs in the group.
13000149 The list of MPCs for one or more of the nodes is longer than MAXMPC.
13000150 The list of nodes for one or more of the MPCs is longer than MAXNODE.
13000151 The requested MPC type was not found in the database.
13000152 The MPC type ID was not found in the database.
13000153 The MPC type name was not found in the database.
13000154 The list of Groups for one or more of the MPCs is longer than MAXGRP.
13000155 There are more than NMPC invalid MPCs in the database.
13000156 There are more than NMPC valid MPCs in the database.
13000157 Fewer values were returned than the amount requested.
13000158 This job name already exists in the database.
13000159 The job name id was not found in the database.
13000160 The point you are trying to delete in being used by another curve.
13000161 The geometric type is not defined.
13000162 The surface you are trying to delete in being used by a solid.
13000163 The material property definition was not found in the database.
13000164 The constitutive model was not found in the database.
13000165 The allowable material property was not found in the database.
13000166 The material category was not found in the database.
2020 PCL Reference Manual
Introduction

13000167 The material property alias was not found in the database.
13000168 The material property value was not found in the database.
13000169 A database trigger failure occurred.
13000170 The material magic category not found.
13000171 The material magic alias was not found.
13000172 The physical property was not found.
13000173 The physical property region was not found.
13000174 The lbc type was not found.
13000175 The clipping plane was not found.
13000176 The selected property set was not found.
13000179 The analysis code is in use and cannot be deleted.
13000180 The appl geo region is in use and cannot be deleted.
13000181 The coordinate frame is in use and cannot be deleted.
13000182 The curve is in use and cannot be deleted.
13000183 The display property is in use and cannot be deleted.
13000184 The field is in use and cannot be deleted.
13000185 The vector is in use and cannot be deleted.
13000186 The graphics vector is in use and cannot be deleted.
13000187 The node deform is in use and cannot be deleted.
13000188 The lbc type is in use and cannot be deleted.
13000189 The lookup table is in use and cannot be deleted.
13000190 The material is in use and cannot be deleted.
13000191 The material category is in use and cannot be deleted.
13000192 The material directionality is in use and cannot be deleted.
13000193 The material linearity is in use and cannot be deleted.
13000194 The material property definition is in use and cannot be deleted.
13000195 The section position is in use and cannot be deleted.
13000196 The spectrum is in use and cannot be deleted.
13000197 The view is in use and cannot be deleted.
13000200 The xy window is in use and cannot be deleted.
13000201 The specified client entity was not found.
13000202 The range is in use by a viewport and cannot be deleted.
13000203 The specified parameter set was not found.
13000204 The specified analysis step was not found.
Chapter 11: Status Messages 2021
Introduction

13000205 The specified arbitrary clipping plane was not found.


13000206 Generating %I% IDs starting from %I% produces an invalid ID. Try a smaller
starting ID.
13000207 The renumber specified is attempting to reassign the previously used ID %I%
13000210 The system is out of virtual memory.
13000211 Virtual memory has been exhausted.
13000212 There is an error interacting with the PERSISTENT_MEMORY relation in the
database.
13000213 A database lookup failed to locate the target index key.
13000217 Invalid element ID ( < 0 or > 2,147,483,647 )
13000218 Invalid node ID ( < 0 or > 2,147,483,647 )
13000220 Plane input was not found
13000221 Unable to create InterBase NFS marker file
13000222 Creating NFS marker file for %A%
13000223 Existing NFS marker file is locked by another process
13000224 Database file is locked by another process. NFS access is not permitted.
13000225 Found existing NFS marker file for %A%
13000226 Mesh control applied to Hard Geometry parent.
13000228 The parameter has not been defined.
13000229 The configuration has not been defined.
13000230 The configuration parameter has not been defined.
13000231 The parameter is referenced and cannot be deleted.
13000232 The architecture which database %A% was created on is incompatible with the
operating system on which the current process is running. Currently, databases
created on DEC/Alpha or Windows NT are not accessible on the other supported
platforms, and vise-versa.
13000233
The file %A% appears to be a Patran database, release 7.x or older, but cannot be
upgraded because it was created on a system whose architecture is incompatible with
the current system. The upgrade must be done on the originating system, by
opening it with the latest version of Patran on that system. It can then be accessed

by Patran on this system.


2022 PCL Reference Manual
Introduction

13000234 Database %A% is not a version 8 or newer format. It is either pre-version 8, or not
a valid Patran database. In order to open a V7.x or older database, Interbase must be

installed. Please contact your System Administrator or Patran Support


representative.
13000235 A conflict in %A% ids starting with number %I% was encountered. Ids will continue
at %I%.
13100000 Database conversion
13100001 Wrong number of arguments to database conversion utility.
13100002 Error attempting to access database %A%. Possible bad file name or protection
violation.
13100003 Error attempting to backup database %A%. Possible device full error.
13100004 Error attempting to open database %A%. Possible non-Interbase file.
13100005 Error encountered in database version field.
13100006 Error encountered during conversion of database %A%.
13100007 Error attempting to restore database backup. Backup was not found and original
database may be corrupted.
13100008 Error attempting to locate database conversion utility.
13100009 Database conversion aborted by user or due to conversion error. Database %A%
successfully restored.
13100010 Error attempting to restore database backup. Backup was found and original may be
corrupted.
13100011 Database %A% is not up to date. Converting database from schema version %A%
to %A% started (backup in %A%.bak).
13100012 Database %A% is now up to date.
13100016 Database Port
13100017 Error attempting to locate database porting utility (dbport). Please contact
MSC.Software customer support to obtain the database porting utility.
13100018 Database %A% has been ported to the current platform.
13100019 Database %A% originated on a %A% platform. Now porting to a %A% platform
using the database porting utility (dbport).
13100020 Error attempting to port database %A%. Please contact MSC.Software customer
support for more information.
13100021 The database selected for opening is in an older format and needs to be updated.
Please select a file name into which the database file will be copied, updated, and
opened.
Chapter 11: Status Messages 2023
Introduction

List Processor Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from the list
processor functions.

14000000 ListProcessor
14000001 LpGetHeapSpace: Allocated heap space is exhausted
14000002 LpEval: Unknown evaluation method
14000003 LpSublistType: No sublist filter bits are set on invocation
14000004 LpSublistType: I am being invoked with a NULL list
14000005 LpSublistType: In the list being used, the current sublist has a nonatomic CAR
14000006 LpSublistType: In the list being used, the current geometry sublist is unclassifiable
14000007 LpSublistType: In the list being used, the current finite element sublist is
unclassifiable
14000008 LpSublistType: In the list being used, the current token sublist is unclassifiable
14000009 LpSublistType: In the list being used, the current sublist is unclassifiable
14000010 LpSublistType: In the list being used, the current sublist does not match the sublist
filter
14000011 LpSublistAttributeGet: Attempt to get attribute from NULL list
14000012 LpSublistAttributeGet: Attribute to retrieve is undefined
14000013 LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist
14000014 LpSublistNext: Attempt to proceed past last sublist in current list
14000015 LpSublistNext: End of current list has been reached
14000016 LpAPPEND: Attempt to append to a nonNULL atom (atoms can be appended to
only if NULL)
14000017 LpAPPEND: Attempt to append to a list which does not end in a NULL (not a 1.5
LIST)
14000018 LpEvalGeometry: A sublist needs evaluation, but does not evaluate successfully
14000019 LpEvalGeometry: The geometric type for evaluation is unknown
14000020 LpEvalGeometryPoint: Insufficient attributes are present for evaluation against the
database
14000021 LpEvalGeometryCurve: Insufficient attributes are present for evaluation against the
database
14000022 LpEvalGeometryCurve: Illegal vertex reference
14000023 LpEvalGeometrySurface: Insufficient attributes are present for evaluation against
the database
14000024 LpEvalGeometrySurface: Illegal edge reference
2024 PCL Reference Manual
Introduction

14000025 LpEvalGeometrySolid: Insufficient attributes are present for evaluation against the
database
14000026 LpEvalGeometrySolid: Illegal face reference
14000027 LpEvalScreenPick: Given less than 3 arguments to evaluate
14000028 LpEvalScreenPick: Given more than 3 arguments to evaluate
14000029 LpEvalScreenPick: Given bad arguments to evaluate (nonnumeric, etc)
14000030 LpEvalPointImmediate: Given less than 3 arguments to evaluate
14000031 LpEvalPointImmediate: Given more than 3 arguments to evaluate
14000032 LpEvalPointImmediate: Given bad arguments to evaluate (nonnumeric, etc)
14000033 LpEvalVectorImmediate: Given less than 3 arguments to evaluate
14000034 LpEvalVectorImmediate: Given more than 3 arguments to evaluate
14000035 LpEvalVectorImmediate: Given bad arguments to evaluate (nonnumeric, etc)
14000036 LpEvalGeometryCoordinateFrame: Insufficient attributes are present for evaluation
against the database
14000037 LpEvalGeometryCoordinateFrame: Illegal axis reference (must be 1 for X, 2 for Y,
or 3 for Z)
14000038 LpEvalGeometryVector: Insufficient attributes are present for evaluation against the
database (vectors are not in the database: they must be constructed)
14000039 LpEvalGeometryAxis: Insufficient attributes are present for evaluation against the
database (axes are not in the database: they must be constructed)
14000040 LpEvalGeometryNode: Insufficient attributes are present for evaluation against the
database
14000041 LpEvaluateExpression: Bad Input list - no valid action: Eval, Construct, etc
14000042 LpEvaluateExpression: Bad Input list - invalid eval class Id, Label, Geometry, etc
14000043 LpEvaluateExpression: Input list must have at least three sublists to be evaluatable
14000044 LpEvaluateExpression: Input list has invalid subaction for construct (2PointCurve,
2SurfaceSolid, etc)
14000045 LpEvaluateExpression: Input list has invalid action (Eval, Construct, etc)
14000046 LpListPrint: Attempt to print an atom with left type of NODE_PTR
14000047 LpListPrint: Attempt to print an atom with an undefined left type
14000048 LpListPrint: Node type is undefined
14000049 LpParseExpression: Excess left parenthesis detected
14000050 LpParseExpression: Excess right parenthesis detected
14000051 LpSearchForTagAndAttribute: Tag not found in input list
14000052 LpSearchForTag: Tag not found in input list
14000053 LpSearchForAttribute: Attribute not found in input list
Chapter 11: Status Messages 2025
Introduction

14000054 LpCOERCE: Input list must be an atom


14000055 LpCOERCE: Attempt to coerce a NULL list
14000056 LpCOERCE: Attempt to coerce a NODE_PTR
14000057 LpCOERCE: Current format of input is unknown
14000058 LpCOERCE: Output format is unknown
14000059 LpCOERCE: Unable to coerce the input string into a valid int
14000060 LpCOERCE: Unable to coerce the input string into a valid float
14000061 LpCOERCE: Output area size is too small
14000062 LpCOERCE_TO_ARRAY: Output array size is too small (must be at least 1)
14000063 LpCOERCE_TO_ARRAY: Unknown atom type encountered
14000064 LpCOERCE_TO_ARRAY: NULL atom encountered
14000065 LpCOERCE_TO_ARRAY: Blob exceeds max size for output array
14000066 LpCOERCETO_ARRAY: Unable to coerce the input string into a valid int
14000067 LpCOERCETO_ARRAY: Unable to coerce complex input list (only coerce atoms
and lists of atoms)
14000068 LpCOERCETO_ARRAY: Max size for output array exceeded
14000069 LpConstruct2PointCurve: Input list must have at least 2 sublists to be evaluatable
14000070 LpConstruct2PointCurve: Input list must have no more than 2 sublists to be
evaluatable
14000071 LpConstruct2PointCurve: Input list 1 requires evaluation, but is not evaluatable
14000072 LpConstruct2PointCurve: Input list 2 requires evaluation, but is not evaluatable
14000073 LpConstruct2PointCurve: Input list 1 is not a Point type sublist
14000074 LpConstruct2PointCurve: Input list 2 is not a Point type sublist
14000075 LpConstruct2PointCurve: Input list 1 does not have a GeometryDefinition attribute
14000076 LpConstruct2PointCurve: Input list 2 does not have a GeometryDefinition attribute
14000077 LpConstruct2PointCurve: Input list 1 does not have a GeometryDefinition attribute
suitable for a Point
14000078 LpConstruct2PointCurve: Input list 2 does not have a GeometryDefinition attribute
suitable for a Point
14000079 LpConstruct2CurvePoint: Input list must have at least 2 sublists to be evaluatable
14000080 LpConstruct2CurvePoint: Input list must have no more than 2 sublists to be
evaluatable
14000081 LpConstruct2CurvePoint: Input list 1 requires evaluation, but is not evaluatable
14000082 LpConstruct2CurvePoint: Input list 2 requires evaluation, but is not evaluatable
14000083 LpConstruct2CurvePoint: Input list 1 is not a Curve type sublist
2026 PCL Reference Manual
Introduction

14000084 LpConstruct2CurvePoint: Input list 2 is not a Curve type sublist


14000085 LpConstruct2CurvePoint: Input list 1 does not have a GeometryDefinition attribute
14000086 LpConstruct2CurvePoint: Input list 2 does not have a GeometryDefinition attribute
14000087 LpConstruct2CurvePoint: Input list 1 does not have a GeometryDefinition attribute
suitable for a Curve
14000088 LpConstruct2CurvePoint: Input list 2 does not have a GeometryDefinition attribute
suitable for a Curve
14000089 LpConstruct2CurveSurface: Input list must have at least 2 sublists to be evaluatable
14000090 LpConstruct2CurveSurface: Input list must have no more than 2 sublists to be
evaluatable
14000091 LpConstruct2CurveSurface: Input list 1 requires evaluation, but is not evaluatable
14000092 LpConstruct2CurveSurface: Input list 2 requires evaluation, but is not evaluatable
14000093 LpConstruct2CurveSurface: Input list 1 is not a Curve type sublist
14000094 LpConstruct2CurveSurface: Input list 2 is not a Curve type sublist
14000095 LpConstruct2CurveSurface: Input list 1 does not have a GeometryDefinition
attribute
14000096 LpConstruct2CurveSurface: Input list 2 does not have a GeometryDefinition
attribute
14000097 LpConstruct2CurveSurface: Input list 1 does not have a GeometryDefinition
attribute suitable for a Curve
14000098 LpConstruct2CurveSurface: Input list 2 does not have a GeometryDefinition
attribute suitable for a Curve
14000099 LpConstruct2SurfaceCurve: Input list must have at least 2 sublists to be evaluatable
14000100 LpConstruct2SurfaceCurve: Input list must have no more than 2 sublists to be
evaluatable
14000101 LpConstruct2SurfaceCurve: Input list 1 requires evaluation, but is not evaluatable
14000102 LpConstruct2SurfaceCurve: Input list 2 requires evaluation, but is not evaluatable
14000103 LpConstruct2SurfaceCurve: Input list 1 is not a Surface type sublist
14000104 LpConstruct2SurfaceCurve: Input list 2 is not a Surface type sublist
14000105 LpConstruct2SurfaceCurve: Input list 1 does not have a GeometryDefinition
attribute
14000106 LpConstruct2SurfaceCurve: Input list 2 does not have a GeometryDefinition
attribute
14000107 LpConstruct2SurfaceCurve: Input list 1 does not have a GeometryDefinition
attribute suitable for a Surface
14000108 LpConstruct2SurfaceCurve: Input list 2 does not have a GeometryDefinition
attribute suitable for a Surface
Chapter 11: Status Messages 2027
Introduction

14000109 LpConstruct2SurfaceSolid: Input list must have at least 2 sublists to be evaluatable


14000110 LpConstruct2SurfaceSolid: Input list must have no more than 2 sublists to be
evaluatable
14000111 LpConstruct2SurfaceSolid: Input list 1 requires evaluation, but is not evaluatable
14000112 LpConstruct2SurfaceSolid: Input list 2 requires evaluation, but is not evaluatable
14000113 LpConstruct2SurfaceSolid: Input list 1 is not a Surface type sublist
14000114 LpConstruct2SurfaceSolid: Input list 2 is not a Surface type sublist
14000115 LpConstruct2SurfaceSolid: Input list 1 does not have a GeometryDefinition attribute
14000116 LpConstruct2SurfaceSolid: Input list 2 does not have a GeometryDefinition attribute
14000117 LpConstruct2SurfaceSolid: Input list 1 does not have a GeometryDefinition attribute
suitable for a Surface
14000118 LpConstruct2SurfaceSolid: Input list 2 does not have a GeometryDefinition attribute
suitable for a Surface
14000119 LpConstruct2PointVector: Input list must have at least 2 sublists to be evaluatable
14000120 LpConstruct2PointVector: Input list must have no more than 2 sublists to be
evaluatable
14000121 LpConstruct2PointVector: Input list 1 requires evaluation, but is not evaluatable
14000122 LpConstruct2PointVector: Input list 2 requires evaluation, but is not evaluatable
14000123 LpConstruct2PointVector: Input list 1 is not a Point type sublist
14000124 LpConstruct2PointVector: Input list 2 is not a Point type sublist
14000125 LpConstruct2PointVector: Input list 1 does not have a GeometryDefinition attribute
14000126 LpConstruct2PointVector: Input list 2 does not have a GeometryDefinition attribute
14000127 LpConstruct2PointVector: Input list 1 does not have a GeometryDefinition attribute
suitable for a Point
14000128 LpConstruct2PointVector: Input list 2 does not have a GeometryDefinition attribute
suitable for a Point
14000129 LpConstruct2PointAxis: Input list must have at least 2 sublists to be evaluatable
14000130 LpConstruct2PointAxis: Input list must have no more than 2 sublists to be
evaluatable
14000131 LpConstruct2PointAxis: Input list 1 requires evaluation, but is not evaluatable
14000132 LpConstruct2PointAxis: Input list 2 requires evaluation, but is not evaluatable
14000133 LpConstruct2PointAxis: Input list 1 is not a Point type sublist
14000134 LpConstruct2PointAxis: Input list 2 is not a Point type sublist
14000135 LpConstruct2PointAxis: Input list 1 does not have a GeometryDefinition attribute
14000136 LpConstruct2PointAxis: Input list 2 does not have a GeometryDefinition attribute
2028 PCL Reference Manual
Introduction

14000137 LpConstruct2PointAxis: Input list 1 does not have a GeometryDefinition attribute


suitable for a Point
14000138 LpConstruct2PointAxis: Input list 2 does not have a GeometryDefinition attribute
suitable for a Point
14000139 LpEvalPicklist: Not given an initial picklist to work on
14000140 LpEvalPicklist: The initial picklist must be a parenthesised list
14000141 LpEvalPicklist: The second argument wasn't present. It should be something like
normalize, add, or delete.
14000142 LpEvalPicklist: The second argument was a list. It should be an atom like normalize,
add, or delete.
14000143 LpEvalPicklist: The second argument must be an atomic method line normalize, add,
or delete.
14000144 LpEvalPicklistEnumerate: The picklist being enumerated has a bad entity in it.
14000145 LpEvalPicklistNormalize: The picklist being normalized has a bad entity in it.
14000146 LpSublistFetch: The output area is too small to hold the sublist being fetched.
14000147 LpSublistFetch: Attempt to print an atom with left type of NODE_PTR
14000148 LpSublistFetch: Attempt to print an atom with an undefined left type
14000149 LpSublistFetch: Node type is undefined
14000150 LpEvalFiniteElement: A sublist needs evaluation, but does not evaluate successfully
14000151 LpEvalFiniteElement: The finite element type for evaluation is unknown
14000152 LpEvalFiniteElementNode: Insufficient attributes are present for evaluation against
the database
14000153 LpEvalFiniteElementElement: Insufficient attributes are present for evaluation
against the database
14000154 LpEvalFiniteElementElement: A topological reference to a 1 dimensional finite
element can have only 1 period
14000155 LpEvalFiniteElementElement: A topological reference to a 2 dimensional finite
element can a maximum of 2 periods
14000156 LpEvalFiniteElementElement: A topological reference to a 3 dimensional finite
element can a maximum of 3 periods
14000157 LpEvalFiniteElementElement: A topological reference has been attempted on a
finite element which has an invalid dimensionality
14000158 LpEvalFiniteElementElement: Illegal face reference (must be 1 to 6)
14000159 LpEvalFiniteElementElement: Illegal edge reference (must be 1 to 4)
14000160 LpEvalFiniteElementElement: Illegal vertex reference (must be 1 to 2)
14000161 LpEvalId: A sublist needs evaluation, but does not evaluate successfully
14000162 LpEvalId: Attempt to evaluate a screen pick for its Id
Chapter 11: Status Messages 2029
Introduction

14000163 LpEvalId: Attempt to evaluate a point immediate for its Id


14000164 LpEvalId: Attempt to evaluate a vector immediate for its Id
14000165 LpEvalId: Attempt to evaluate a vector for its Id
14000167 LpEvalId: The geometric type for evaluation is unknown
14000168 LpEvalId: The finite element type for evaluation is unknown
14000169 LpEvalId: The entity being evaluated is unknown
14000170 LpEvalIdPoint: Insufficient attributes are present for evaluation against the database
14000171 LpEvalIdCurve: Insufficient attributes are present for evaluation against the
database
14000172 LpEvalIdCurve: Illegal vertex reference
14000173 LpEvalIdSurface: Insufficient attributes are present for evaluation against the
database
14000174 LpEvalIdSurface: Illegal edge reference
14000175 LpEvalIdSolid: Insufficient attributes are present for evaluation against the database
14000176 LpEvalIdSolid: Illegal face reference
14000177 LpEvalIdCoordinateFrame: Insufficient attributes are present for evaluation against
the database
14000178 LpEvalIdNode: Insufficient attributes are present for evaluation against the database
14000179 LpEvalIdElment: Insufficient attributes are present for evaluation against the
database
14000180 LpEvalLabel: A sublist needs evaluation, but does not evaluate successfully
14000181 LpEvalLabel: Attempt to evaluate a screen pick for its Label
14000182 LpEvalLabel: Attempt to evaluate a point immediate for its Label
14000183 LpEvalLabel: Attempt to evaluate a vector immediate for its Label
14000184 LpEvalLabel: Attempt to evaluate a vector for its Label
14000186 LpEvalLabel: The geometric type for evaluation is unknown
14000187 LpEvalLabel: The finite element type for evaluation is unknown
14000188 LpEvalLabel: The entity being evaluated is unknown
14000189 LpEvalLabelPoint: Insufficient attributes are present for evaluation against the
database
14000190 LpEvalLabelCurve: Insufficient attributes are present for evaluation against the
database
14000191 LpEvalLabelCurve: Illegal vertex reference
14000192 LpEvalLabelSurface: Insufficient attributes are present for evaluation against the
database
14000193 LpEvalLabelSurface: Illegal edge reference
2030 PCL Reference Manual
Introduction

14000194 LpEvalLabelSolid: Insufficient attributes are present for evaluation against the
database
14000195 LpEvalLabelSolid: Illegal face reference
14000196 LpEvalLabelCoordinateFrame: Insufficient attributes are present for evaluation
against the database
14000197 LpEvalLabelNode: Insufficient attributes are present for evaluation against the
database
14000198 LpEvalLabelElement: Insufficient attributes are present for evaluation against the
database
14000199 LpGeometryText: there isn't enough room to build the output string
14000200 LpKEYWORD_TEXT: Bad arguments specified
14000201 Invalid output string specified for call
14000208 LpSublistAttributeGet: Curve evaluator error
14000209 LpSublistAttributeGet: Unable to coerce curve within tolerance
14000210 LpSublistAttributeGet: Insufficient size in return area for geometry
14000211 LpSublistAttributeGet: Surface evaluator error
14000212 LpSublistAttributeGet: Unable to coerce surface within tolerance
14000213 LpSublistAttributeGet: Unable to coerce geometry: unknown type
14000214 LpEvalTokens: Sublists are present in the expression to tokenize
14000215 LpEvalAxisImmediate: Given less than 3 arguments to evaluate
14000216 LpEvalAxisImmediate: Given more than 3 arguments to evaluate
14000217 LpEvalAxisImmediate: Given bad arguments to evaluate (nonnumeric, etc)
14000218 LpInternalPicklistCreate: The picklist being created has a bad entity in it.
14000219 LpEvalGeometrySurface: Virtual memory has been exhausted
14000220 LpEvalGeometrySolid: Virtual memory has been exhausted
14000221 LpEvalIdSurface: Virtual memory has been exhausted
14000222 LpEvalIdSolid: Virtual memory has been exhausted
14000223 LpEvalLabelSurface: Virtual memory has been exhausted
14000224 LpEvalLabelSolid: Virtual memory has been exhausted
14000225 LpEvalPicklistAdd: All picklists to be added together must be sublists
14000226 LpEvalPicklistDelete: All picklists to be cumulatively deleted must be sublists
14000227 LpConstructPointCurveUOnCurve: Input list must have at least 2 sublists to be
evaluatable
14000228 LpConstructPointCurveUOnCurve: Input list must have no more than 2 sublists to
be evaluatable
Chapter 11: Status Messages 2031
Introduction

14000229 LpConstructPointCurveUOnCurve: Input list 1 requires evaluation, but is not


evaluatable
14000230 LpConstructPointCurveUOnCurve: Input list 2 requires evaluation, but is not
evaluatable
14000231 LpConstructPointCurveUOnCurve: Input list 1 is not a Point type sublist
14000232 LpConstructPointCurveUOnCurve: Input list 2 is not a Curve type sublist
14000233 LpConstructPointCurveUOnCurve: Input list 1 does not have a GeometryDefinition
attribute
14000234 LpConstructPointCurveUOnCurve: Input list 2 does not have a GeometryDefinition
attribute
14000235 LpConstructPointCurveUOnCurve: Input list 1 does not have a GeometryDefinition
attribute suitable for a Point
14000236 LpConstructPointCurveUOnCurve: Input list 2 does not have a GeometryDefinition
attribute suitable for a Curve
14000237 LpConstructPointSurfaceUvOnSurface: Input list must have at least 2 sublists to be
evaluatable
14000238 LpConstructPointSurfaceUvOnSurface: Input list must have no more than 2 sublists
to be evaluatable
14000239 LpConstructPointSurfaceUvOnSurface: Input list 1 requires evaluation, but is not
evaluatable
14000240 LpConstructPointSurfaceUvOnSurface: Input list 2 requires evaluation, but is not
evaluatable
14000241 LpConstructPointSurfaceUvOnSurface: Input list 1 is not a Point type sublist
14000242 LpConstructPointSurfaceUvOnSurface: Input list 2 is not a Surface type sublist
14000243 LpConstructPointSurfaceUvOnSurface: Input list 1 does not have a
GeometryDefinition attribute
14000244 LpConstructPointSurfaceUvOnSurface: Input list 2 does not have a
GeometryDefinition attribute
14000245 LpConstructPointSurfaceUvOnSurface: Input list 1 does not have a
GeometryDefinition attribute suitable for a Point
14000246 LpConstructPointSurfaceUvOnSurface: Input list 2 does not have a
GeometryDefinition attribute suitable for a Surface
14000247 LpConstructPointCurvePoint: Input list must have at least 2 sublists to be
evaluatable
14000248 LpConstructPointCurvePoint: Input list must have no more than 2 sublists to be
evaluatable
14000249 LpConstructPointCurvePoint: Input list 1 requires evaluation, but is not evaluatable
14000250 LpConstructPointCurvePoint: Input list 2 requires evaluation, but is not evaluatable
2032 PCL Reference Manual
Introduction

14000251 LpConstructPointCurvePoint: Input list 1 is not a Point type sublist


14000252 LpConstructPointCurvePoint: Input list 2 is not a Curve type sublist
14000253 LpConstructPointCurvePoint: Input list 1 does not have a GeometryDefinition
attribute
14000254 LpConstructPointCurvePoint: Input list 2 does not have a GeometryDefinition
attribute
14000255 LpConstructPointCurvePoint: Input list 1 does not have a GeometryDefinition
attribute suitable for a Point
14000256 LpConstructPointCurvePoint: Input list 2 does not have a GeometryDefinition
attribute suitable for a Curve
14000257 LpConstruct2SurfaceCurve: The SGM intersection toolkit reports an intersection
error
14000258 LpConstruct2SurfaceCurve: The SGM intersection toolkit reports the the surfaces
selected do not intersect
14000259 LpConstructPointCurveUOnCurve: Input list 2 must contain at least an id or label
for database access
14000260 LpConstructPointSurfaceUvOnSurface: Input list 2 must contain at least an id or
label for database access
14000261 LpEvalFiniteElementMPC: Insufficient attributes are present for evaluation against
the database
14000262 LpEvalIdMPC: Insufficient attributes are present for evaluation against the database
14000263 LpEvalLabelMPC: Insufficient attributes are present for evaluation against the
database
14000264 LpConstructCurveSurfacePoint: Input list must have at least 2 sublists to be
evaluatable
14000265 LpConstructCurveSurfacePoint: Input list must have no more than 2 sublists to be
evaluatable
14000266 LpConstructCurveSurfacePoint: Input list 1 requires evaluation, but is not
evaluatable
14000267 LpConstructCurveSurfacePoint: Input list 2 requires evaluation, but is not
evaluatable
14000268 LpConstructCurveSurfacePoint: Input list 1 is not a Curve type sublist
14000269 LpConstructCurveSurfacePoint: Input list 2 is not a Surface type sublist
14000270 LpConstructCurveSurfacePoint: Input list 1 does not have a GeometryDefinition
attribute
14000271 LpConstructCurveSurfacePoint: Input list 2 does not have a GeometryDefinition
attribute
Chapter 11: Status Messages 2033
Introduction

14000272 LpConstructCurveSurfacePoint: No intersect exists between the curve and surface


selected
14000273 LpConstructPointSurfacePoint: Input list must have at least 2 sublists to be
evaluatable
14000274 LpConstructPointSurfacePoint: Input list must have no more than 2 sublists to be
evaluatable
14000275 LpConstructPointSurfacePoint: Input list 1 requires evaluation, but it not evaluatable
14000276 LpConstructPointSurfacePoint: Input list 2 requires evaluation, but it not evaluatable
14000277 LpConstructPointSurfacePoint: Input list 1 is not a Point type sublist
14000278 LpConstructPointSurfacePoint: Input list 2 is not a Surface type sublist
14000279 LpConstructPointSurfacePoint: Input list 1 does not have a GeometryDefinition
attribute
14000280 LpConstructPointSurfacePoint: Input list 2 does not have a GeometryDefinition
attribute
14000281 LpExpandPclVariables: Virtual memory is full
14000282 LpSublistAttributeGet: The value for the attribute requested is NULL
14000283 LpGeometricTopologyConverter: Internal error: point does not have a label, but is
the highest topological entity in the chain
14000284 LpGeometricTopologyConverter: Virtual memory is exhausted
14000285 LpGeometricTopologyConverter: Internal Vertex/Edge error
14000286 LpGeometricTopologyConverter: Internal error: curve does not have a label, but is
the highest topological entity in the chain
14000287 LpGeometricTopologyConverter: Virtual memory is exhausted
14000288 LpGeometricTopologyConverter: Internal Edge/Face error
14000289 LpGeometricTopologyConverter: Internal error: surface does not have a label, but is
the highest topological entity in the chain
14000290 LpGeometricTopologyConverter: Virtual memory is exhausted
14000291 LpGeometricTopologyConverter: Internal Face/Body error
14000292 LpGeometricTopologyConverter: Internal error: solid does not have a label, but is
the highest topological entity in the chain
14000293 LpEvalGeometryElement: Insufficient attributes are present for evaluation against
the database
14000294 LpEvalGeometryMPC: Insufficient attributes are present for evaluation against the
database
14000295 LpSublistAttributeGet: The CAD native curve can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
2034 PCL Reference Manual
Introduction

14000296 LpSublistAttributeGet: The CAD native surface can not be accurately approximated
to within an order of magnitude of the present geometric tolerance.
14000297 LpPicklistTopologicallyReduced: Virtual memory is exhausted
14000298 LpPicklistDecoder: Parse error.
14000299 LpPicklistDecoder: Memory is exhausted.
14000300 LpPicklistDecoderWoLkup: Memory is exhausted.
14000302 LpPicklistDecoderWithLookup: Memory is exhausted.
14000303 LpPicklistStringCreator: Output area of caller would be overflowed if output string
would be completed
14000304 LpAtoi: String out of range for integer conversion.
14000305 LpExtendPicklist: Memory Exhausted assembling picklist
14000306 LpPicklistReadOpen: Memory Exhausted preparing picklist input
14000307 LpPicklistMerge: Picklist merge requested with empty merge list
14000308 LpEval: Memory exhausted preparing to evaluate pick
14000309 LpInputString: Parenthesis nesting is too deep
14000310 LpLexical: Unable to identify token scanned
14000311 LpInputString: Input string does not conform to expected syntax
14000312 LpConstruct2SurfaceCurve: Unable to construct surface from supplied curves
14000313 LpConstruct2SurfaceSolid: Unable to construct solid from supplied surfaces
14000314 LpStringToFloat: Bad numeric string or undefined numeric standin
14000315 LpUCurvePoint: Given less than 2 arguments to evaluate
14000316 LpUCurvePoint: Given more than 2 arguments to evaluate
14000317 LpUCurvePoint: Input list 1 requires evaluation, but can not be evaluated
14000318 LpUCurvePoint: Input list 1 is not a Curve type sublist
14000319 LpUCurvePoint: Input list 2 is not of the form (U <value>)
14000320 LpUCurvePoint: Input list 2 is not in the range 0.0 to 1.0
14000321 LpUCurvePoint: Input list 1 does not have a GeometryDefinition attribute
14000322 LpUCurvePoint: Evaluator unable to find point on curve
14000323 LpUVSurfacePoint: Given less than 3 arguments to evaluate
14000324 LpUVSurfacePoint: Given more than 3 arguments to evaluate
14000325 LpUVSurfacePoint: Input list 1 requires evaluation, but can not be evaluated
14000326 LpUVSurfacePoint: Input list 1 is not a Surface type sublist
14000327 LpUVSurfacePoint: Input list 2 is not of the form (U <value>)
14000328 LpUVSurfacePoint: Input list 2 is not in the range 0.0 to 1.0
Chapter 11: Status Messages 2035
Introduction

14000329 LpUVSurfacePoint: Input list 3 is not of the form (V <value>)


14000330 LpUVSurfacePoint: Input list 2 is not in the range 0.0 to 1.0
14000331 LpUVSurfacePoint: Input list 1 does not have a GeometryDefinition attribute
14000332 LpUVSurfacePoint: Evaluator unable to find point on Surface
14000333 LpConstructCurvePointTangent: Input list must have at least 2 sublists to be
evaluatable
14000334 LpConstructCurvePointTangent: Input list must have no more than 2 sublists to be
evaluatable
14000335 LpConstructCurvePointTangent: Input list 1 requires evaluation, but is not
evaluatable
14000336 LpConstructCurvePointTangent: Input list 1 requires evaluation, but is not
evaluatable
14000337 LpConstructCurvePointTangent: Input list 1 is not a Curve type sublist
14000338 LpConstructCurvePointTangent: Input list 2 is not a Point type sublist
14000339 LpConstructCurvePointTangent: Input list 1 does not have a GeometryDefinition
14000340 LpConstructCurvePointTangent: Input list 2 does not have a GeometryDefinition
14000341 LpConstructCurvePointTangent: Curve is degenerate or has a vanishing normal
14000342 LpConstructSurfacePointNormal: Input list must have at least 2 sublists to be
evaluatable
14000343 LpConstructSurfacePointNormal: Input list must have no more than 2 sublists to be
evaluatable
14000344 LpConstructSurfacePointNormal: Input list 1 requires evaluation, but is not
evaluatable
14000345 LpConstructSurfacePointNormal: Input list 1 requires evaluation, but is not
evaluatable
14000346 LpConstructSurfacePointNormal: Input list 1 is not a Surface type sublist
14000347 LpConstructSurfacePointNormal: Input list 2 is not a Point type sublist
14000348 LpConstructSurfacePointNormal: Input list 1 does not have a GeometryDefinition
14000349 LpConstructSurfacePointNormal: Input list 2 does not have a GeometryDefinition
14000350 LpConstructSurfacePointNormal: Surface is degenerate or has a vanishing normal
14000351 LpEvalGeometryPlane: Insufficient attributes are present for evaluation against the
database
14000352 LpEvalIdPlane: Insufficient attributes are present for evaluation against the database
14000353 LpEvalLabelPlane: Insufficient attributes are present for evaluation against the
database
14000354 LpEvalIdVector: Insufficient attributes are present for evaluation against the
database
2036 PCL Reference Manual
Introduction

14000355 LpEvalLabelVector: Insufficient attributes are present for evaluation against the
database
14000356 LpEvalGeometryCurve: Evaluator failed to find specified parametric point/curve
location U
14000357 LpEvalGeometrySurface: Evaluator failed to find specified parametric point/surface
location UV
14000358 LpConstruct2PointOnCurve: Given less than 3 arguments to evaluate
14000359 LpConstruct2PointOnCurve: Given more than 3 arguments to evaluate
14000360 LpConstruct2PointOnCurve: Input list 1 requires evaluation, but is not evaluatable
14000361 LpConstruct2PointOnCurve: Input list 1 is not a Point type sublist
14000362 LpConstruct2PointOnCurve: Input list 1 does not have a GeometryDefinition
attribute
14000363 LpConstruct2PointOnCurve: Input list 2 requires evaluation, but is not evaluatable
14000364 LpConstruct2PointOnCurve: Input list 1 is not a Point type sublist
14000365 LpConstruct2PointOnCurve: Input list 1 does not have a GeometryDefinition
attribute
14000366 LpConstruct2PointOnCurve: Input list 3 requires evaluation, but is not evaluatable
14000367 LpConstruct2PointOnCurve: Input list 1 is not a Curve type sublist
14000368 LpConstruct2PointOnCurve: Input list 1 does not have a GeometryDefinition
attribute
14000369 LpConstruct3PointPlane: Input list must have at least 3 sublists to be evaluatable
14000370 LpConstruct3PointPlane: Input list must not have more than 3 sublists to be
evaluatable
14000371 LpConstruct3PointPlane: Input list 1 requires evaluation, but is not evaluatable
14000372 LpConstruct3PointPlane: Input list 2 requires evaluation, but is not evaluatable
14000373 LpConstruct3PointPlane: Input list 3 requires evaluation, but is not evaluatable
14000374 LpConstruct3PointPlane: Input list 1 is not a Point type sublist
14000375 LpConstruct3PointPlane: Input list 2 is not a Point type sublist
14000376 LpConstruct3PointPlane: Input list 3 is not a Point type sublist
14000377 LpConstruct3PointPlane: Input list 1 does not have a GeometryDefinition
14000378 LpConstruct3PointPlane: Input list 2 does not have a GeometryDefinition
14000379 LpConstruct3PointPlane: Input list 3 does not have a GeometryDefinition
14000380 LpConstructPlaneVector: Input list must have at least 1 sublist to be evaluable
14000381 LpConstructPlaneVector: Input list must not have more than 1 sublist to be evaluable
14000382 LpConstructPlaneVector: Input list requires evaluation but is not evaluable
14000383 LpConstructPlaneVector: Input list is not a Vector type sublist
Chapter 11: Status Messages 2037
Introduction

14000384 LpConstructPlaneVector: Input list does not have a Geometry Definition


14000385 LpConstructVectorPlane: Input list must have at least 1 sublist to be evaluable
14000386 LpConstructVectorPlane: Input list must not have more than 1 sublist to be evaluable
14000387 LpConstructVectorPlane: Input list requires evaluation but is not evaluable
14000388 LpConstructVectorPlane: Input list is not a Plane type sublist
14000389 LpConstructVectorPlane: Input list does not have a Geometry Definition
14000390 LpEvalPlaneImmediate: Given more than 3 arguments to evaluate
14000391 LpEvalPlaneImmediate: Given less than 3 arguments to evaluate
14000392 LpEvalPlaneImmediate: Given bad arguments to evaluate
14000393 LpEvalId: Attempt to evaluate a plane immediate for its Id
14000394 LpEvalLabel: Attempt to evaluate a plane immediate for its Label

Graphics Manager Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from the
graphics manager functions.

15000000 Graphics Manager


15000001 A window with the given name is already in the database.
15000002 The window name is invalid.
15000003 The window location is out of range.
15000004 The window size is out of range.
15000005 An incorrect title was given for the window.
15000006 The specified window was not found in the database.
15000007 The window could not be created.
15000008 The window accessed was not a database window.
15000009 The widget ID is invalid.
15000010 The specified device driver exceeded the number of device driver types. The device
driver type was not created and is not available.
15000011 The specified device driver was not found by the graphics manager.
15000012 The specified size of the array exceeds the maximum.
15000013 The graphics table could not be created.
15000014 UNUSED
15000015 UNUSED
15000016 The specified table entry was not found in the database.
15000017 An error was returned from the database.
2038 PCL Reference Manual
Introduction

15000018 The specified viewport was not found in the database.


15000019 The specified group was not found in the database.
15000020 The specified view was not found in the database.
15000021 The specified light was not found in the database.
15000022 The specified display was not found in the database.
15000023 The specified instance was not found in the database.
15000024 The specified entity was not found in the database.
15000025 An error occurred during an operation on the graphics manager display list.
15000026 No more memory available.
15000027 The database name is invalid.
15000028 The viewport must be be posted to carry out this operation.
15000029 A database with the given name is already stored in the Gm.
15000030 The specified database was not found.
15000031 The Far Z-clipping plane is in front of the Near plane.
15000032 The View plane is in back of the observer.
15000033 A widget with the given id is already stored in the Gm.
15000034 The specified widget was not found.
15000035 A new pick list could not be created.
15000036 The maximum number of subselects per pick has been exceeded.
15000037 An incorrect sub-select type was specified.
15000038 No sub-selection has been set up. Operation cannot be completed.
15000039 An incorrect filter type was specified.
15000040 The specified lookup table id was not found in the database.
15000041 User Interface color not allocated. The color map is being used.
15000042 Not enough colors were allocated for shading.
15000043 The specified spectrum table id was not found in the database.
15000044 The specified range id was not found in the database.
15000045 The specified segment id is not in the range 0-15.
15000046 The specified segment id exceeded the maximum of 15 allowed. The segment was
not created.
15000047 The specified segment id was not found in the Gm display list.
15000048 No screen pick id was found at the given screen location.
15000049 Already in animation mode.
15000050 The specified viewport title was not found in the database.
Chapter 11: Status Messages 2039
Introduction

15000051 Unable to allocate %I% colors Lower the graphics colors setting in settings.pcl (but
not less than 52).
15000052 At least 52 colors are required for execution. Increase the value of the graphics
colors setting in settings.pcl.
15000053 This graphics device can only run in Full Color Mode. Refer to the hardware
configuration section of Installation and Operations Manual. Switching to Full Color
Mode.
15000054 This graphics device can only run in Index Color Mode. Refer to the hardware
configuration section of Installation and Operations Manual. Switching to Index
Color Mode.
15000055 Graphics device, %A%, not supported. Change the "graphics_device" setting in
settings.pcl to an acceptable graphics device. (Contact your Systems Manager for a
list of appropriate devices.)
15000076 Full color combined with hardware acceleration may cause unintuitive
interpolations. Either turn off the Continuous Color attribute of the Spectrum from
the Display Spectrums form, set Hardware Rendering off from the Graphics
Preferences form, or change the graphics_full color setting to "NO" in the
settings.pcl startup file.
15000077 The specified arbitrary clipping plane was not found in the database.
15000078 Clipping cannot occur in hardware mode on this platform. Switch to software mode
to clip.
15000079 The pick list is empty.
15000080 Automatic graphics updates are turned off. Update graphics manually with the
repaint icon.
15000081 Extracting %I% edges from %I% elements...
15000082 Extracting %I% faces from %I% elements...
15000083 Calculating the free edges...
15000084 Calculating the free faces...
15000085 Unable to initialize the hardware graphics device. Refer to the hardware
configuration section of the Installation and Operations Manual. Switching to the X
window graphics device.
15000086 Unable to initialize the X window graphics device.
15000087 Detected hardware graphics device which is unsupported. Refer to the hardware
configuration section of the Installation and Operations Manual. Switching to the X
window graphics device.
15000088 Hardware graphics devices are not supported running across the network. Refer to
the hardware configuration section of the Installation and Operations Manual.
Switching to the X window graphics device.
2040 PCL Reference Manual
Introduction

15000089 Unable to locate the hardware graphics device fonts. Refer to the hardware
configuration section of the Installation and Operations Manual. Switching to the X
window graphics device.
15000090
The changes you have made will take effect from the next session of Patran.
15000091 You have turned on visible entity picking. Preselection highlighting will be disabled
until visible entity picking is turned off.
15000092 OpenGL not supported on this device.
15000093 The X11 server extension for OpenGL (GLX) is required for OpenGL to run. Use
"xdpyinfo" or "xglinfo" (or "glxinfo" on SGI) to see the X11 server extensions on
the your display device.
15000094 The available hardware graphics driver initialized for use has been set to the %A%
graphics driver.
15000095 Current graphics driver type in use: %A%
15000100 Messages from MPEG encoder:
15000101 MPEG: %A%
15000102 MPEG encoder terminated.
15000103 Reached maximum number of frames specified (%I%). Terminating MPEG
encoding.
15100001 The option [%A%] was not found. Assigning the default value [%A%].
15100002 The option [%A%] was not found. This option is required.
15100003 The option [%A%] was found but is not set. Assigning the default value [%A%].
15100004 The option [%A%] was found but is not set. You must specify a value for this
option.
15100005 The value [%A%] specified for option [%A%] is not valid. The default value
[%A%] will be used.
15100006 The value [%A%] specified for option [%A%] is not valid. There is no default
value. Please correct it.
15100007 Illegal margin value [%A%] specified for [%A%]. This must be a positive real
number. Valid units are "inches", "cm", "mm", "pts" and "picas".
15100008 Illegal number of copies [%A%] requested. Value must be between [1] and [%A%].
The default value [1] will be used.
15100009 The margins [%A%, %A%, %A%, %A%] exceed eighty percent of the page width
or page height [%F.3%, %F.3%].
15100010 Badly formed keyword [%A%].
15100011 The plot's "Destination" was not specified.
15100012 Illegal "Line Weight" [%A%]. It must be at least 0.001 inch (about 1/16 pt) and no
greater than 0.25 inch (18 pts). Valid units are "inch", "cm", "mm", "pt" and "pica".
Chapter 11: Status Messages 2041
Introduction

15100013 Illegal "Text Scale" [%A%]. It must be at least 10%% and no greater than 1000%%.
You may optionally use "%%" or "percent". Also, you can suppress all text by
entering "None". Note that the base font size (e.g., node number) is 10 pts.
15100014 The "Background" and "Lines & Text" are both set to [%A%]. Change one of them
to [%A%].
15100015 The "One per Page" option is invalid when creating an EPS file.
15100016 Illegal "Scale Factor" [%A%]. This must be a positive real number.
15100017 Illegal "GCR" [%A%]. This value must be between 0%% and 100%%. Using the
default setting of [%A%].
15100018 The custom page size, [%A%] = [%A%] and [%A%] = [%A%] is incorrect. Zero
values are not allowed. Please correct it.
15100019 There were no Printers defined in the Printer Configuration File [%A%]. A default
printer will be created.
15100020 The Printer Configuration File [%A%] was not found. Default printers will be
created.
15100021 No Valid Printers were found in the Printer Configuration File [%A%]. A default
printer will be created.
15100022 The Printer [%A%] is repeated. Multiple occurences of Printers are ignored.
15100023 Undefined Driver [%A%] specified for Printer [%A%]. This Printer will be ignored.
15100024 The Option [%A%] specified for Printer [%A%] has been repeated. Multiple
occurences of Printer Options are ignored.
15100025 The Option [%A%] was found before any Printers were defined. It will be ignored.
15100026 Printer [%A%] was not assigned a Driver. This Printer will be ignored.
15100027 Unknown Option [%A%] found for Printer [%A%]. This Option will be ignored.
15100028 Attempting to create Printer [%A%] by cloning Printer [%A%]. But the Printer to
clone doesn't exist. This Printer will be ignored.
15100029 Printer [%A%] is cloned from Printer [%A%], but they have different Drivers.
Cloned printers must have the same Driver. Printer [%A%] will be ignored.
15100030 The Choice [%A%] assigned to Option [%A%] for Printer [%A%] is illegal. The
default [%A%] will be used.
15100031 Attempting to use the [%A%] feature for Option [%A%] on Printer [%A%]. This
feature cannot be used for this Option. The default [%A%] will be assigned instead.
15100032 The Default value [%A%] extracted from Choice [%A%] for Option [%A%] on
Printer [%A%] is illegal. The default [%A%] will be assigned.
15100033 The Value [%A%] extracted from Choice [%A%] for Option [%A%] on Printer
[%A%] is illegal. The default [%A%] will be assigned.
15100101 No Viewports or XY Windows were found.
15100102 Cannot open output file [%A%].
2042 PCL Reference Manual
Introduction

15100103 %A% file [%A%] complete.


15100104 %A% file spooled to device [%A%].
15100105 Spooling script [%A%] not found.
15100106 Error occurred spooling %A% file [%A%] to [%A%].
15100107 %A% file NOT spooled to device [%A%] per user request.
15101004 Hardcopy output completed.
15200001 No nodes were found in the model.
15200002 No elements were found in the model.
15200003 Entity index allocation error.
15300001 FEM entity create error.
15300002 Not implemented.
15300003 No database regions.
15300004 FEM entity allocation error.
15300005 No database materials.
15300006 FEM entity association stub.
15300007 FEM entity build error.
15300008 FEM entity extract error.
15300009 FEM entity boolean error.
15300010 FEM entity null object.
15400001 Allocation error.
15500001 The specified element scalar table does not exist.
15500002 An error has occurred while processing element scalar table results.
15500003 An error has occurred while processing element scalar table results.
15500004 An error has occurred while processing element scalar table results.
15500005 An error has occurred while processing element scalar table results.
15600001 Result Case error.
15600002 List error.
15600003 No results found.
15600004 Result set not current.
Chapter 11: Status Messages 2043
Introduction

Application Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from
application functions.

16000000 APP
16000001 Error code %I% occurred in %A%
16000002 Called from %A%
16000101 Unable to process list: "%A%"
16000102 Database error during List Processing: %A%
16000103 Entity %I% in list "%A%" is neither a geometric nor a FEM entity.
16000104 There are no recognizable items in list: "%A%"
16000105 A programming error has caused an invalid PCL symbol to be passed.
16000106 Element vertices and 3D element edges are not supported. The problem was detected
in list "%A%".
16000107 An unmeaningful element attribute, such as a beam face or edge, has been detected
in list: "%A%".
16000108 There are no recognizable entities in list: "%A%"
16000109 The dimensionality d must satisfy: 0<d<4
16000110 Unable to calculate coordinates for "%A%".
16000111 The dimensionality of the entity "%A%" is inconsistent with the desired output.
16000112 The input entity "%A%" is inconsistent with the desired output.
16000113 Unable to process input entity "%A%".
16000114 Multiple coordinate frames are specified in "%A%" where only one is needed.
16000115 Unable to process input entity "%A%". Check the history window for more
diagnostics.
16000201 Database error for item %I%: %A%
16000202 Error opening database %A%
16000301 Blank string encountered.
16000302 "%A%" does not contain enough arguments, looking for %I% arguments.
16000303 "%A%" has too many arguments, looking for %I% arguments.
16000304 "%A%" is not an integer.
16000305 "%A%" is not a real.
16000400 %I% is not a valid list processor type.
16000501 Unable to allocate %I% bytes of virtual memory.
2044 PCL Reference Manual
Introduction

List Manager Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from the list
manager functions.

17000000 LM
17001001 LM_INFO
17001002 The List Manager is not initialized.
17001003 Answer to your question is no.
17001004 Severity of the message %I% is unknown.
17001005 LM_LAST_INFO
17002001 LM_WARNING
17002002 Name %A% is too long.
17002003 Type id %I% is not registered.
17002004 The List Manager received an invalid pointer.
17002005 Item size %I% for item id %I% is invalid.
17002006 List Handle %I% is not valid.
17002007 From argument %I% is not valid in function "A".
17002008 Action argument %I% is not valid in function "A".
17002009 Attempted to access item off of list, lh = %I%.
17002010 Operation is not valid on empty list, lh = %I%.
17002011 Id %I% is not in list, lh = %I%.
17002012 Label %I% is not in list, lh = %I%.
17002013 Attempt to access unlabeled item by label %I%.
17002014 Item id %I% is not valid for type id %I%.
17002015 Label %I% is not valid for type id %I%.
17002016 Item is already labeled with %I% in list, lh = %I%.
17002017 Operation requires circular list, lh = %I%.
17002018 Operation not allowed for circular list, lh = %I%.
17002019 Name %A% is already used.
17002020 Name %A% is invalid.
17002021 Name %A% is not a registered list type.
17002022 Removed list type %I% had active item(s).
17002023 Removed list type %I% had active list handle(s).
17002024 Item size must be non-zero when registering a new type.
17002025 Granularity must be > 0 when registering a new type.
Chapter 11: Status Messages 2045
Introduction

17002026 List types are not the same: lh1 =%I% t_id=%I%, lh2=%I% t_id=%I%.
17002027 Offset %I% is not valid, lh = %I%.
17002028 Item (id) %I% is not in any lists.
17002029 Can't shut down the List Manager with active list handle(s).
17002030 Can't shut down the List Manager with active type(s).
17002031 Message code %I% does not belong to the List Manager.
17002034 LM_LAST_WARNING
17003001 LM_FATAL
17003002 LM_LAST_FATAL
17004001 LM_CRASH
17004002 Unable to initialize List Manager.
17004003 Undefined fatal List Manager failure.
17004004 Failure due to system memory failure.
17004005 LM_LAST_CRASH

ID Dispenser Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from the ID
dispenser functions.

18000000 IDD
18001001 IDD_INFO
18001002 The ID Dispenser is not initialized.
18001003 Answer to your question is no (from the IDD).
18001004 Severity of the message %I% is unknown.
18001005 IDD_LAST_INFO
18002001 IDD_WARNING
18002002 The ID Dispenser received an invalid pointer.
18002003 ID Dispenser received an invalid (NULL) pool name.
18002004 Pool name %A% is too long.
18002005 Pool name %A% is already used.
18002006 Message code %I% does not belong to the ID Dispenser.
18002007 Id %I% is already used.
18002008 Id %I% is not in use.
18002009 Name %A% is not a registered pool name.
2046 PCL Reference Manual
Introduction

18002010 ID Dispenser pool %I% does not exist


18002011 Can't shut down the Id Dispenser with active pool(s).
18002012 Id Dispenser pool, %I%, was not empty when it was removed.
18002013 %I% used ids were asked from Id Dispenser pool %I%, but it has only %I% used
ids.
18002014 IDD id %I% is not valid, must be > 0.
18002015 IDD_LAST_WARNING
18003001 IDD_FATAL
18003002 IDD_LAST_FATAL
18004001 IDD_CRASH
18004002 Undefined fatal ID Dispenser failure.
18004003 List Manager failed in ID Dispenser.
18004004 IDD_LAST_CRASH

Mesher Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from meshing
functions.

19000000 MSH
19001001 MSH_INFO
19001002 Boundary loop was split.
19001003 Pinch is recommended.
19001004 Can't make an element, since the interior of the boundary loop is a hole.
19001005 Mesher used existing node (id=%I%).
19001006 Mesher used existing edge (id=%I%).
19001007 Mesher used existing face (id=%I%).
19001008 Mesher forced state two.
19001009 Mesher called DoState.
19001010 Mesher detected an intersection.
19001011 Advancing current state is recommended.
19001012 Trying to create p-element mesh.
19001013 Trying to mesh in parametric space.
19001014 General paver failure.
19001015 MSH_LAST_INFO
19002001 MSH_WARNING
Chapter 11: Status Messages 2047
Introduction

19002002 Paver received an invalid world source.


19002003 Paver received an invalid control source.
19002004 This feature is not implemented.
19002005 This feature is not ready.
19002006 SGM failure in the paver.
19002007 No bodies found.
19002008 Non manifold surface received: not meshed.
19002009 Paver received an unknown body class.
19002010 Paver received an non-manifold surface.
19002011 Intersections are not yet ready.
19002012 No loops available for paving.
19002013 Boundary angle is too big.
19002014 Negative boundary angle encountered.
19002015 Paver received a boundary with odd number of edges.
19002016 Boundary angle error.
19002017 Both to merge are on permanent boundary.
19002018 Closing a paving boundary loop failed.
19002019 Paving boundaries are mixed.
19002020 Pinching for requested edges was prohibited.
19002021 Paver received a boundary with less than three edges.
19002022 Paver created an inverted loop.
19002023 Paver could not add a new edge because an inverted loop would result.
19002024 Intersection using new edge resolved.
19002025 Intersection using existing edge resolved.
19002026 Zero edge length found in crossing.
19002027 MSH_LAST_WARNING
19003001 MSH_FATAL
19003002 Failed to make next edge in mesh.
19003003 Failed to resolve edge crossings.
19003004 Failed on abort signal from client.
19003005 Paver received zero surface normal.
19003006 Paver found zero angle on a permanent paving boundary edge.
19003007 Meshing boundary is not closed near edge between nodes %I% %I%.
19003008 Edge between nodes %I% and %I% is shared by more than two elements.
2048 PCL Reference Manual
Introduction

19003009 Elements sharing edge between nodes %I% %I% have inconsistent normals.
19003010 %A% has negative volume. Use Fem-Verify-Normals to make sure all Tria element
normals point out of the solid.
19003011 Circular edge has only one node.
19003012 Paver lost boundary information.
19003013 A meshing boundary self-intersection occurs near nodes %I% %I% %I% %I%
%I% %I%.
19003014 MSH_LAST_FATAL
19003015 Geometry has intersecting loops. Modify geometry and try again.
19004001 MSH_CRASH
19004002 Unknown fatal failure in the paver.
19004003 Fatal List Manager error in the paver.
19004004 Fatal ID Dispenser error in the paver.
19004005 Fatal Vector error in the paver.
19004006 Fatal Matrix error in the paver.
19004007 Fatal MFE error in the paver.
19004008 Fatal Topology Engine error in the paver.
19004009 Fatal Range Tree error in the paver.
19004010 MSH_LAST_CRASH
19011001 MSH_REMESH_INFO
19011002 Nothing to remesh.
19011003 MSH_REMESH_LAST_INFO
19012001 MSH_REMESH_WARNING
19012002 This remeshing feature is not implemented.
19012003 This remeshing feature is not ready.
19012004 MSH_REMESH_LAST_WARNING
19013001 MSH_REMESH_FATAL
19013002 Failed on abort signal from client.
19013003 Input to remeshing is invalid.
19013004 MSH_REMESH_LAST_FATAL
19014001 MSH_REMESH_CRASH
19014002 Unknown fatal failure while remeshing.
19014003 Fatal List Manager error while remeshing.
19014004 Fatal Vector error while remeshing.
Chapter 11: Status Messages 2049
Introduction

19014005 Fatal Matrix error while remeshing.


19014006 Fatal MFE error while remeshing.
19014007 Fatal Topology Engine error while remeshing.
19014008 Fatal Meshing error while remeshing.
19014009 Fatal Cleanup error while remeshing.
19014010 Fatal Smoothing error while remeshing.
19014011 Fatal Standalone Graphics error while remeshing.
19014012 MSH_REMESH_LAST_CRASH
19021001 MSH_FIXMESH_INFO
19021002 Nothing to fixmesh.
19021003 MSH_FIXMESH_LAST_INFO
19022001 MSH_FIXMESH_WARNING
19022002 This fixmesh feature is not implemented.
19022003 This fixmesh feature is not ready.
19022004 MSH_FIXMESH_LAST_WARNING
19023001 MSH_FIXMESH_FATAL
19023002 Failed on abort signal from client.
19023003 Input to fixmesh is invalid.
19023004 MSH_FIXMESH_LAST_FATAL
19024001 MSH_FIXMESH_CRASH
19024002 Unknown fatal failure while fixing mesh.
19024003 Fatal List Manager error while fixing mesh.
19024004 Fatal Vector error while fixing mesh.
19024005 Fatal Matrix error while fixing mesh.
19024006 Fatal MFE error while fixing mesh.
19024007 Fatal Topology Engine error while fixing mesh.
19024008 Fatal Meshing error while fixing mesh.
19024009 Fatal Cleanup error while fixing mesh.
19024010 Fatal Smoothing error while fixing mesh.
19024011 Fatal Standalone Graphics error while fixing mesh.
19024012 Fatal ID Dispenser error while fixing mesh.
19024013 MSH_FIXMESH_LAST_CRASH
2050 PCL Reference Manual
Introduction

IGES Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from IGES
functions. This group of status conditions is not used.

20000000 SGM_IGES
20000001 Change this message.(IGES)

Unigraphics Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from
Unigraphics interface functions.

21000000 SGM_UG
21000001
Cannot open this database with standard Patran. Quit Patran and use p3.ug.
21010000 Failure occurred in Unigraphics routine %A%.
21010001 Successful execution of Unigraphics routine.
21010002 Unigraphics reports error opening file %A%. Check part file, Path name, Version
number and check run-time environment variables and/or support files.
21010003 Unable to read Unigraphics model %A%.
21010004 Unable to locate Unigraphics model %A%.
21010005 Unigraphics filename error. Filename is %A%.
21010006 Invalid Unigraphics model type %A%.
21010007 A Unigraphics memory allocation error occurred. Unable to allocate memory.
21010008 A Unigraphics solid face error.
21010009 An error occurred while closing the model. Filename = %A%.
21010010 Unable to get number of connected entities.
21010011 Unable to get connected entities.
21010012 No connected entities found with world.
21010013 Unable to get number of trim curve knots.
21010014 Unable to get trim curve knots.
21010015 Unable to get UV parameter from trim curve.
21010016 Unable to write Unigraphics Surface data to database.
21010020 Unigraphics input entity ID error. ID is %I%.
21010021 Unigraphics input entity type error. Type is %I%.
21010022 Unigraphics output entity type error. Type is %I%.
21010023 A Unigraphics number error occurred.
Chapter 11: Status Messages 2051
Introduction

21010024 A Unigraphics list ID error occurred. List ID is %I%.


21010025 A Unigraphics blob size error occurred.
21010026 A Unigraphics input point error occurred.
21010027 A Unigraphics output flag error occurred. Output flag is %I%.
21010028 Number of Unigraphics Solid Entities found: %I%
21010029 Unigraphics Parent Surface Not Closed.
21010030 Skipping a Unigraphics trimmed surface due to incomplete boundary definition.
21010031 Processing %I% Unigraphics surface(s)
21010032 Opening UNIGRAPHICS database %A%
21010033 Unigraphics Curve(s) found. Currently under development.
21010034 Check geometry next to surface %I%.
21010035
Unigraphics database %A% already referenced. Open a new Patran database to access
another part.
21010036 Processing %I% Unigraphics curve(s)
21010037 Reference to Unigraphics entities initialized
21010038 Completed UNIGRAPHICS database ( %A% ) access
21010039 Number of solids found: %I%
21010040 Number of surfaces found: %I%
21010050 Processing %I% Unigraphics Solid Face(s)
21010051 Unigraphics entity %I% has been edited since last access
21010052 Multiple Unigraphics Solids found. Unigraphics access is limited to single solid access
per session. Merge Solids in Unigraphics into one solid before access.
21010053 Edge Mismatch error processing Solid Entity.
21010060 Missing one or more environment variables. The following MUST be set according to
guidelines given in installation notes: OPENWINHOME (SUN4 ONLY),
LD_LIBRARY_PATH(SUN4 ONLY), UGII_ROOT_DIR, UGII_FILE_SYSTEM,
UGII_BASE_DIR, UGII_USERFCN, UGII_UGSOLIDS, UGII_SCHEMA,
UGII_TERMMOD, UGII_06_FILE, UGII_10_FILE, UGII_CAM, UGII_UGCNCPT.
21010061 Unigraphics part file name length exceeds 40 characters. File Access may abort.
Specify a shorter name including entire path.
21010062 Error writing AutoTetMesher transmit file. Should have write permission to current
directory and/or $HOME directory. Change permission and reaccess CAD Model. If a
transmit file exists already, this warning can be ignored.
21010070 Scanning for entities in layer number %I%
21010071 Processing entities in work layer
21010072 Scanning for curve entities in layer number %I%
2052 PCL Reference Manual
Introduction

21010073 Scanning for surface entities in layer number %I%


21010074 Scanning for solid entities in layer number %I%
21010080 Failed to reopen part file: %A%. Enter a part file name with path:
21010081 Unable to process new entities added to the part file since last access. Only the existing
entities will be processed in this session.
21010082 Unable to get solid extents for Unigraphics solid %I%
21010090 Bounding Box for solid %I%: xmin= %G%, ymin= %G%, zmin= %G%, xmax=
%G%, ymax= %G%,zmax= %G%
21010091 Unigraphics Part File Version Number: %A%
21010200 Unigraphics part name has not been entered. Do you really want to cancel file open
operation and shutdown Patran process ?
21010300 No geometry imported according to the filter set.
21010301 Cannot extract Parasolid transmit file from %A%.
21010302 Import failed because cannot find part %A%. Please re-enter a valid Unigraphics part.
21010303
Regeneration failed because Patran cannot reopen the part %A%. This part might have
been moved. Please re-enter the Unigraphics part with its valid path.
21010304 Regeneration failed because Unigraphics cannot suppress the requested features.
21010305 Regeneration failed because Unigraphics cannot unsuppress the requested features.
21010306 Regeneration failed because Unigraphics cannot edit the requested parameter to the
new value.
21010307 Regeneration failed because Unigraphics cannot update the model.
21010308 Cannot open file to store feature information. No features are written out. Please
verify that the working directory has write permission.
21010309 Model regeneration was disallowed because the Unigraphics part %A% is not
synchronized with the current model version and feature state within Patran. To make
this and further updates on the model, would you like to synchronize the Unigraphics
part?
21010310
Cannot connect to the Patran UG server. Please contact your UNIX System
Administrator to check your machine configuration. Unigraphics Access aborted.
21010311
Cannot connect to the Patran UG server. Please be sure that the Portmap Service is
running or contact your NT System Administrator. Unigraphics Access aborted.
Chapter 11: Status Messages 2053
Introduction

21010312 Importing Unigraphics Features will require that the Unigraphics part file be modified
to reflect the changes made in Patran. Therefore a copy of the part is made to %A%
prior to import. Please do not remove or modify this copy in any way, as subsequent
model updates are dependent on the undisturbed copy. This copy will not work with
any other Patran databases.
21010313 This database already contains features. Additional features can only be imported into
a new Patran database.
21010314 Warning, the Unigraphics part, %A%, already exists in the model. You may re-import
%A% and regenerate the model again. PLEASE NOTE that you lose your feature
parameter edits up to this point if you do a re-import. Suppression state will be
preserved, however. Note, also, that the options flags in effect during the initial import
will be used in the re-import of the model. Do you want to re-import the latest version
of the model?
21010315 Errors during the regeneration of the imported Unigraphics model have resulted in the
original model being deleted and fully replaced with the new version. Any meshes and
LBCs on the original model will have been deleted as well. Do you want to continue
the regeneration process (YES to Continue, NO to Abort)?
21010316 At least one component must be selected, otherwise select the Cancel Button.
21010317 There are no attributes in this Unigraphics part to import.
21010318 The Unigraphics part is not an assembly model, therefore, "Preview Occurrences"
import option was not applicable.
21010319 The Unigraphics model was unable to be updated with the feature suppression states
and parameter values in this database. Do you want to clear all feature suppression
states and parameter changes made since the last successful regeneration?
21010320 Reimport of Unigraphics Assemblies is not supported in this release.
21010321
Import of attributes for an assembly model is not supported in this release of Patran.
21010323
Patran does not support the import/reimport/update of a Unigraphics model which

results in the transfer from Unigraphics to Patran of no geometric entities.


21010324 No geometry imported. This may be due to 1) an empty part, 2) the current import filter
settings or 3) the default UG reference set of the part not having geometry in the
selected occurrences.
21010325 The named part may not be imported at this time. Either a parasolid transmit file or
another Unigraphics part of the same name has been imported into the model.
21010326 The named part may not be imported at this time. A Cad Model entity was not able to
be created for the part. This probably means that either a parasolid transmit file or
another Unigraphics part of the same name has been imported into the model.
2054 PCL Reference Manual
Introduction

21010327 Multiple instances found; only the first instance will be loaded. The assembly must be
flattened before it could be fully imported into Patran.
21010328
Unigraphics Geometry was not imported because a "Patran Unigraphics Access"
license is not enabled. Please contact your MSC.Software representative for details on
how to enable this functionality.
21010329
Unigraphics Features cannot be accessed because the number of "Patran Unigraphics
Feature Access" licenses has been exceeded. Please contact your MSC.Software
representative for details.
21010330 Update was unable to create a new database entry for the CAD model. The update
operation will be UNDONE.
21010331 Cannot copy Unigraphics part to %A%. Please check for available disk space and
proper user permission. As a result, no features will be imported.
21010350 An invalid solid has been generated during the update, most likely due to undefined
Unigraphics model behavior.
21010351 The Unigraphics model was unable to be updated with the feature suppression states
and parameter values in this database. All feature suppression states and parameter
changes made since the last successful regeneration will be cleared.
21010352 Nodes and/or elements not associated to Unigraphics geometry have been retained and
are unaffected by update.
21010353 Feature parameters have been modified. Either the model must be updated or the
parameter modifications will be cleared. Do you wish to perform the update?
21010354 The parameter definition in the data box was never fully entered. Do you wish to
overwrite the parameter named %A%, currently assigned the definition %A%, with the
data box definition %A%?
21010355 All loads and boundary conditions were preserved during this update.
21010356 There were %I% load/boundary condition sets which had some of their associations
deleted. Those sets are: %A%
21011001 Parasolid part %A% already loaded. Cannot load the part again.
21011002 Update functionality not available in this version.
21011003 Illegal or reserved file name. Cannot import transmit file using this name.
21011004 Cannot convert %A% to a trimmed surface. The surface has bad topology or geometry.
21011005 Parasolid error detected in evaluation. Please report this fault.
21011006 UG took special actions to convert some UG bodies at import time. These bodies were
excluded from sewing and a Patran group, %A%, is created to hold these bodies. It
might be best to refit these bodies.
Chapter 11: Status Messages 2055
Introduction

21011007
Invalid bodies were generated as a result of UG sewing. A Patran group, %A%, is
created to hold these bodies. As there is no guarantee that entities in this group will
work with any applications, we strongly recommend you first commit/save the Patran
database and then reconstruct these bodies if possible.
21011100 An error has occurred during update. The original model and CAE data has been
deleted and the new version has been imported.
21011101
A change has been detected in the geometry and topology. This will cause Patran to
eliminate or modify meshes or loads on the highlighted entities. Do you want to
continue?
21011102
If the feature update process continues, Patran geometry associated to the UG model
will be deleted. Do you want to continue?
21011103 The geometry selected to edit is part of a Unigraphics or Parasolid model. If the edit
operation continues and later features or feature parameter editing is attempted, the
associated geometry and CAE data will be deleted. Do you want to continue?
21011104 The geometry selected to edit is part of a Unigraphics part %A%. If the edit operation
continues and later feature or parameter editing is attempted, the associated geometry
and CAE data will be deleted. Do you want to continue?
21011105 A geometric modeling operation has occurred that will cause associated geometry and
CAE data to be deleted should the update continue. Do you want to continue with the
update?
21011106 A geometric modeling operation has occurred that will cause associated geometry and
CAE data to be deleted should the update for the Unigraphics part %A% continue. Do
you want to continue with the update?
21011120
Patran detected a difference between the model unit embedded in the transmit file and
the unit as selected in the transmit file import options form. The model unit of %F%,
which you supplied, will override the embedded unit of %F%.
21011121 The Parasolid transmit file does not have an embedded model unit, and the default
import option is set to "no model unit override." Therefore, Patran will use the default
model unit of meters.
21011122 The model is invalid or contains features not supported.
2056 PCL Reference Manual
Introduction

Session File Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors associated with
session files.

22000000 SF
22000001 Error committing record file %A%
22000002 Error opening file %A%
22000003 Error processing play file
22000004 Non ascii data read from play file
22000005 Error processing record file %A%
22000006 Session file %A% started playing (level %I%)
22000007 Session file stopped playing (level %I%)
22000008 Session file %A% started recording at %A%
22000009 Session file %A% stopped recording at %A%
22000010 Record to file
22000011 Play from file
22000012 Recording file
22000013 Playing file
22000014 Stopped file
22000015 Stop
22000016 Resume
22000017 Error in dynamic memory allocation
22000018 PCL command in session file not properly terminated
22000019 Recorded by: %A% %A%
22000020 Session file nesting limit exceeded

Command Line Interface Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors associated with
the command line interface.

23000000 CLI
23000001 Maximum of 1024 aliases allowed. You must delete existing aliases before add new
ones.
23000002 Error in allocating memory for alias.
23000003 Alias error during parsing of token %A%.
Chapter 11: Status Messages 2057
Introduction

23000004 Alias command cannot be aliased.


23000005 Unbalanced quotes in command. Command aborted.
23000006 Alias for %A% does not exist.
23000007 Alias for %A% added.
23000008 %A% - 1 alias substituted.
23000009 %A% - %I% aliases substituted.
23000010 Alias for %A% = %A%
23000011 Alias for %A% deleted.

NOODL Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
used to process NOODL commands. The acronym NOODL is derived from the phrase (N)ame, (O)utput
list, (O)ption, (D)ata, (L)ist and is as a memory tool for the proper input format for Patran directives. See

the Patran User Manual Volume 1 under “PATRAN INPUT CONVENTIONS” for more information.

24000000 NOODL
24000001 Attempting to translate NOODL
24000002 NOODL not supported : %A%
24000003 %A% - DATA/LIST directive processed
24000004 NOODL not recognized : %A%
24000005 NOODL requires more data : %A%
24000006 Illegal surface or edge number specified : %A%
24000007 Must specify number of lines : %A%
24000008 Must specify 2 points : %A%
24000009 Missing DATA or LIST number : %A%
24000010 Error in memory allocation : %A%
24000011 Illegal character in DATA or LIST : %A%
24000012 Illegal character in SET value : %A%
24000013 SET or SHOW parameter not supported : %A%
24000014 Must supply angle(s) : %A%
24000015 Glide option 2 no longer supported : %A%
24000016 Must supply director entities : %A%
24000017 Must supply base entities : %A%
24000018 Must supply a thickness : %A%
2058 PCL Reference Manual
Introduction

24000019 Undeclared DATA or LIST specified : %A%


24000020 NOODL not implemented : %A%
24000021 NOODL %A%,%A% not supported : %A%

Neutral File Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
used to work with neutral files.

25000000 NEUTOLD
25000001 Virtual memory allocation error in %A% routine.
25000005 Analysis preference is not set. Only Phase 1 related quantities will be considered for
import.
25000010
25000020 Do you want the Neutral File printed to the terminal as it is being read?
25000030 %A%. Error string is %A% in column %I%. Format is %A%.
25000040 Unexpected end of data in Packet Number %I%. Select: 1) YES to continue processing
the packets read thus far. 2) NO or ABORT to stop:
25000050 File Summary Information is: %A%, %A%. Do you wish to continue?
25000051
Import of neutral file completed. Should this be committed to the Patran database?
25000052 Importing Packet %A% is not currently supported. Select: 1) OK to skip and continue.
2) ABORT to stop:
25000054 Importing Packet %A% is not currently supported. Select: 1) OK to skip and continue.
2) ABORT to stop:
25000056 In routine %A%, item %A% for I = %I% was not found.
25000058 Import of neutral file failed or aborted. Please use the UNDO button if you want to
remove any items which were imported prior to the failure/abort.
25000060 Nonstandard Packet # %I% encountered. Do you wish to skip this packet and continue?
25000070 Neutral file reading completed successfully.
25000080 Loading Neutral file data into Memory ...
25000090 Writing %I% %A% to database...
25000092 Associating properties to elements...
25000095 %I% Packet %I%%A%.
25000105 Node ID %I% already exists. Do you wish to overwrite?
25000107 Node %I% cannot be deleted since it is referenced by elements. Suggest using DEFINE
OFFSETS... option if possible. Select 1) OK or 2) ABORT:
Chapter 11: Status Messages 2059
Introduction

25000108 Warning: Multiple definitions for Node ID %I% were found in Neutral File. Second
entry will be renumbered. Check any references to these nodes.
25000109 Node %I% has an unresolved reference to CID %I%. The CID and RCID have been set
to 0, which means that this node is now referring to the global system.
25000202 Error: Element %I% not found in database. Do you wish to continue?
25000205 Element ID %I% already exists. Do you wish to overwrite?
25000206 Error: Element ID offset is defined as %A%. However no elements were read in the
current cycle. This can result in ID mismatch, and is not permitted. Recommended
actions: 1) Select OK or ABORT. 2) Set Element ID offset to blank (or zero). 3) Re-
import the file.
25000207 Warning: Multiple definitions for Element ID %I% were found in Neutral File. Second
entry will be renumbered. Check any references to these elements.
25000208 You are reading the ELEMENT packet without reading the NODE packet. Great care
should be taken when using the "Define Offsets..." option to make sure that node
referential integrity is not violated.
25000210 Element nodes missing. Checking missing ID's.
25000215 Error: Invalid Shape Code %I% for Element %I%.
25000220 Element %I%, missing corner node %I%.
25000225 Element %I%, missing internal node %I%.
25000227 Node %I% for element %I% required for computing material orientations was not found
in current database.
25000230 No Geometry found for Element %I%.
25000250 Error for Element ID %I%. No element topology code defined for Element Shape %I%,
and #of Nodes %I%.
25000260 Error in %A%: No element topology code defined for Element Shape %I%, and #of
Nodes %I%.
25000270 Error in routine "%A%": Status "%I%" returned from STRING_TO_INTEGER for
"%A%".
25000310 Error in %A% routine. Parameter %A% has a value of %I%.
25000320 Error: No associate data values found for Material ID %I%. Do you wish to skip and
continue?
25000330 PATRAN 2.5 HAL, MIX, and SFC materials are being mapped to either anisotropic,
orthotropic, 2D anisotropic, or 2D orthotropic NON-composites, depending on the
nature of the material. They are not treated as composites because the PATRAN 2.5
neutral file contains no composite construction data for HAL, MIX, and SFC materials.
Laminated composites, however, ARE mapped as composites. Select OK to continue.
25000335 PATRAN 2.5 Ply Material ID %I% was not found. Do you wish to create it as isotropic?
(Note that Auto ID offsets cannot be applied in this case):
2060 PCL Reference Manual
Introduction

25000340 Material %A% already exists. Do you wish to modify it?


25000350 Error in %A%: Invalid PATRAN 2.5 Material Type = %I%. Select ABORT.
25000360 A linear elastic constitutive model will be created for non-composite material "%A%".
25000370 Material %A% was %A% on input. It has been found to be %A% and has been loaded
as such.
25000371 Composite material %A% was %A% on input. It has been found to be %A% and has
been loaded as a non-composite %A% material.
25000372 Laminated composite material %A% has been found to be %A% and has been loaded
as a laminated %A% composite material. All of the membrane, bending, and coupling
stiffness matrices ([A], [D], and [B]) have been retained.
25000401 No element type with a configuration code of <%I%> was found for property set
<%A%>. An element type with a configuration code of "0" will be used instead.
25000402 %I% element properties imported for property set <%A%> may not be allowed in the
database. CHECK all properties created for this set.
25000403 %I% element properties were not imported for element property set <%A%>.
25000404 The following %I% element properties for set <%A%> were not imported and are
REQUIRED: %A%%A%%A%%A%%A%%A%%A%%A%
25000406 No element type could be found for element property set <%A%>.
25000407 Error writing orientation data for property set %A%.
25000408 Error writing material orientation data for property set %A%.
25000410 No elements read in neutral file, reference PATRAN 2.5 Property Id "%I%".
25000420 Property region "%A%" already exists. Do you wish to overwrite it? If you do not want
the elements to be added to the existing application region, abort and offset the element
property ids.
25000430 PATRAN 2.5 Material Id %I% found in Element Property packet was either missing or
not read in. Since it is required, it will be created (with Id offset if applicable).
25000440 Is this an axisymmetric model? (This is only used to determine certain element types
and does not effect future analyses.)
25000441 Is this an 2D thermal model? (This is only used to determine certain element types and
does not effect future analyses.)
25000510 Error in NEUTOLD_CRD_FRM. Select ABORT.
25000520 A coordinate frame definition in a Named Component can not be included in a Group
definition.
25000530 In routine %A%, match for Coord Frame %I% was not found.
25000540 Loadset %I% for Lbc Type %A% already exists. Do you wish to overwrite?
25000545 Duplicate lbc found in Packet %I% on Node %I% is being ignored.
25000550 Error in LBC packet number. Packet Number is %I%.
Chapter 11: Status Messages 2061
Introduction

25000555 Error in %A% routine. Parameter %A% has a value of %I%.


25000560 Error in %A%. Value of ETYP = %I%. Value of NBITS = %A%.
25000570 Error in %A%. Matching lbc string not found. Subscript I = %I%.
25000580 Attempt to create lbc on EDGE %I% of a SOLID (Element ID %I% -- a %A%) in Set
ID %I%. This is not supported in the current version. Do you wish to skip and continue?
25000590 Error in LBC_ID_TYP parameter. Value = %A%. Please select ABORT:
25000610 For variable loads, since field functionality is not available in the current version, the
loads will be averaged and applied to the respective nodes. Select: 1) OK to proceed;
or, 2) ABORT to discontinue run:
25001010 Duplicate Nodal Temperature %F.2% found on Node Id %I% within same PATRAN
2.5 Loadset is being skipped.
25001011 Duplicate Nodal Heat Source %F.2% found on Node Id %I% within same PATRAN 2.5
Loadset is being skipped.
25001012 Duplicate Nodal Force <%F.2% %F.2% %F.2%> found on Node Id %I% within same
PATRAN 2.5 Loadset is being skipped.
25001013 Duplicate Nodal Displacement <%F.2% %F.2% %F.2%> found on Node Id %I%
within same PATRAN 2.5 Loadset is being skipped.
25001401 More than One Sub-Mpc exists which is not supported by routine PGMPC.
25001410 Mpc packet is not supported in the current release. Select: OK to ignore and continue.
2) ABORT to terminate processing:
25002110 Named Component name %A% already exists in the database. Therefore, this group is
being named %A%.
25002120 In Named Component %A%, Entity %A% #%I% is missing from the neutral file.
25002130 In Named Component %A%, an "NTYPE" of %I% found is being ignored.
25003010 Error in Geometry Type = %I% at I = %I%.
25003020 %A% %I% referenced in CFEG table was not found.
25004300 Unmatched mesh found on Line (curve) %I%. Associations between nodes and this
curve will be lost.
25004350 Unmatched mesh found on edge %I% of Patch (surface) %I%. Associations between
nodes and this edge will be lost.
25004400 Unmatched mesh found on edge %I% of Hpat (solid) %I%. Associations between nodes
and this edge will be lost.
25004450 Unmatched mesh found.
25004460 %A% %I% was not found in neutral file. This GFEG record is being skipped.
25004470 Mesh exists for %A% %I%.
25005100 Error in %A%. %A% = %I%. %A% = %I%.
2062 PCL Reference Manual
Introduction

25006000
User Function Id's are supported only for the Patran Thermal Preference. Check that the

Preference is set to Patran Thermal. Select: 1) OK to ignore and continue. 2) ABORT to


terminate processing:
25010000 Error: Attempt to %A% %A% which is in use. Select: 1) YES to skip and continue. 2)
NO or ABORT to terminate processing:
25100001 Error Reading TYPE for LABEL %A%, TYPE %A%.
25100002 Error reading COLUMN for LABEL %A%, COLUMNS %6I%
25100003 Error reading PRIMARY LABEL for LABEL %A%, PRIMARYLABEL %A%.
25100004 Error reading SECONDARY LABEL for LABEL %A%, SECONDARY LABEL
%A%.
25100005 Error reading CTYPE for LABEL %A%, CSYSTYP %A%
25100006 Memory Allocation Error in RESOLD_BUILD_TRANS_TABLES
25100007 Error opening PATRAN 2 Results File %A%
25100008 Error reading PATRAN 2 Results File %A%
25100009 Error Creating Load Case %A% from PATRAN 2 Results File.
25100010 Error Creating Sub Case %A% from PATRAN 2 Results File.
25100011 Error Loading PATRAN 2 Results from PATRAN 2 Results File %A%.
25100012 Error reading KEYLOC for LABEL %A% and KEY_LOC %I%
25100013 Unable to open PATRAN 2 Results Template File %A%
25100014 Error Creating Element Positions from PATRAN 2 Results Import.
25100015 Unable to determine element shape for Element ID %I%
25100016 Import of PATRAN 2 Results Files Aborted due to error.
25100017 Unexpected End of File encountered reading file PATRAN 2 results file %A%.
25100018 An unknown Result type %A% was entered in the Template file.
25100019 No results were found for %A%, %A%. No results type created in database.
25100020 No results were found for %A%, %A% for key %I%. No results type created in
database.
25200000 File Import
25200001 Error %I% reading MSC Nastran BDF in DDLLOC
25200002 Error %I% reading MSC Nastran BDF in OBJOPN
25200003 Error %I% reading MSC Nastran BDF in DDLLTM
25200004 Error %I% reading MSC Nastran BDF in OBJINF
25200005 Error %I% reading MSC Nastran BDF in DDLGFL
25200080 TAG DEBUG - Entering bdfimp_read_msc.
Chapter 11: Status Messages 2063
Introduction

25200081 TAG DEBUG - Entering bdfimp_read_coord.


25200082 TAG DEBUG - Entering bdfimp_read_node.
25200083 TAG DEBUG - Entering bdfimp_read_elem.
25200084 TAG DEBUG - Entering bdfimp_read_matl.
25200085 TAG DEBUG - Entering bdfimp_read_prop.
25200086 TAG DEBUG - Entering bdfimp_read_mpc.
25200087 TAG DEBUG - Entering bdfimp_read_lbc.
25200088 TAG DEBUG - Entering bdfimp_read_lc.
25200089 TAG DEBUG - Entering bdfimp_read_close.
25200090 TAG DEBUG - Entering bdfimp_read_return.
25200100 Error %I% while creating summary relation.
25200101 Error %I% while creating summary index.
25200200 Error %I% while creating coordinate frame relation.
25200201 Error %I% while creating coordinate frame index.
25200202 Error %I% while creating coordinate frame cross reference.
25200203 Error %I% while creating coordinate frame cross reference old ID index.
25200204 Error %I% while creating coordinate frame cross reference new ID index.
25200210 Coordinate frame %I% is a duplicate, it will be ignored.
25200211 Coordinate frame %I% overwritten with new definition.
25200212 Coordinate frame %I% ignored due to conflict in file.
25200213 Coordinate frame %I% renumbered to %I% to resolve a conflict.
25200220 Coordinate frame %I% conflicts with a coordinate frame ID previously in this database.
Do you wish to have the ID of this new frame offset?
25200221 Coordinate frame %I% conflicts with a coordinate frame ID previously found in this
file. Do you wish to have the ID of this new frame offset?
25200222 Do you wish to save the NEW definition for coordinate frame %I% and throw out the
old one?
25200299 Error importing coordinate frame %I%.
25200400 A MSC Nastran bulk data file must be specified. Please return to the "Select Input File"
form and select a file.
2064 PCL Reference Manual
Introduction

Loads and Boundary Conditions Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
used to manipulate loads and boundary conditions.

26000000 LOADS_BCS
26001010 Load/BC Definition "%A%" does not exist.
26001020 There are no Loads/BCs definitions in the database.
26001021 Unable to retrieve analysis preference information from the database.
26002010 Load/BC Name is "blank". Input a Load/BC Name.
26002011 Load/BC Name "%A%" is too long. Input 32 characters or less.
26002020 Load/BC "%A%" already exists. Do you wish to overwrite?
26002030 "%A%" already exists. Modify not permitted.
26002031 %I% Load/BCs Displacement set(s) exist which have different Analysis Coordinate
Systems. This may result in erroneous analysis results.
26002100 Application Region List is "blank".
26002110 The Application Region databox contains some data. Do you wish to add it to the
Application Region List before continuing?
26002120 "%A%" is an invalid select databox type for the selected Load/BC definition.
26002121 "%I%" is an invalid number of application regions for the specified Load/BC definition.
26002122 "%I%" is an invalid application region id for the specified Load/BC definition.
26002123 Only %I%D elements are allowed. Elements of the wrong dimensionality are included
in the following list: "%A%".
26002130 Element faces are not allowed in the Application Region.
26002131 Element edges are not allowed in the Application Region.
26002132 Element vertices are not allowed in the Application Region.
26002133 The Application Region list "%A%" contains invalid entity types.
26002134 The list "%A%" contains FEM or unknown GEOmetric entities. All the entities in the
application region(s) must be GEOmetric.
26002135 The list "%A%" contains GEOmetric or unknown FEM entities. All the entities in the
application region(s) must be FEM.
26002136 "%A%" is an invalid Geometry Filter. Must be "Geometry" or "FEM".
26002137 Both surfaces and surface edges are not allowed. Select one or the other.
26002138 Both elements and element edges are not allowed. Select one or the other.
26002139 Unable to add the SelectDatabox contents to the Application Region Textbox.
26002140 Unable to remove the SelectDatabox contents from the Application Region Textbox.
26002141 The list "%A%" contains invalid entity type(s).
Chapter 11: Status Messages 2065
Introduction

26002142 "%A%" does not exist. Do you wish to continue?


26002143 None of the entities in the following list "%A%" exist.
26002144 The application region for Load/BC Set "%A%" is empty.
26002145 Unable to process the following list "%A%".
26002200 There was no data input for this Load/BC Set.
26002201 "%I%" is an invalid number of input data fields for the specified Load/BC definition.
26002202 "%I%" is an invalid variable id for the specified Load/BC definition.
26002203 Edge Data was ignored for this Load/BC set.
26002204 Top Surface Data was ignored for this Load/BC set.
26002205 No Coordinate Frame chosen. Select one.
26002206 The data for Data Variable %I% on the "Input Data" form will be ignored because the
spatial databox is blank. Do you wish to continue?
26002207 Surface Data was ignored for this Load/BC set.
26002210 Only one coordinate system is allowed. %I% coordinate systems were input.
26002215 Coordinate Frame List %A% is invalid.
26002216 Load/BC set "%A%" is assigned to FEM entities. No further evaluation is required.
26002217 There are no FEM entities associated to geometric entities in Load/BC set "%A%".
26002218 Evaluating Load/BC set "%A%" at associated FEM entities.
26002219 Load/BC set "%A%" evaluated at associated FEM entities.
26002220 Evaluation of Loads/BCs for element edge associativity not supported YET.
26002221 Bottom Surface Data was ignored for this Load/BC set.
26002222 Top and Bottom Surface Data were ignored for this Load/BC set.
26002223 The analysis coordinate system of nodes associated with Load/BC set "%A%" have
been changed to "Coord %I%".
26002224 All the values are null. Check the field(s) and the application region.
26002225 The Vector pointing from master to slave surface must be defined.
26002226 The Reference Node must be defined.
26002227 The Selected Curves are not contiguous or are overlapping or are branching. Reselect
the valid curves.
26002228 The application region is blank.
26002229 The friction coefficient cannot be negative.
26002230 The stiffness scaling factor (SFAC) cannot be negative.
26002231 The stiffness in stick (FSTIF) cannot be negative.
26002232 The slideline width (W1) cannot be negative.
26002233 The normal contact stiffness (KN) must be greater than 0.0.
2066 PCL Reference Manual
Introduction

26002234 The sticking contact stiffness (KT) cannot be negative.


26002235 The tolerance on contact distance (TOLN) cannot be negative.
26002236 The ratio of static to dynamic friction (FACT) cannot be less than 1.0
26002237 The Rigid to Deform Contact Direction vector must be defined.
26002238 The BIAS on contact distance for marc cannot be less than zero or greater than one. It
has been reset to zero.
26002239 The mapping of Load/BC "%A%" from %A% %I%.%I% to FEM has detected nodes
associated to geometry different than their parent element. The application
automatically included %I% of these nodes, that were found within the Global Model
Tolerance (currently %G%), with the Load/BC. Use the Geometry Show-%A%-Nodes
tool for verifying which nodes are associated, and adjusting the Global Model
Tolerance if necessary.
26002240 The allowable penetration cannot be negative.
26002241 The maximum slave motion toward the master cannot be negative.
26002242 The maximum slave motion away from the master cannot be negative.
26002243 The initial displacement cannot be negative.
26002244 The number of elements to check, NLIM, cannot be negative.
26002245 The radius to check, RLIM, cannot be negative.
26002246 The maximum shear stress cannot be negative.
26002247 The static friction coefficient cannot be negative.
26002248 The dynamic friction coefficient cannot be negative.
26002249 An invalid field specification was used for the %A% databox.
26002250 No field was specified for the %A% databox.
26002251 Field %A%, specified for the %A% databox, does not exist.
26002300 Load/BC set "%A%" created.
26002301 Unable to calculate display locations for "%A%".
26002400 "%A%" is an invalid Load/BC type.
26002401 "%A%" is an invalid Load/BC type for the specified Load/BC definition.
26002410 "%A%" is an invalid Load/BC target element type.
26002411 "%A%" is an invalid Load/BC target element type for the specified Load/BC definition.
26002420 "%A%" is an invalid Load/BC Select Datatype.
26002421 The Curve(s) selected for this region are congruent to the curves selected in the other
region. The curve(s) were not selected.
26002700 Load/BC set "%A%" modified.
26002701 Load/BC set cannot be renamed to "blank".
26002702 New Load/BC Name "%A%" is too long. Input 32 characters or less.
Chapter 11: Status Messages 2067
Introduction

26002703 No existing Load/BC set is selected.


26002704 Load/BC Set "%A%" is not in the current Load Case. Do you want to leave it out?
26002705 Load/BC Set "%A%" added to current Load Case.
26002750 Update attempted on Loads/BCs Sets. Further editing of Loads/BCs or material angle
may be required. No update attempted for LBCs applied directly to elements, when
those elements are split or their parent geometry is reversed.
26003010 There are no Load/BC sets to delete.
26003020 Load/BC Delete not implemented yet !!
26003030 %I% Load/BC set(s) deleted.
26003040 Load/BC Set "%A%" does not exist.
26003050 %I% Load/BC Set(s) do not exist.
26004001 Unable to assign the scalar table to Group "%A%".
26004002 No data of variable name "%A%" exists for or no FEM entities are associated with any
of the Load/BC set(s) in the current load case. Contours must be done on FEM entities.
26004003 Invalid component "%A%" was specified. Valid component strings are "Resultant",
"Component1", "Component2", and "Component3".
26004004 Invalid number of groups %I% specified. The number of groups must be positive.
26004005 Unable to evaluate field %A% at time %G%.
26004006 No marker data of variable name "%A%" exists for any of the Load/BC set(s) in the
current load case.
26004007 No data of variable name "%A%" is associated with any FEM entities.
26005001 The data entered in databox %I% on the "Input Data" form cannot be parsed.
26005002 The data entered in databox %I% on the "Input Data" form is invalid.
26005003 Databox %I% on the "Input Data" form requires a Scalar field.
26005004 Databox %I% on the "Input Data" form requires a Spatial Vector field.
26006001 Database error encountered: %I%. Call PDA Hotline.
26006002 Evaluation of Fields for Element Variable Load/BC sets has not been implemented yet.
26006003 Unable to acquire %I% words of virtual memory.
26006004 Dynamic memory allocation error encountered.
26006005 List processor error encountered while processing the following list "%A%".
26006006 List processor error encountered while processing Application Region.
26006007 Unable to retrieve LBC data and/or application region info for lbc set <%A%>. This lbc
set was not processed.
26006008 Attempting to equivalence nodal Discrete FEM Field <%A%> for LBC set <%A%>.
All field values for primary/secondary node pairs found in this Field have already been
equivalenced while evaluating LBC set <%A%> and will not be equivalenced again.
2068 PCL Reference Manual
Introduction

26006009 Equivalencing of nodal Discrete FEM field data has been aborted by the user.
Remaining LBC setS WILL NOT be evaluated for nodal Discrete FEM field
Equivalencing.
26015000 No Loads/BC Selected. Select 1.
26015005 No Groups Selected. Select at least 1.
26015010 Number of Load/BC's does not match dimension of array given.
26015015 Number of Groups does not match dimension of array given.
26015020 Group "%A%" does not exist.
26015025 Load/BC Set "%A%" is not in the current Load Case.
26015030 Group Name "%A%" is too long. Input 32 characters or less.
26015035 An error occurred while trying to construct the graphical display table name.
26015040 An error occurred while processing the data for graphical display.
26015045 There are no markers to plot for the specified Load/BC set(s).
26015046 The "Display on FEM Only" toggle is ON, but there are no FEM entities in the selected
groups on which to display Loads/BCs.
26015047 The "Display FA Vectors" toggle has been turned ON.
26015048 Display toggle(s) on the "Display Functional Assignments" form has been turned ON.
26015049 No %A% selected for display modification.
26015050 No 1-2 plane defined.
26015051 "%A%" coordinate frame type is not supported.
26015052 Display can not be modified on "%A%".
26015053 There are no markers displayed.
26015054 There is insufficient data to define a local coordinate system.
26015100 No Existing Load/BC's.
26015101 No Variable Data Selected.
26015102 No Elements in Data Base. A scalar plot is not possible.

Materials Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that manipulate materials properties.

28000000 MATERIALS
28000001 Materials
28003001 The material name is "blank". Enter a material name.
28003002 Material "%A%" already exists. Do you wish to overwrite?
Chapter 11: Status Messages 2069
Introduction

28003003 "%A%" is equal to "ZERO". Do you wish to continue?


28003004 "%A%" has a "negative" value. Do you wish to continue?
28003005 "%A%" has an "INVALID" value. Correct to continue.
28003006 "%A%" have "INVALID" values. Correct to continue.
28003007 %A% matrix cannot be calculated. Check the inputs.
28003008 The selected "Failure Theory" for "%A%" is not currently available.
28003009 "%A%" has a "NON-POSITIVE" value. Do you wish to continue?
28003010 "%A%" have "NON-POSITIVE" values. Do you wish to continue?
28003011 The "%A%" properties have NOT been saved. Do you wish to save them before
exiting?
28003012 The list of ply materials is blank.
28003013 The list of ply thicknesses is blank.
28003014 The list of ply orientations is blank.
28003015 Inconsistent material name information was produced by the list processor.
28003016 The length of the ply thickness list does not match the length of the ply material list.
28003017 The length of the ply orientation list does not match the length of the ply material list.
28003018 Material "%A%" is an invalid constituent material.
28003019 The resulting stacking sequence is not truly antisymmetric since the middle ply angle
is neither 0 degrees nor 90 degrees.
28003020 There are no materials defined in the ply material list.
28003021 There is more than one entry in the string: %A%
28003022 A ply thickness of %F% was entered. Ply thicknesses must be positive.
28003023 A combination of 2-D and 3-D materials exists in the ply stack. %I% of the %I% ply
materials %A% 2-D. All ply materials will be treated as 2-D because there is not
enough information to synthesize 3-D properties. The calculation of [A], [B], and [D]
matrices (membrane, coupling, and bending stiffness) is unaffected.
28003024 The calculated material stiffness matrix is singular.
28003025 Unable to process the list of eligible ply materials contained in the list box.
28003026 Material %A% is not a laminated composite.
28003027 The list of phase materials is blank.
28003028 There are no materials defined in the phase material list.
28003029 Material "%A%" is an invalid phase material.
28003030 The list of phase volume fractions is blank.
28003031 The list of phase orientation angles is blank.
2070 PCL Reference Manual
Introduction

28003032 The length of the phase volume fraction list does not match the length of the phase
material list.
28003033 The length of the phase orientation list must be 3 times the length of the phase material
list.
28003034 A phase volume fraction of %F% was entered. Phase volume fractions must be
positive.
28003035 The phase volume fractions must add up to one.
28003036 The calculated volume fraction for the last phase (number %I%) must be positive.
28003037 Phase material %A% is a 2-D material. 2-D materials are disallowed.
28003038 Material %A% is not a Rule-of-Mixtures composite.
28003039 Unable to show the ply material name string for laminate material %A%.
28003040 Unable to show the ply thickness string for laminate material %A%.
28003041 Unable to show the ply orientation string for laminate material %A%.
28003042 Unable to show the offset for laminate material %A%.
28003043 Unable to show the phase material name string for Rule-of-Mixtures material %A%.
28003044 Unable to show the phase volume fraction string for Rule-of-Mixtures material %A%.
28003045 Unable to show the phase orientation string for Rule-of-Mixtures material %A%.
28003046 Empirical factor %I% is undefined.
28003047 Empirical factor %I% is equal to %F%. It must be positive.
28003048 The aspect ratio is undefined.
28003049 Aspect ratio %I% is undefined.
28003050 The aspect ratio is equal to %F%. It must be positive.
28003051 Aspect ratio %I% is equal to %F%. It must be positive.
28003052 The sum of the volume fractions, %F%, is less than one. Do you wish to continue?
28003053 Material %A% is not linearly elastic.
28003054 Material %A% is not transversely isotropic (assuming the 2-3 plane of the material
coordinate frame is the intended plane of isotropy). If you continue, it will be assumed
to be transversely isotropic (with respect to the 2-3 plane) for this construction. Do you
wish to continue?
28003055 Material %A% is not orthotropic. If you continue, it will be assumed to be orthotropic
for this construction. Do you wish to continue?
28003056 Material %A% is not isotropic. If you continue, it will be assumed to be isotropic for
this construction. Do you wish to continue?
28003057 The sum of the volume fractions is zero.
28003058 The calculated material stiffness matrix is not positive definite.
28003059 Material %A% is not a Halpin-Tsai composite.
Chapter 11: Status Messages 2071
Introduction

28003060 Unable to show the properties for composite material %A%.


28003061 The value entered in the databox is out of the range of the associated slidebar.
28003062 The correlation coefficient must be less than one by at least the machine tolerance.
28003063 The number of Monte Carlo iterations must be a positive integer.
28003064 The unidirectional material constituent, %A%, is a 2D material. 3D materials are
required input when Short Fiber composite materials are generated using a fiber
orientation variation in two dimensions.
28003065 The theory for the Short Fiber Composite option calls for a unidirectional constituent
that is a Halpin-Tsai material containing either discontinuous fibers or discontinuous
ribbons. The selected constituent material, %A%, does not satisfy this criterion. Do
you wish to continue?
28003066 Performing Monte Carlo integration...
28003067 The standard deviation must exceed zero by at least the machine tolerance.
28003068 Material %A% is not a Short Fiber composite.
28003069 Halpin-Tsai material %A% is a %A% material, but the existing form is used to display
%A% materials.
28003070 Short Fiber material %A% is a %A% material, but the existing form is used to display
%A% materials.
28003071 The standard deviation cannot be negative.
28003072 The fiber (or particulate) material is not positive definite.
28003073 The matrix material is not positive definite.
28003074 The last volume fraction was not entered. On the assumption that the volume fractions
must sum to one, it has been calculated to be %F%.
28003075 Material names cannot be inserted in the middle of other material names.
28003076 Material %A% cannot be overwritten because it is referenced by another material.
Usually this means that it is a constituent for a composite material. In order to
overwrite it, then, it is necessary first to delete that composite material (or materials).
28003077 Unable to overwrite the record for material %A%.
28003078 No name is given for the material to be created.
28003079 More than one name is given for the material to be created.
28003080 The %A% constituent material %A% does not have all of the properties required of
such materials. The first missing property is the %A% %A%.
28003081 The constituent material %A% has no stiffness defined.
28003082 The constituent material %A% is not positive definite.
28003083 The constituent material %A% has an unrecognized directionality code.
28003084 The constituent material %A% has no constitutive models defined.
2072 PCL Reference Manual
Introduction

28003085 Neither the linearly elastic nor the thermal constitutive model is defined for material
%A% so no composite material properties can be generated.
28003086 The constituent material %A% has no defined properties so no composite material
properties can be generated.
28003087 The Material Action must be %A% or %A%.
28003088 Material %A% does not exist.
28003089 %A% is an INVALID material name.
28003090 %A% already exists. Do you wish to overwrite?
28003091 %A% value(s) already exist. Do you wish to overwrite?
28003092 %A% constitutive model already exists. Do you wish to overwrite?
28003093 The current constitutive model is %A%.
28003094 %A% property set does not include a Linear Elastic model. Do you wish to continue?
28003095 %A% has no Constitutive model defined.
28003096 %A% has no Linear Elastic model defined.
28003097 Some, but not all, of the constituent materials have linearly elastic constitutive models
(which are required for synthesizing composite stiffness properties). Zero values will
be assumed for all stiffness properties of all constituent materials lacking linearly
elastic constitutive models. Do you wish to continue?
28003098 Some, but not all, of the constituent materials have thermal constitutive models (which
are required for synthesizing composite thermal properties). Zero values will be
assumed for all thermal properties of all constituent materials lacking thermal
constitutive models. Do you wish to continue?
28003099 The constituent material %A% has no constant properties so no composite material
properties can be generated.
28003100 Some of the materials used to construct composite material %A% have properties
defined with fields. Field evaluation is not yet supported for the Composite Material
Properties form, so constant property values of 0.0 are used for all field-defined
constituent properties in the evaluation of composite properties. This can result in the
display of erroneous values for the affected composite properties, but it does not mean
that the composite material record in the database has been corrupted.
28003101 Material "%A%" not found. Do you wish to continue?
28003102 Material "%A%" not found.
28003103 Delete "%A%" from the database?
28003104 %A% not deleted.
28003201 The LEGEND is not specified. Use "%A%" as the legend?
28003202 The property name is "BLANK". Please select a property to continue.
28003203 The changes made to the "%A%" properties will not be saved. Use the MODIFY
option to edit.
Chapter 11: Status Messages 2073
Introduction

28003204 The existing X-axis title is set to "%A%" To use a different title, please delete the
existing curves or change the XY Window name.
28003205 Qab matrix cannot be calculated. Data set is incomplete.
28003206 Engineering constants cannot be calculated. Data set is incomplete.
28003207 The given values of E, Nu, and G do not satisfy the relation G = E /2(1 + Nu). Do you
wish to continue?
28003208 The given values of "Density", "Gas Constant", "Temperature", and "Pressure" do not
satisfy the Perfect Gas Law. Do you wish to continue?
28003209 "%A%" has a value less than or equal to zero. Do you wish to continue?
28003210 "%A%" has a value less than zero. Do you wish to continue?
28003211 "%A%" has a value less than or equal to -1.0. Do you wish to continue?
28003212 "%A%" has a value greater than or equal to 0.5. Do you wish to continue?
28003213 The given values of E11, E22 and Nu12 do not satisfy the condition that E11/E22 >
Nu12*Nu12. Do you wish to continue?
28003214 The given values of E22, E33 and Nu23 do not satisfy the condition that E22/E33 >
Nu23*Nu23. Do you wish to continue?
28003215 The given values of E33, E11 and Nu31 do not satisfy the condition that E33/E11 >
Nu31*Nu31. Do you wish to continue?
28003216 The given values of E11, E33 and Nu13 do not satisfy the condition that E11/E33 >
Nu13*Nu13. Do you wish to continue?
28003217 The given values of E11, E22, E33, Nu12, Nu23, and Nu13 do not form positive
definite matrix. Do you wish to continue?
28003218 The given values of E11, E22, E33, Nu12, Nu23, and Nu31 do not form positive
definite matrix. Do you wish to continue?
28003301 "%A%" does not exist. Do you wish to create it?
28003302 Properties of "%A%" are associated with other data and cannot be modified. Either
create a duplicate and change material name or remove association.
28003303 Although material %A% has been successfully modified, this material is a constituent
for composite %A% and the attempt to update this composite has failed. A manual
modify of this composite is required to update its database properties.
28003304 Material %A% has been successfully modified. However, it has been detected that
this material is being used as a constituent for one or more composite materials.
Proceeding to update the properties for these composites.
28003305 ...MODIFIED Constituent is %A%: UPDATING Composite %A%.
28003306 Although field %A% has been successfully modified, this field is referenced by
material %A% and the attempt to update this material has failed. A manual modify of
this material is required to update its database properties.
2074 PCL Reference Manual
Introduction

28003307 Material Field %A% has been successfully modified. Proceeding to update database
properties for all materials referencing this field.
28003308 ...MODIFIED Field is %A%: UPDATING Material %A%.
28003401 The selected option is not compatible with %A%.
28003402 To construct %A% specific input entry form, at least "one" valid option MUST be
selected.
28003501 Opening '%A%' materials database.
28003502 Materials database '%A%' is not found.
28003503 Materials database '%A%' cannot be opened.
28003504 Materials database '%A%' cannot be read.
28003505 Materials databases directory was not found in your current definition of the
environment variable P3_HOME.
28003506 Not authorized Materials database '%A%'.
28003601 Opening '%A%' Mapping template file.
28003602 Mapping template '%A%' is not found.
28003603 Mapping template '%A%' cannot be opened for read access.
28003604 Mapping template '%A%' cannot be opened for write access.
28003605 Mapping template '%A%' cannot be read.
28003607 Mapping template's column headers '%A%' are not valid for this database. Defaulting
to the first relation's attributes as column headers.
28003608 Mapping template's column headers/mapping attributes '%A%' are not valid for this
database and are ignored.
28003609
Mapping templates directory '%A%' not found in current Patran search path.
28003610 Mapping template data has been modified (mapping attributes, column headers, unit
system or query condition). Save these changes in '%A%' before exiting?
28003611 Mapping template '%A%' saved.
28003612 Mapping template query '%A%' is invalid for this database. Query is ignored.
28003613
No property mappings currently exist. Use the '%A%' button to map Patran properties
to the database attributes.
28003701 Query failed for the current condition.
28003702 Query condition returned zero rows.
28003703 Attribute(s)/Expression(s) '%A%' not valid for current database.
28003704 Need at least one attribute to perform operation.
28003705 Mapping template contains attribute(s) '%A%' not valid for current database.
28003706 Query command contains an invalid token '%A%'.
Chapter 11: Status Messages 2075
Introduction

28003707 Query command contains a syntax error.


28003708 Query command attribute and operator '%A%' have invalid types.
28003709 Query attribute(s) '%A%' not valid for current database.
28003710 Can not use multiple property set attributes and source table attribute(s) in query
'%A%'. All property set attributes in query must be from the same table.
28003711 Attribute(s)/Expression(s) '%A%' not valid as column headers. Use only numeric and
character attributes or expressions.
28003801 The mapped analysis code properties '%A%' do not contain data for your selection.
Yes applies null data to the database for these values.
28003802
Selected attribute '%A%' and Patran property have incompatible types.
28003803
Selected value '%A%' and Patran property have incompatible types.
28003901 Materials units file '%A%' is not found in your current definition of the environment
variable P3_HOME.
28003902 Materials units file '%A%' cannot be read.
28003903 Opening '%A%' units file.
28004001 Material list display limited to '%A%' columns.
28004002 Unable to allocate required virtual memory
28004101 Material '%A%' exists in database. Do you wish to overwrite the existing material
with this data?
28004102 Field '%A%' exists in database. Do you wish to overwrite the existing field with this
data?
28004201
Number of material categories properties '%I%' exceeds Patran MATERIALS
maximum '%I%'.
28004202 No properties being mapped.
28004203 Material '%A%' created.
28004204 Material '%A%' modified.
28004205 Property set(s) '%A%' do not have rows selected. Do you wish to continue and create
the material and/or fields?"
28004206 Property set '%A%' contains no rows. Select another material or change the current
query condition to select data for this property set.
28004301 Material has been selected and/or modified. Save before exiting?
28004302 The selected row for curve '%A%' contains non-curve point data (scatter points, run
out points,...). Select another row.
28004303 Curve '%A%' contains non-curve point data (scatter points, run out points,...). Field
not created.
2076 PCL Reference Manual
Introduction

28004401 There are no rows in the spreadsheet so none can be deleted.


28004402 No rows have been selected so none can be deleted.
28004403 There are more terms in the text list than there are available rows in the spreadsheet.
Would you like to have additional rows inserted once the available rows are
overwritten?
28004404 The proposed ply material %A% does not exist.
28004405 Unable to extract ply material array because of problems with mapping a virtual array
onto PCL.
28004406 Unable to extract real values because of problems with mapping a virtual array onto
PCL.
28004407 There are no real numbers in the list.
28004408 Laminate layer %I% has no material name specified.
28004409 Laminate layer %I% has no thickness specified.
28004410 Laminate layer %I% has no orientation specified.
28004411 The fiber/ribbon material %A% is isotropic. This is not consistent with the intention
of this Halpin-Tsai material model.
28004412 The length of the ply thickness list exceeds the length of the ply material list. If you
continue, the excess will be ignored. Do you wish to continue?
28004413 The length of the ply orientation list exceeds the length of the ply material list. If you
continue, the excess will be ignored. Do you wish to continue?
28004414 The length of the phase volume fraction list exceeds the length of the phase material
list. If you continue, the excess will be ignored. Do you wish to continue?
28004415 The length of the phase orientation list exceeds 3 times the length of the phase material
list. If you continue, the excess will be ignored. Do you wish to continue?
28004416 Material %A% does not exist.
28004417 Ply material %A% does not exist.
28004418 Phase material %A% does not exist.
28004419 The unidirectional constituent material %A% does not exist.
28004420 The proposed phase material %A% does not exist.
28004421 The %A% material has not been defined.
28004422 The text box is expecting ply material names.
28004423 The text box is expecting ply thicknesses.
28004424 The text box is expecting ply orientations.
28004425 A programming error has been detected in the attempt to display the material
properties for material %A%.
28004426 The properties of material %A% cannot be displayed because the data in the record
have been corrupted.
Chapter 11: Status Messages 2077
Introduction

28004427 No materials have been chosen to create the laminated composite. Select at least 1.
28004428 A ply thickness of %F% was entered for ply %A% of laminate %A%. Ply thicknesses
must be positive.
28004429 Material %A% is not transversely isotropic with respect to the plane of isotropy for
this material ( i.e. the 2-3 plane of the material coordinate frame ). However, this
condition of transverse isotropy has been assumed for this construction.
28004430 Material %A% is not orthotropic. However, it has been assumed to be orthotropic for
this construction.
28004431 Material %A% is not isotropic. However, it has been assumed to be isotropic for this
construction.
28004432 The sum of the volume fractions, %F%, is less than one.
28004433 The theory for the Short Fiber Composite option calls for a unidirectional constituent
that is a Halpin-Tsai material containing either discontinuous fibers or discontinuous
ribbons. The selected constituent material, %A%, does not satisfy this criterion.
28004434 The specified composite name is the same as a name used for an existing constituent
material. This is not permitted. Please specify a different composite name.
28004435 Material %A% refers to one or more temperature-dependent fields. The Reference
Temperature for this material is used to evaluate these fields. However, no Reference
Temperature was specified for this material. Therefore, a default Reference
Temperature of 0.0 has been used to compute Reference State material properties.
28004436 Material %A% refers to one or more temperature-dependent fields. The Reference
Temperature for this material is used to evaluate these fields. However, this Reference
Temperature is itself defined by a field and this is not yet supported. Therefore, a
default Reference Temperature of 0.0 has been used to compute Reference State
material properties.
28004437 Constituent %A% or its constituents refer to fields which cannot be evaluated. The
only type of material field which can be evaluated is one with temperature as its sole
independent variable. As a consequence, some material property values will not be
computed in the database. This may cause problems with Material Show functions
and in cases where the parent composite is used as a homogeneous material.
28004438 Material %A% references field %A%. Unable to evaluate this field.
28005001 %A% has no stored properties.
28005002 %A% Material has no stored properties. NO calculation is performed.
2078 PCL Reference Manual
Introduction

Element Property Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that manipulate element properties.

29000000 ELEM_PROPS
29001001 Unable to allocate the necessary memory.
29001002 Field Id %I% not found.
29002001 No Element Definitions are in the database for analysis code "%A%" and analysis
type "%A%".
29002002 Unable to retrieve analysis preference information from the database.
29002003 Unable to retrieve the element definitions for analysis code "%A" and analysis type
"%A%" from the database.
29002004 Unable to retrieve the element options from the database.
29002005 Property Set Name is "blank".
29002006 Property Set "%A%" Exists. Overwrite?
29002007 The data entered for Property "%A%" cannot be parsed. %A%
29002008 The data entered for Property "%A%" is invalid. %A%
29002009 Property "%A%" requires a Spatial Scalar field. %A%
29002010 Property "%A%" requires a Spatial Vector field. %A%
29002011 A value for Property "%A%" must be entered. %A%
29002012 The data form for Property "%A%" is invalid. %A%
29002013 The data form for Property "%A%" is not recognized by the system. %A%
29002014 The material specified for property "%A%" is invalid. %A%
29002015 The property definition for property "%A%" is invalid. %A%
29002016 The value of property "%A%" is not in the valid range. %A%
29002017 Unable to parse the Application Region list.
29002018 The Application Region list contains entities other than elements and %A%s. Ignore
and continue?
29002019 The elements in the Application Region list with %A% topologies are not valid for
this element type. Ignore and continue?
29002020 Element %I% already has been associated to an element property region. Overwrite
the association?
29002021 The Element Properties must be Entered to continue.
29002022 %A% already has been associated to an element property region. Overwrite the
association?
Chapter 11: Status Messages 2079
Introduction

29002023 Some of the Geometric entities being meshed are in Element Property Region %A%,
which does not support %A% element topologies. Proceed with Meshing?
29002024 Some of the Geometric entities being meshed are in Element Property Region %A%,
which will not support any elements that have %A% topologies. Proceed with
Meshing?
29002025 The material specified for property "%A%" has an invalid Constitutive model
activated. %A%
29002026 The material specified for property "%A%" has an invalid Directionality for this
element type. %A%
29002027 The elements associated to the geometry in the Application Region list with %A%
topologies are invalid for this element type. Ignore and continue?
29002028 Property Set "%A%" created.
29002029 Unable to retrieve the property set definition from the database.
29002030 Unable to retrieve the property definition from the database.
29002031 Maximum number of allowable properties exceeded. The first %I% will be used.
29002032 Unable to retrieve the element property sets from the database.
29002033 An error occurred while processing Property "%A%". %A%
29002034 Material "%A%" created with no properties.
29002035 "%A% %A%" does not exist. Continue?
29002036 The Application Region select databox contains some data. Do you wish to add it to
the Application Region List before continuing?
29002037 The material specified for property "%A%" must be a laminate. %A%
29002038 Beam Section "%A%" not found. %A%
29002039 Beam Section "%A%" is an invalid Type for this Option.
29002040 Beam Section "%A%" already exists. Do you wish to overwrite?
29002041 Database Error %I% Creating Beam Section "%A%".
29002042 Beam Section Name is "blank". Input a Beam Section Name.
29002043 Beam Section Type "%A%" Invalid.
29002044 Wrong number of Beam Section Dimensions Input.
29002045 Invalid Field "%A%". Must be Spatial Parametric with C1 as only variable.
29002046 Invalid Beam Section Dimension "%A%".
29002047 Beam Section "%A%" created.
29002048 Entity type "%A%" invalid. Must be 1D Element or Curve.
29002049 Element "%I%" node not found.
29002050 Element "%I%" not found.
29002051 Element "%I%" not 1D.
2080 PCL Reference Manual
Introduction

29002052 One or more dimensions are fields. An evaluation location is required.


29002053 Report file not open. Open report file from File menu.
29002054 One or more Beam Section dimensions are fields. An evaluation location is required.
The "Application Region" is empty. Evaluation not done.
29002055 One or more Beam Section dimensions were fields. An evaluation location was
required. The first entity in the "Application Region" was used.
29002056 An error occurred while computing Beam Section properties. Check dimensions.
29002057 The input value of C1 is outside the valid range of 0.0 - 1.0.
29002058 One or more Beam Section dimensions are fields. Fields are not allowed.
29002059 No row in the spread sheet is selected.
29002060 An error occurred while computing Beam Section properties. Check the boundary.
29002061 Invalid number of points is found in a loop.
29002062 The number of loops is outside the valid range of 1 - 8.
29002063 "%A%" has been defined at Point %I% on Loop %I%. Overwrite?
29002064 Beam Section "%A%" is an Arbitrary Shape. Value Type "Dimensions" is not
supported for Arbitrary Beam Sections. You must use Value Type "Properties".
%A%
29002065 License checking fails. A license to use Arbitrary Shape may be needed.
29002066 The minimum allowable curvature error is %F%. Use the minimum value?
29002067 The maximum allowable curvature error is %F%. Use the maximum value?
29002068 The surface selected is meshed. Boundary points cannot be sampled on a meshed
surface.
29002069 An error occurred while sampling the boundary points of the selected surface.
29002070 The number of boundary points sampled on the selected surface exceeds the number
allowed per loop possibly due to a small curvature error.
29002071 The report filename specified, "%A%", cannot be opened for reading.
29002072 Opening default report file "%A%".
29002073 The section selected is not a good candidate for CBAR because its shear center and
centroid are not coincident.
29002074 The "Associate Beam Section" toggle is off. The databox properties will be used
rather than those computed from the Beam Section. Do you want the databox
properties recomputed for this new Beam Section and overwritten ?
29002075 The "Associate Beam Section" toggle is currently off. Changing the "Value Type" to
"Dimensions" will force the toggle on, recompute and overwrite the current databox
properties. Do you want to continue and change the "Value Type" to "Dimensions" ?
Chapter 11: Status Messages 2081
Introduction

29002076 The "Associate Beam Section" toggle was off. Turning the toggle on will recompute
and overwrite the current databox properties. Do you want to continue and turn the
"Associate Beam Section" toggle on ?
29002077 The "Associate Beam Section" toggle is off. Your value of %G% for "%A%" differs
from the Beam evaluator by more than 1%%. Your value will be used for analysis,
but the beam section will display unchanged. Do you want to ignore this difference ?
29002078 Due to differences between your input and the Beam evaluator, you chose to abort.
29002079 The "Associate Beam Section" toggle is off. The values for "%A%" differ from the
Beam evaluator. Your value will be used for analysis, but the beam section will
display unchanged. Do you want to ignore this difference ?
29002080 Maximum number of boundary loops exceeded. You can currently have no more than
8 loops on the selected surface.
29002081 The boundary is invalid for a section due to overlapping points. If the boundary is
generated by selecting a surface, please recreate a trimmed surface and try again.
29002082 The report file specified, "%A%", does not contain the keywords "Boundary Loops"
preceding a list of XY pairs.
29002083 Property "%A%" fields must be Scalar, Non-Spatial, Tabular functions of frequency
only. %A%
29002084 Property "%A%" fields must be Scalar, Non-Spatial, Tabular functions of
displacement only. %A%
29002085 Property "%A%" must be a Scalar, Non-Spatial, Tabular function of frequency only.
%A%
29002086 Property "%A%" must be a Scalar, Non-Spatial, Tabular function of displacement
only. %A%
29002087 Unable to retrieve the field definition from the database.
29002088 Property "%A%" of Element Property Set "%A%" requires a Spatial Scalar field.
29002089 Property "%A%" of Element Property Set "%A%" requires a Spatial Vector field.
29003001 Property Set "%A%" cannot be deleted.
29003002 The property set already exists.
29003003 %I% Property Sets deleted.
29003004 Database Error %I% Deleting Beam Section "%A%".
29003005 %I% Beam Section(s) deleted.
29003006 No Beam Sections specified for deletion.
29003007 Section "%A%" associated with Element Property data and is not deleted.
29003008 Property Set "%A%" is associated with contact lbcs and cannot be deleted or
modified.
29004001 No Groups Selected.
2082 PCL Reference Manual
Introduction

29004002 Number of Groups does not match dimension of the given array.
29004003 Group "%A%" was not found.
29004004 No property has been selected to Show.
29004005 The display method "%A%" is not recognized.
29004006 Property "%A%" could not be retrieved from the database.
29004007 The display method "%A%" cannot be applied to property "%A%".
29004008 No elements were found that referenced the specified property.
29004009 Invalid Field "%A%". Base Geometric Entity Type Must be Curve or Surface Edge.
29004010 Physical Property %A% in Element Property set %A% cannot be evaluated because
it is represented over at least part of the display region as a Non-Spatial Field.
29005001 An unknown Element Topology has been referenced.
29005002 No Shape function is available for this element topology
29006001 Property Set "%A%" does not exist and cannot be modified or deleted.
29006002 No existing Property Set has been selected to modify.
29006003 The Property Set Name "%A%" is invalid.
29006004 Property Set "%A%" modified.
29006005 Beam Section "%A%" modified.
29006006 No existing Beam Section has been selected to modify.
29006007 Database Error %I% Modifying Beam Section "%A%".
29007001 No element type of dimension %I% was found for property set "%A%".
29007002 Unable to Convert property set "%A%".
29007003 A matching element type was found for property set "%A%".
29007004 A matching element type with some differences was found for property set "%A%".
29007005 No matching element type was found for property set "%A%". The default %I%
dimension element was substituted.
29007006 No matching element type was found for property set "%A%".

Fields Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that manipulate fields.
Chapter 11: Status Messages 2083
Introduction

30000000 FIELDS
30001001 Field Name is "blank". Enter a Field Name.
30001002 No Field Name selected.
30001003 Field "%A%" already exists. Overwrite?
30001004 Fields Function is "blank". This is assumed to be correct.
30001005 Fields Table is incomplete.
30001006 No Active Independent Variables chosen. Select at least 1.
30001007 Coordinate Frame "%A%" does not exist.
30001008 Table Input Data box contains invalid data.
30001009 Linear Parametric Table data box "%A%" contains invalid data.
30001010 No Cells selected. Select at least 1.
30001011 Independent Variable data for "%A%" must in ascending order.
30001012 Parametric Independent Variable data for "%A%" must be between 0 and 1.
30001013 The Object "%A%" is Invalid. Must be "Spatial", "Material", or "Non-Spatial".
30001014 The Method "%A%" is Invalid. Must be "Table" or "Function".
30001015 The Type "%A%" is Invalid. Must be "Scalar" or "Vector".
30001016 The Coordinate System Type "%A%" is Invalid. Must be "Real or Parametric".
30001017 The Material or Non-Spatial Coordinate System Type "%A%" is Invalid. Must be
"Real".
30001018 The Geometric Entity "%A%" is Invalid. Must be an existing Surface or Solid.
30001019 The Geometric Entity "%A%" is Invalid. Must be an existing Solid.
30001020 The Geometric Entity "%A%" is Invalid. Must be an existing Solid???.
30001021 The Geometric Entity "%A%" is Invalid. Must be an existing entity.
30001022 Given the Independent Variables specified, the Geometric Entity "%A%" is Invalid.
Must be an existing Surface or Solid.
30001023 Given the Independent Variables specified, the Geometric Entity "%A%" is Invalid.
Must be an existing Solid.
30001024 The Geometric Entity "%A%" is Invalid. Select an existing Curve before displaying the
Input Data form.
30001025 The Geometric Entity "%A%" is Invalid. Select an existing Surface before displaying
the Input Data form.
30001026 The Geometric Entity "%A%" is Invalid. Select an existing Solid before displaying the
Input Data form.
30001027 Incorrect number of Valid Independent Variables Defined. Match the number of
variables given (%I%) with the given strings.
2084 PCL Reference Manual
Introduction

30001028 No independent variable is chosen, the Geometric Entity "%A%" is ignored.


30001029 "%I%" is an invalid Extrapolation Value. Use 1 for "Closest Table Value", 2 for
"Linear Extrapolation" and 3 for "Set Value to Zero".
30001030 "%A%" is not a valid Independent Variable.
30001031 Incorrect Independent Variable defined. Check that given strings match Object,
Coordinate System, and argument position.
30001032 Type "Vector" is invalid for a Table Field. Type must be "Scalar" or the Field must be
a Function.
30001033 Field "%A%" created.
30001034 Field Name "%A%" is invalid.
30001035 Illegal Independent Variable "%A%" found in a function. Variables must match
specified values.
30001036 Coordinate Frame "%A%" is not appropriate here and is ignored.
30001037 Linear Parametric field data is invalid.
30001038 Field id "%I%" already exists.
30001039 Field name "%A%" already exists.
30001040 Error getting Spatial Field Term Subtypes from the database.
30001041 Error getting Material Property Field Term Subtypes from the database.
30001042 Error getting Non-Spatial Field Term Subtypes from the database.
30001043 The highlighted string has invalid syntax. Please double click a function contained in
square brackets ( [] ).
30001044 No string highlighted. Please double click a function contained in square brackets ( [] ).
30001045 The highlighted string has invalid syntax. ( No valid integer prefix in this string.) Please
double click a function contained in square brackets ( [] ).
30001046 Storage Error. The selected term has no data stored. Please re-create this field.
30001047 Maximum number of terms exceeded. The General Field Function is limited to 30
terms composed of functions or fields.
30001048 The data string from the previous function input form has invalid syntax. The argument
data must be enclosed in parentheses.
30001049 The %A% contains an invalid Independent Variable. Please correct this to continue.
30001050 The %A% contains more than 3 Independent Variables. Please enter a maximum of 3
to continue.
30001051 The string to be modified has been deleted and cannot be replaced. Please re-create this
field.
30001052 The function expression contains more than 3 Independent Variables. Please modify
the last function form to maintain only 3 Independent Variables in the function
expression.
Chapter 11: Status Messages 2085
Introduction

30001053 The Geometric Entity Box is Blank. Please select a geometric entity.
30001054 The databox for argument "%I%" is blank. Please fill in to continue.
30001055 The selected function has zero arguments.
30001056 The selected function cannot be found within PCL.
30001057 The selected function is a "Built In" function.
30001058 Error getting the current Analysis Code Name from the Database.
30001059 Error getting the Field "%A%" from the database.
30001060 The "Function Expression" box in the Input Data form is blank. Please create a
Function Expression.
30001061 Field "%A%" is disassociated with geometry entity and unusable unless a new
geometry entity is provided.
30001062 No more than 3 Active Independent Variables may be chosen.
30001063 The text string has invalid syntax. The equation must be enclosed in parentheses.
30001064 The text string has invalid syntax. The leading part of the string must be "equation(".
30001101 Field "%A%" does not exist.
30001102 No Field is selected for deletion.
30001103 Field "%A%" deleted.
30001104 Field "%A%" cannot be deleted because it is attached to a Load/BC, Element Property,
or Material.
30001201 Field "%A%" already exists. Modify not permitted.
30001202 Field "%A%" does not exist.
30001203 New Field Name "%A%" is invalid.
30001204 Field "%A%" modified.
30001205 Field "%A%" cannot be modified because it is attached to a Load/BC, Element
Property, or Material.
30001206 A continuous FEM field cannot be changed to a discrete FEM field.
30001401 Unable to allocate enough memory to evaluate the field.
30001402 No Evaluation method is defined for this field type.
30001403 The PCL expression references an invalid independent variable.
30001404 Error occurred when evaluating the PCL expression.
30001405 PCL expression is blank. Use `t or `f as the variable.
30001406 Invalid PCL expression.
30001407 Number of points must be greater than 0.
30001408 Too many points specified. Lower the number of points or add rows using the
"Options" form.
2086 PCL Reference Manual
Introduction

30001409 Start time must be less than End time.


30001410 Start time and End time must be equal if the number of points is 1.
30001411 Field "%A%" is not a finite element type field and cannot be processed with this
function.
30001412 No elements found in the specified group
30001413 Error in results dimension; should be 1 or 3.
30001414 Unable to get element properties for specified elements.
30001415 Results table dimension not the expected 1 or 3.
30001416 Unable to allocate memory for interpolation.
30001417 Error creating connectivity array index.
30001418 Error finding Hpat coefficients for element.
30001419 All elements fail distance check for interpolant.
30001420 Not all entities are of type ELEMENT or NODE in the specified vector table.
30001421 Error getting EP node list.
30001422 Error making constraints from elements.
30001423 Number of independent dimensions of results fields not equal to 3.
30001424 Routine to locate points in elements did not converge for "%I%" interpolants.
30001425 Notice: "%I%" interpolants lie off the field.
30001426 Vector results entities not all type ELEMENT in the designated group
30001427 Vector results entities not all type NODE in the designated group
30001428 Unable to Evaluate the specified curve.
30001429 Unable to Evaluate the specified surface.
30001430 Unable to Evaluate the specified solid.
30001431 Unable to Evaluate the specified element. %I%
30001432 Unable to Evaluate the field.
30001433 Error converting Node ID reference to vector for discrete element field.
30001434 0D and/or 1D Elements have been detected in the group which was used to define this
FEM Field. These elements will be ignored during any evaluation of this field as FEM
Field evaluators have not yet been implemented for these elements.
30001435 Unable to evaluate the FEM field for this application because no valid elements were
detected in the group which was used to define this field.
30001436 Invalid geometry type.
30001437 An attempt was made to average nodal values for an element. All of the element nodes
were not found for %I% elements.
30001438 Unable to Evaluate the field.
Chapter 11: Status Messages 2087
Introduction

30001439 %A% set <%A%> references nodal Dfem Field <%A%>. However, primary node
%I% %A% & secondary node %I% %A% of the %A% Application Region(s). These
nodes both exist in the Dfem Field, and will be equivalenced in accordance with
specified merge rule. Is it acceptable to continue?
30001440 %A% set <%A%> references nodal Dfem Field <%A%>. However, primary node
%I% %A% & secondary node %I% %A% of the %A% Application Region(s). Only
the secondary node exists in the Dfem Field, and will be equivalenced in accordance
with specified merge rule. If you continue, the primary node will become part of the
Dfem Field. Is it acceptable to continue?
30001441 Field "%A%" contains no data. This usually results from deleting the elements used to
create the field.
30001442 The spatial field %A% could not be evaluated because it contains non-spatial
independent variables.
30001443 The parametric field %A% could not be evaluated because it contains non-parametric
independent variables.
30001501 No Active Independent Variable chosen.
30001502 The Minimum Value %F% for the Independent Variable is Out of Range.
30001503 The Minimum Value %F% for the First Fixed Variable is Out of Range.
30001504 The Minimum Value %F% for the Second Fixed Variable is Out of Range.
30001505 The Maximum Value %F% for the Independent Variable is Out of Range.
30001506 The Maximum Value %F% for the First Fixed Variable is Out of Range.
30001507 The Maximum Value %F% for the Second Fixed Variable is Out of Range.
30001508 Can't Use Existing Points with a Function.
30001509 Invalid Vector Component %I% Specified.
30001510 Invalid Data Used to Get Field Points. Check for Valid Functions, Dimensions,
Number of Variables. No Curves created.
30001511 Too many existing points specified. Only the first %I% specified will be used.
30001512 There are more points between the specified minimum and maximum. Only the first
%I% will be used.
30001513 No Independent Variable is associated with this field.
30001514 Illegal Independent Variable "%A%" found. Variable must match specified values.
30001515 Field "%A%" is disassociated with geometry entity and cannot be shown.
30001516 The Fields:Show facility does not support general fields at this time.
30001517 Number of points must be greater than 0.
30001601 No Scalar table has been associated to group "%A%". Plot contours on the mesh to
create a Scalar table.
2088 PCL Reference Manual
Introduction

30001602 No Vector table has been associated to group "%A%". Plot vector markers on the mesh
to create a Vector table.
30001700 Field "%A%" is a Finite Element Field and cannot be processed by the Fields
application.
30001701 Group "%A%" does not exist.
30001702 "%A%" is not a valid FEM entity.
30001703 "%A%" is not a valid Node.
30001704 "%A%" is not a valid Element.
30001705 Can't assign more than one entity.
30001706 "%A%" is an invalid Scalar value.
30001707 "%A%" is an invalid Vector value.
30001708 Value cannot be a Field.
30001709 Scalar value cannot be NULL.
30001710 No rows selected. Select the ones to be deleted.
30001711 Can't delete specified number of rows. Change the value in the insert/delete databox.
30001712 The Entity Type "%A%" is Invalid. Must be "Node" or "Element".
30001713 Number of Entities cannot be negative.
30001714 "%A%" does not exist. Please choose from the existing Elements.
30001715 "%A%" does not exist. Please choose from the existing Nodes.
30001716 The Face of "%A%" does not exist. Please choose from the existing entities.
30001717 The Edge of "%A%" does not exist. Please choose from the existing entities.
30001718 The Vertex of "%A%" does not exist. Please choose from the existing entities.
30001719 No Cells selected. Select at least 1.
30001720 "%I%" is not a valid Interpolation Direction. Use 1 for x, 2 for y, 3 for z, or 0 for
axisymmetry.
30001721 A Node is defined more than once.
30001722 The Entity Type selected on the Fields form does not match the entity value: "%A%".
Delete this value or change the Entity Type.
30001723 Group Name is not selected. Select a Group Name.
30001724 Group "%A%" not found. Select an existing Group Name.
30001725 Group cannot be changed in Modify. Create a new field if needed.
30001726 The group that this field was created with no longer exists. The field should be deleted
since it is longer valid.
30001727 Scalar/Vector table no longer associated with the group this field was created with.
Chapter 11: Status Messages 2089
Introduction

30001728 Multiple vectors are displayed on one or more nodes. Re-display with only one vector
per node.
30001729 More than one Coordinate Frame defined. Select only one per Field.
30001730 More than one Geometric Entity defined. Select only one per Field.
30001731 Each dimension of the table must be at least 1.
30001732 The spreadsheet layer dimension must be least 2 in this 3d case. If only 1 layer is
desired, use the 2d case.
30001733 Independent variable "%A%" of cylindrical or spherical coordinate system must be
between -PI and PI.
30001800 Field "%A%" is a Load/BC Field and cannot be processed by the Fields application.
30001900 Database error encountered while extracting list of field names.
30002000 Unable to create a valid entity list from the entities of field %A%. No entities will be
loaded into the application region of the parent application.
30002001 No cells with Vector data has been selected. Select at least 1.
30002002 The entity type (node or element) of existing Discrete FEM Field %A% conflicts with
the entity type of the parent application. Existing field data WILL NOT be retrieved.
30002003 The field type (scalar or vector) of existing Discrete FEM Field %A% conflicts with
the data

Event ManagerStatus Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that are part of the event manager.

31000000 EM
31000001 Group definition hasn't been started
31000002 A group definition has already been started
31000003 The group is full
31000004 Initialization of group data structures failed
31000005 The specified group does not exist
31000006 Event definition hasn't been started
31000007 Event has not been routed
31000008 No memory available
31000009 The specified event doesn't have an output function
31000010 The event type does not exist
31000011 The item does not exist for the specified type
31000012 The specified event is unknown
2090 PCL Reference Manual
Introduction

31000013 The length is out of range


31000014 The specified event does not exist
31000015 The feedback routine does not exist
31000016 The output event is unknown
31000017 The event has an output function already
31000018 Event Manager initialization failed

Security Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that manage product security.

32000000 Security
32000006 The license(s) for %A% will expire in %I% days. License File: "%A%". Please
request your systems administrator to review the installation procedures for
MSC.Software products on your system and/or contact your Patran Support
Representative for further assistance.
32000009 %A% is unable to establish communication with the FLEXlm server or could not find
a valid license in the file "%A%". Please request your systems administrator to review
the installation procedures for MSC.Software products on your system and/or contact
your Patran Support Representative for further assistance.
32000010 An unknown FLEXlm error was encountered. %A%, License File: "%A%" Please
request your systems administrator to review the installation procedures for
MSC.Software products on your system and/or contact your Patran Support
Representative for further assistance.
32000011 Configuration parameters passed from %A% to FLEXlm were invalid. The program
will not proceed until this is resolved. License File: "%A%" Please request your
systems administrator to review the installation procedures for MSC.Software
products on your system and/or contact your Patran Support Representative for
further assistance.
32000014 The version %A% license(s) for %A% have expired. License File: "%A%". Please
request your systems administrator to review the installation procedures for
MSC.Software products on your system and/or contact your Patran Support
Representative for further assistance.
Chapter 11: Status Messages 2091
Introduction

32000018 FLEXlm has denied access to %A% because of restrictions found in your local
options file. License File: "%A%". Please request your systems administrator to
review the installation procedures for MSC.Software products on your system and/or
contact your Patran Support Representative for further assistance.
32000019 You have requested to run %A% on a %A% %A%. Unfortunately, this requires %I%
version %A% license(s). License File: "%A%". Since there are insufficient licenses
installed to satisfy this request, Please request your systems administrator to review
the installation procedures for MSC.Software products on your system and/or contact
your Patran Support Representative for further assistance.
32000020 Your application has lost contact with the FLEXlm license server. An attempt will be
made to reacquire license(s). License File: "%A%"
32000021 %A% is an unknown application within MSC.Software's product configuration.
Please request your systems administrator to review the installation procedures for
MSC.Software products on your system and/or contact your Patran Support
Representative for further assistance.
32000022 FLEXlm initialization complete. Acquiring license(s)... License File: %A%
32000023 %A% %A% has obtained %A% %A% license(s) from FLEXlm per a request to
execute on a %A% %A% system at %A%.
32000024 %A% %A% has renewed %A% license(s) from FLEXlm at %A%.
32000025 %A% %A% has released %A% license(s) to FLEXlm at %A%.
32000026 You have requested to run %A% on a %A% %A%. There are no version %A%
licenses installed to satisfy this request. License File: "%A%" Please request your
systems administrator to review the installation procedures for MSC.Software
products on your system and/or contact your Patran Support Representative for
further assistance.
32000027 FLEXlm found an expired NODELOCKED version %A% license for %A% in the
file %A% on your system. Attempting to allocate a CONCURRENT license from the
network license database...
32000028 %A% %A% has reacquired it's license(s) from FLEXlm per a request to execute on a
%A% %A% at %A%. License File: %A%
32000029 Your application has lost contact with the FLEXlm license server and did not
successfully release your allocated license(s). License File: "%A%". Please request
your systems administrator to review the installation procedures for MSC.Software
products on your system and/or contact your Patran Support Representative for
further assistance.
32000030 Request to run %A% is in FLEXlm input queue on %A%. License File: "%A%".
2092 PCL Reference Manual
Introduction

32000031 You have requested to run %A% on a %A% %A%. Currently, there are insufficient
version %A% licenses available to satisfy your request. License File: "%A%". Your
request will be placed in the FLEXlm input queue at %A%. To determine the current
allocation of licenses, on your network, please use the FLEXlm utility "lmstat".
Currently known users are: %A% Click OK to wait or "STOP" (the hand) to exit the
queue.
32000032 Welcome to %A%! You are using a special demonstration version of this software
product. This software has not been certified for production use and will not be
supported by MSC.Software Corporation. The use of this software is strictly intended
for promotional purposes only. Any other use of this software is strictly prohibited.
A license agreement (contract) for the use of this demonstration software from
MSC.Software Corporation. contains additional terms and conditions. The use of this
version of software constitutes acceptance of this license agreement. License File:
"%A%".
32000033 %A% is a group license member which would cause the group table limit of %I% to
be exceeded. License File: "%A%". Please request your systems administrator to
review the installation procedures for MSC.Software products on your system and/or
contact your Patran Support Representative for further assistance.
32000034 The number of options for %A% exceeds the maximum allowed, %I%. License File:
"%A%". Please request your systems administrator to review the installation
procedures for MSC.Software products on your system and/or contact your Patran
Support Representative for further assistance.
32000035 An option specified for %A% is unknown or misspelled. License File: "%A%". Please
request your systems administrator to review the installation procedures for
MSC.Software products on your system and/or contact your Patran Support
Representative for further assistance.
32000036 You have requested the use of %A%. This option has not been enabled at your site.
License File: "%A%". Please request your systems administrator to review the
installation procedures for MSC.Software products on your system and/or contact
your Patran Support Representative for further assistance.
32000037 The base license value for %A% is illegal or out of range. License File: "%A%".
Please request your systems administrator to review the installation procedures for
MSC.Software products on your system and/or contact your Patran Support
Representative for further assistance.
32000038 A group membership option for %A% was specified but is NULL. License File:
"%A%". Please request your systems administrator to review the installation
procedures for MSC.Software products on your system and/or contact your Patran
Support Representative for further assistance.
Chapter 11: Status Messages 2093
Introduction

32000039 The group license value for %A% is illegal or out of range. License File: "%A%".
Please request your systems administrator to review the installation procedures for
MSC.Software products on your system and/or contact your Patran Support
Representative for further assistance.
32000040 More than one group membership was specified for %A%. License File: "%A%".
Please request your systems administrator to review the installation procedures for
MSC.Software products on your system and/or contact your Patran Support
Representative for further assistance.
32000041 Your request to run %A% has been dequeued.
32000042 Your license to run %A% has been granted! %A%
32000043 Your license to run %A% cannot be granted at this time. There are no licenses
currently available and %A% license upgrades cannot be queued. Please try again
later. License File: "%A%".
32000044 The maximum %A% option value for %A% is illegal or out of range. License File:
"%A%". Please request your systems administrator to review the installation
procedures for MSC.Software products on your system and/or contact your Patran
Support Representative for further assistance.
32000046 Click "STOP" (the hand) at any time to exit the queue.
32000047 %A%
32000048 Your application has lost contact with the FLEXlm license server. Atempts to
reacquire license(s) have failed. The application will now exit. License File: "%A%"
Please request your systems administrator to review the installation procedures for
MSC.Software products on your system and/or contact your Patran Support
Representative for further assistance.
32000049 %A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%
%A%%A%%A%%A%%A%%A%%A%
%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%
%A%%A%%A%%A%%A%%A%%A%
%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%
%A%%A%%A%%A%%A%%A%%A%
%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%
%A%%A%%A%%A%%A%%A%%A%
%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%%A%
%A%%A%%A%%A%%A%%A%%A% %A%%A%%A%%A%%A%
32999999
A Patran function that has not yet been completely coded has been called.
2094 PCL Reference Manual
Introduction

Meshing Finite Elements Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that mesh finite elements.

33000000 MFE
33001001 MFE_INFO
33001002 MFE is not initialized.
33001003 Answer to your question is no.
33001004 Severity of the message %I% is unknown.
33001005 MFE_LAST_INFO
33002001 MFE_WARNING
33002003 MFE instance(s) still exist(s).
33002004 The MFE received an invalid pointer.
33002005 Type %I% is not a valid MFE type.
33002006 Type %I% is not a valid MFE edge type.
33002007 Type %I% is not a valid MFE face type.
33002008 Type %I% is not a valid MFE element type.
33002009 Topology engine is not available for MFE.
33002010 There is no association with the TE.
33002011 Item %I% exists in MFE.
33002012 Item %I% does not exists in MFE.
33002013 MFE received an invalid LM list handle.
33002014 Mbr for item %I% is not available.
33002015 Item %I% already has mbr.
33002016 Item size %I% for MFE type is too small.
33002017 Can't remove mfe item %I% type of %I%, it's still used by higher instances.
33002018 MFE received an invalid item label.
33002019 MFE received an invalid label for lower item.
33002020 Lower item does not exist.
33002021 MFE could not open the file for writing neutral file.
33002022 Invalid number of nodes for mfe item.
33002023 Mesh case %I% is invalid.
33002024 Requested item does not belong to this mesh case
33002025 MFE mesh case failure.
33002026 Matrix failure in MFE.
Chapter 11: Status Messages 2095
Introduction

33002027 Mesh case %I% is not active.


33002028 All mesh cases are already used.
33002029 MFE received an invalid topological type code.
33002030 MFE received an invalid topological item id.
33002031 MFE received an invalid action argument.
33002032 Requested MFE type is currently not used.
33002033 MFE reached the end of item list.
33002034 Requested node does not exist in MFE.
33002035 Vector failure inside MFE.
33002036 MFE received an invalid topological type code. lower items.
33002037 Can't merge items with different number of lower items.
33002038 Nodes ids do not match.
33002039 Requested mbr is not valid.
33002040 Message code %I% does not belong to the MFE.
33002041 MFE_LAST_WARNING
33003001 MFE_FATAL
33003002 This feature is not implemented.
33003003 MFE operation aborted by user.
33003004 MFE_LAST_FATAL
33004001 MFE_CRASH
33004002 Unknown fatal MFE failure.
33004003 Fatal List Manager failure inside MFE>
33004004 Fatal ID Dispenser failure inside MFE.
33004005 Fatal Topology Engine failure inside MFE.
33004006 MFE_LAST_CRASH
33011001 MFE_SMO_INFO
33011002 No nodes in mesh case to smooth.
33011003 MFE_SMO_LAST_INFO
33012001 MFE_SMO_WARNING
33012002 Input to smoother is invalid.
33012003 Input control parameter invalid.
33012004 Invalid nodal smooth flag.
33012005 Node flagged as constrained, but not found in constrained node list.
33012006 Requested node not in smoothing list.
2096 PCL Reference Manual
Introduction

33012007 Smoothing distortion computation error.


33012008 The norm^2 of old gradient is zero.
33012009 Maximum iterations reached in line search.
33012010 Search direction points uphill.
33012011 Opt. step length not found in this search direction.
33012012 Math error found in the optimization- based smoother.
33012013 Smoother could not uninvert all elements.
33012014 Misc. error in smoothing line search.
33012015 Error in constrained nodal smoothing.
33012016 Element Type %I% is not supported by the optimization-based smoother.
33012017 Invalid global smooth flag.
33012018 Invalid world id.
33012019 Invalid mesh type.
33012020 Invalid smooth method.
33012021 Invalid constraint data.
33012022 Smoother reached iteration limit.
33012023 Remeshing will be attempted to uninvert inverted element.
33012024 LAST_WARNING
33013001 MFE_SMO_FATAL
33013002 Smoothing code is incomplete.
33013003 Smoothing of mesh aborted by user.
33013004 MFE_SMO_LAST_FATAL
33014001 MFE_SMO_CRASH
33014002 Mesh smoothing failure.
33014003 Mesh smoothing failure in list manager.
33014004 Mesh smoothing failure in other mfe routines.
33014005 Mesh smoothing failure in mesher routines.
33014006 Mesh smoothing failure in graphics.
33014007 Mesh smoothing failure in 3D vector utilities.
33014008 Mesh smoothing failure in topology engine routines.
33014009 Mesh smoothing failure in surface evaluator routines. Error found either in
computing surface normal or projecting node to surface.
33014010 MFE_SMO_LAST_CRASH
33021001 MFE_CLN_INFO
Chapter 11: Status Messages 2097
Introduction

33021002 No data in specified mesh case to cleanup.


33021003 MFE_CLN_LAST_INFO
33022001 MFE_CLN_WARNING
33022002 Invalid input to the cleanup routines.
33022003 The cleanup routines could not delete element.
33022004 The cleanup routines could not insert element.
33022005 Could not order faces & edges around the node.
33022006 LAST_WARNING
33023001 MFE_CLN_FATAL
33023002 Cleanup code is incomplete.
33023003 Cleanup of mesh aborted by user.
33023004 Unexpected mesh topology found in cleanup.
33023005 Unsupported element type found in cleanup.
33023006 MFE_CLN_LAST_FATAL
33024001 MFE_CLN_CRASH
33024002 Mesh cleanup failure.
33024003 Mesh cleanup failure in list manager.
33024004 Mesh cleanup failure in other mfe routines.
33024005 Mesh cleanup failure in mesher routines.
33024006 Mesh cleanup failure in debugging graphics.
33024007 Mesh cleanup failure in 3D vector utilities.
33024008 Mesh cleanup failure in topology engine routines.
33024009 Mesh smoothing failure in surface evaluator routines. Error found either in
computing surface normal or projecting node to surface.
33024010 MFE_CLN_LAST_CRASH
33032001 MSG_MFE_SWEEP_WARNING
33032002 Sweeper received an invalid sweep method.
33032003 Sweeper received no fem entities to sweep.
33032004 Sweeper could not calculate normal for node %I%.
33032005 Unable to get sweep direction for face %I%.
33032006 Invalid sweep radius found for node %I%.
33032007 Unable to determine sweep direction.
33032008 Some elements were not swept to avoid making unsupported element shapes.
33032009 Surface evaluation failure %A% %A% %I%.
2098 PCL Reference Manual
Introduction

33040000 MSG_MFE_MOD
33043001 MSG_MFE_MOD_FATAL
33043002 Unknown fatal MFE modify failure.
33043003 MSG_MFE_MOD_LAST_FATAL
33052001 MSG_MFE_VERIFY_WARNING
33052002 No bad elements were found
33052003 MSG_MFE_VERIFY_LAST_WARNING
33053001 MSG_MFE_VERIFY_FATAL
33053002 MFE verify failure.

Automesher Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from automesh
functions.

34000000 AUTOMESH
34000100 User requested abort in AutoTetMesh.
34001000 Unable to open AutoTetMesh parameter file
%A%.
34001001 No mesh created for body %A%.
34001002 Cannot continue writing AutoTetMesh mesh
parameter file for body %A%. Error occurred
on line %I%: "%A%"
34001003 User requested abort while writing an
AutoTetMesh mesh parameter file.
34001004 No UG part file accessed yet.
34001005 Mesh subdivision level of %I% not permitted.
Value must be in the range 1 to 5.
34001006 %A% has unacceptable subdivision level of
%I%. Value must be in the range 1 to 5.
34001007 Cannot locate the AutoTetMesh executable
"paroct".
34001008 The highlighted edges have illegal
Unigraphics Tags. The mesh parameter will
be ignored.
34001009 Starting the AutoTetMesher. The meshing
process may take a while.
34001010 Cannot open the scale file.
Chapter 11: Status Messages 2099
Introduction

34001011 Cannot write to the scale file.


34001012 No Unigraphics solid selected.
34001013 More than one solid selected. At present the
AutoTetMeshser can only mesh one solid at a
time.
34001014 Cannot open the octree temporary file.
34001015 Cannot write to the octree temporary file.
34001016 The transmit file *.xmt_txt does not exist.
This file is required for the AutoTetmesher to
work.
34001017 The scale file Autotetmesh_xmt_scale_factor
does not exist. This file is required so that the
model is scaled properly.
34001018 There are %I% soft edges in the part file.
These edges are not pickable.
34001019 There are no soft edges in the part file.
34001020 A mesh already exist in one of the solid that
was picked.
34001021 Invalid maximum element length entered.
Please reenter with a nonzero value.
34001022 Invalid minimum element length entered.
Please reenter with a nonzero value.
34001023 Maximum element length of %F% exceeded
the calculated maximum element length of
%F% allowed by the AutoTetMesher. The
calculated element length will be used
instead.
34001024 Minimum element length of %F% exceeded
the calculated Minimum element length of
%F% allowed by the AutoTetMesher. The
calculated element length will be used
instead.
34001025 The curvature refinement value must be less
than one. The given value of %F% is out of
bounds. The value of %F% will be used
instead.
34001026 The curvature refinement value must be
greater than zero. The given value of %F% is
out of bounds. No curvature refinement will
be used.
2100 PCL Reference Manual
Introduction

34001027 Maximum element length must be greater


than the minimum element length. Please
reenter.
34001028 The curvature refinement value must be
greater than 0.0 and less than 1.0 Please
reenter value.
34001029 The aspect ratio must be greater than 1.0
Please reenter value.
34001030 The small feature removal percentage must be
between 0.0 and 100.0 percents. Please
reenter value.
34002000 Unable to open AutoTetMesh results mesh
file %A%.
34002001 Empty or partial AutoTetMesh results mesh
file. Possible meshing failure while meshing
body %A%. Error occurred on line %I%:
"%A%"
34002002 User requested abort while reading in an
AutoTetMesh results file.
34002003 Incorrect node indexing in AutoTetMesh
results mesh file at line %I%: "%A%". Node
index should be %I%.
34002004 Incorrect node indexing in AutoTetMesh
results mesh file at line %I%: "%A%". Node
Index should be less or equal to %I%.
34002005 Unable to retrieve element verification
thresholds from the database. Nodes will not
be moved to the geometry.
34002006 AutoTetMesher completed. Please check the
console window for status. To view the mesh,
select "Import" under the "File" menu.
34002007 AutoTetMeshing effort failed. Please make
sure that the body is a UG solid. Error
diagnostics may be found from the console
screen and/or AutoTetMesh.err
34003000 Unable to open AutoTetMesh statistics file
%A%
34003001 Cannot continue to read AutoTetMesh
statistics file %A%. Error occurred on line
%I%: "%A%"
Chapter 11: Status Messages 2101
Introduction

34003002 AutoTetMeshing Statistics are located in


octree.sts file.
34004000 Problem detected while meshing. Model
entity %I% (Parasolid node ID) closes on
itself. Currently, the AutoTetMesher cannot
handle this problem. Possible courses of
actions maybe: 1) turn aspect ratio constraint
off by setting aspect ratio to zero. If still
detect problem, 2) try turning curvature
refinement off as well. If still detect problem,
3) increase the minimum element length. If
the mesher still fails, this part may be
meshable if the specified entity were modified
or removed in UNIGRAPHICS and re-
accessed in p3.ug.
34004001 Problem is detected while meshing. Model
entities %I% and %I% (Parasolid node IDs)
are in contact. Currently, the AutoTetMesher
cannot handle this problem. Possible courses
of actions maybe: 1) turn aspect ratio
constraint off by setting aspect ratio to zero. If
still detect problem, 2) try turning curvature
refinement off as well. If still detect problem,
3) increase the minimum element length. If
the mesher still fails, this part may be
meshable if the specified entities were
modified or removed in UNIGRAPHICS and
re-accessed in p3.ug.
34004002 Problem is detected while meshing. Model
entities %I% and %I% (Parasolid node IDs)
are within modeler tolerance. Currently, the
AutoTetMesher cannot handle this problem.
Possible courses of actions maybe: 1) turn
aspect ratio constraint off by setting aspect
ratio to zero. If still detect problem, 2) try
turning curvature refinement off as well. If
still detect problem, 3) increase the minimum
element length. If the mesher still fails, this
part may be meshable if the specified entities
were modified or removed in
UNIGRAPHICS and re-accessed in p3.ug.
2102 PCL Reference Manual
Introduction

34004003 Problem is detected while meshing. Model 2/ 3) 2/ If the mesher still


entities %I% and %I% (Parasolid node IDs) increase the fails, this part may be
are very close to each other. Currently, the minimum meshable if the
AutoTetMesher cannot handle this problem. element specified entities were
Possible courses of actions maybe: length. modified or removed in
UNIGRAPHICS and
turn aspect ratio constraint off by setting re-accessed in p3.ug.
aspect ratio

2/ to zero. If still detect problem,


34004004 Problem encountered while meshing.
Subdivision level is too small. Possible causes
are: 1) a model entity (such as tolerant edge)
that the AutoTetMesher cannot handle at this
time, 2) a very small feature defined in the
model, or 3) incorrect specification of
meshing parameters. Please check your
model or send this model to MSC.Software
Customer Support. Thank you.
34004005 Problem is detected while meshing. Model
edges %I% and %I% (Parasolid node IDs)
bounding the model face are within modeler
tolerance. Currently, the AutoTetMesher
cannot handle this problem. This part may be
meshable if the specified entity were modified
or removed in UNIGRAPHICS and re-
accessed in p3.ug.

Range Tree Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from range tree
functions.

35000000 RT
35001001 RT_INFO
35001002 Answer to your question is no.
35001003 The Range Tree utility is not initialized.
35001004 Severity of the message %I% is unknown.
35001006 RT_LAST_INFO
35002001 RT_WARNING
35002002 Can't shut down RT with cells in trees.
35002003 Can't shut down RT with active trees.
35002004 Cell index %I% is not valid.
Chapter 11: Status Messages 2103
Introduction

35002005 Search filter %I% is not valid here.


35002006 Client supplied list handle, %I%, is not valid.
35002007 Items with invalid MBRs not allowed in tree with handle %I%.
35002008 Pointer %A% is not valid.
35002009 Tree Handle %I% is not valid.
35002010 Parameters for tree are not acceptable.
35002011 Attempted to delete item id %I% which is not in tree with handle %I%.
35002012 Tree with Handle %I% is empty.
35002013 Search tolerance vector is not valid.
35002014 The List Manager has failed in the Range Tree utility.
35002015 Message code %I% does not belong to the Range Tree utility.
35002016 RT_LAST_WARNING
35003001 RT_FATAL
35003002 RT_LAST_FATAL
35004001 RT_CRASH
35004002 Undefined fatal Range Tree failure.
35004003 Unable to initialize Range Tree utility.
35004004 Failure due to system memory failure.
35004005 RT_LAST_CRASH

File Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that handle data file input and output.

36000000 FILE
36000001 Cannot open database %A%. A database is already open.
36000002 Database %A% already exists. Do you wish to delete the existing database and create
a new one ?
36000003 Database %A% does not exist. Do you wish to create a new database ?
36000004 Database %A% already exists. Cannot create an existing database.
36000005 %A% File %A% already exists. Do you wish to delete the existing %A% file and create
a new one ?
36000006 Database %A% does not exist.
36000007 Reverting will remove all changes made during this session. Are you sure you want to
revert ?
2104 PCL Reference Manual
Introduction

36000008 Backup file %A% cannot be found. Unable to Revert.


36000009 Creating database backup files.
36000010 Restoring the database from the backup files.
36000011 Old backup files exists for %A%. Do you want to update them with the current
database and journal file ?
36000012
Do you wish to save changes made to the Patran database during this session ?
36000013 UG part file %A% is associated with this database. Part file will be backed up as well.
36000014 Note! Reclaiming unused space will delete UNDO history. Approximately %F.2%
MB are reclaimable. OK to continue?
36000015 Reclaiming unused space in the database... please wait.
36000016 Reclaimed %F.2% MB of %F.2% MB.
36000017 Backup file %A% cannot be found. Unable to revert. Do you want to continue closing
the database ?
36000018 UG backup part file %A% does not exist. Cannot revert the part file.
36000019 Do you want to update your backup files ?
36000020 Are you sure you want to use these old files for reverting ?
36000021 A database name has not been specified. Please specify the name of the database to
create.
36001001 Exporting %I% Node packets.
36001002 Exporting %I% Element packets.
36001003 Exporting %I% Material properties packets.
36001004 Exporting %x% Physical properties packets.
36001005 Exporting %I% Coordinate frame packets.
36001006 Scanning %I% nodes for loads packets.
36001007 Scanning %I% nodes for forces packets.
36001008 Scanning %I% nodes for constraints packets.
36001009 Scanning %I% elements for beam displacements.
36001010 Scanning %I% nodes for temperatures packets.
36001011 Scanning %I% elements for temperatures packets.
36001012 Exporting %I% element dof lists packets.
36001013 Exporting %I% constraint packets.
36001014 Scanning %I% nodes for heat source packets.
36001015 Scanning %I% elements for heat source packets.
36001016 Scanning %I% elements for convection packets.
Chapter 11: Status Messages 2105
Introduction

36001017 Scanning %I% elements for radiation packets.


36001018 Scanning %I% elements for view factors packets.
36001019 Exporting %I% element name definition packets.
36001020 Exporting %I% grid data packets.
36001021 Exporting %I% line data packets.
36001022 Exporting %I% patch data packets.
36001023 Exporting %I% hyperpatch data packets.
36001024 Exporting %I% data line data packets.
36001025 Exporting %I% data patch data packets.
36001026 Exporting %I% data hyperpatch data packets.
36001027 Exporting %I% field packets.
36001028 Exporting %I% list data packets.
36001029 Exporting %I% data card packets.
36001030 Exporting line mesh packets.
36001031 Exporting patch mesh packets.
36001032 Exporting hyperpatch mesh packets.
36001033 Exporting %I% CFEG data packets.
36001034 Database Error occurred in routine %A% with error code %I%.
36001035 %I% %A% written to the neutral file.
36001036 Successfully completed writing File "%A%".
36001037 Cannot open file "%A%".
36001038
Parasolid transmit file %A% does not exist. ( If an Patran subprocess was executed to
create the file, it terminated abnormally. )
36002001
Unable to open the Patran database "%A%".
36002002 Abort detected during MSC Nastran Input File import.
36002003 Temporary Restriction: MSC Nastran input file must end in ".dat".
36002004
The new MSC. Nastran Input File Reader is not checked into this version of Patran yet.
36002005 An item to be referenced by this could not be found in the database
36002100 Unable to allocate %I% bytes in %A%.
36002101 Unable to start MSC Nastran server (%I%).
36002102 Parsing input file...
36002103 Importing data...
36002104 Unable to create new group %A%.
2106 PCL Reference Manual
Introduction

36002105 Using new group %A%.


36002106 Opening MSC Nastran DBALL file...
36002107 Unable to find old block of memory.
36002108 Unable to expand memory map table.
36002109 Unable to find specified memory block in table for MemFree.
36002110 Unable to open %A% data block.
36002111 %I% %A% written to database.
36002112 Reading of MSC Nastran input file completed.
36002113 A conflict was encountered creating "%A%". "%A%" was created instead.
36002114 Do you really want to undo the import file read?
36002115 %A% %I% already exists in the database. Do you want to offset the ID that is being
read?
36002116 Do you want to overwrite the %A% already in the database?
36002117 Fatal errors encountered trying to read input file. The import process was aborted.
36002118 %A%
36002119 The ID offset for %A% import has been set to %I%.
36002120 The node ID offset has been set to %I% and the element ID offset has been set to %I%,
but no nodes or elements were found in the input file. References to node IDs and
element IDs by LBCs will be offset by these amounts. Do you want to reset the node
and element ID offsets to 0 before importing the LBCs?
36002121 The node ID offset has been set to %I%, but no nodes were found in the input file.
References to node IDs by LBCs will be offset by this amount. Do you want to reset
the node ID offset to 0 before importing the LBCs?
36002122 The element ID offset has been set to %I%, but no elements were found in the input
file. References to element IDs by LBCs will be offset by this amount. Do you want
to reset the element ID offset to 0 before importing the LBCs?
36002123 The node ID offset value has been reset to 0.
36002124 The element ID offset value has been reset to 0.
36002150 Unable to process coordinate frame data.
36002151 Unable to load coordinate frame ID = %I% for the following reason...
36002200 Unable to process node data.
36002201 Unable to transform XYZ for node ID = %I%.
36002202 Unable to load node ID = %I% for the following reason...
36002250 Unable to save data for card type %I%.
36002251 Unable to process data for card type %I%.
36002252 Unable to load element ID = %I% for the following reason...
Chapter 11: Status Messages 2107
Introduction

36002253 Unable to find definition for card type %I%.


36002254 Unable to properly assign MSC Nastran elements %I% to property sets due to internal
EID conflicts. Check property assignments for Patran elements created from these
MSC Nastran elements.
36002255 A duplicate element ID has been detected for MSC Nastran element ID %I%. This may
cause property sets to have the incorrect application region. Check property set
definitions before submitting an analysis.
36002300 The material with ID = %I% has not been created.
36002301 No properties were created for material ID = %I%
36002302 Unable to initialize %I% bytes in addProperties
36002303 Unable to create properties for material ID = %I% for the following reason...
36002304 Unable to create material model for material ID = %I% for the following reason...
36002305 Unable to find constitutive model for material ID = %I%.
36002306 Unable to modify material ID = %I% for the following reason...
36002307 Unable to create material ID = %I% for the following reason...
36002308 Unable to process data for %A% material.
36002309 Unable to find definition for card type %I%.
36002310 Unable to retrieve information for MSC Nastran MID %I%.
36002311 Unable to create material for PCOMP %I%.
36002312 Unable to create material model for PCOMP %I%.
36002313 Unable to create material data for PCOMP %I%.
36002314 New material %A% created without properties to resolve missing reference.
36002350 Unable to associate Element ID %I% to an application region.
36002351 Unable to memcpy in BdfImpGetEpGeom2 for card type %I%.
36002352 Unable to determine intensification type.
36002353 Unable to determine maximum property set id.
36002354 Unable to load property set %A% for the following reason...
36002355 Unable to determine element property set for PID = %I%.
36002356 Property with ID = %I% is not being processed.
36002357 Unable to update field for property with ID = %I%.
36002358 Unable to load property with ID = %I% for the following reason...
36002359 Could not find properties for set definition ID = %I%.
36002360 The property set with PID = %I% has not been created.
36002361 Unable to find definition for card type %I%.
2108 PCL Reference Manual
Introduction

36002362 The PCOMP is not supported by the api at this time.


36002363 Unable to process data for card type %I%.
36002364 Unable to determine topology for element ID = %I%.
36002365 Unable to get properties from database for property set ID = %I%.
36002366 Unable to get property count for property set "%A%".
36002367 Unable to find PID for property set %A%.
36002368 Unable to find property set with PID = %I%.
36002369 Unable to get database properties for property set "%A%".
36002370 Unable to create properties for property set "%A%".
36002371 Increase the size of MAX_PHONY_PIDS in NifImpReadGeom2.C.
36002372 Unable to determine proper CBEND orientation for MSC Nastran element ID %I%.
36002373 A property associated with element ID = %I% has an unknown data type.
36002374 The number of corner nodes could not be determined for topology code %I%.
36002375 The number of element property sets could not be retrieved from the database.
36002376 The element property set IDs could not be retrieved from the database.
36002377 An error occurred while trying to retrieve %A% from the database.
36002378 A real list could not be created for the "%A%" property.
36002379 The property value has been saved.
36002380 New property set %A% created without properties to resolve missing reference.
36002381 Unknown property word datatype %I% for property word %I%.
36002382 Unusual error! Element %I% exceeded the maximum number of properties in the
connectivity card with %I% properties. Imported element properties are highly
questionable.
36002400 The field type %I% is not recognized.
36002401 Unable to load property with ID = %I% for the following reason...
36002402 Unable to copy data for property ID = %I%.
36002403 Unable to find definition for property with ID = %I%.
36002404 The field named "%A%" could not be created.
36002405 Unable to copy field data into buffer.
36002452 Unable to find definition for card type %I%.
36002500 The dimensionality of element ID = %I% is invalid for the %A% with SID = %I%.
36002501 The element ID = %I% is referenced in the %A% with SID = %I%, but the element
does not exist.
36002502 The element definition could not be determined for element ID = %I%.
Chapter 11: Status Messages 2109
Introduction

36002503 The face on element ID = %I% could not be determined from node IDS = %I%, %I%
for the PLOAD4 with SID = %I%.
36002504 The edge on element ID = %I% could not be determined from node IDS = %I%, %I%
for the PLOADX1 with SID = %I%.
36002505 The %A% in the load set map is not recognized for card type %I%.
36002506 There are no more load values.
36002507 The load set "%A%" could not be created because of a database error.
36002508 The element with ID = %I% could not be added to the application region for the %A%
card.
36002509 The node with ID = %I% could not be added to the application region for the %A%
card.
36002510 The load set name could not be retrieved from the database.
36002511 The property set name could not be retrieved from the database.
36002512 The variable name could not be found for the load set named "%A%".
36002513 The value could not be associated to the load set "%A%".
36002514 The PLOAD4 with SID = %I% cannot be imported for element ID = %I%, because
tractions are not supported on element faces.
36002515 An error occurred while trying to retrieve the connectivity for element ID = %I% from
the database.
36002516 The surface temperatures were not imported, because the element thicknesses could
not be determined.
36002517 The %A% surface temperature could not be imported for element ID = %I%, because
the thickness could not be determined for this element.
36002518 The transformation to the beam element system could not be performed for element ID
= %I%, because the element's orientation has not been defined. The PLOAD1 with
SID = %I% cannot be imported for this element.
36002519 The node ID = %I% is referenced in the %A% with SID = %I%, but the node does not
exist.
36002520 The magnitude of the vector that defines the beam orientation for element ID = %I%
is too small. The PLOAD1 with SID = %I% cannot be imported for this element.
36002521 The orientation for element ID = %I% could not be determined, because the length of
this element is too small. The PLOAD1 with SID = %I% cannot be imported for this
element.
36002522 The direction of the orientation vector is parallel to the axis of the beam for element ID
= %I%. The PLOAD1 with SID = %I% cannot be imported for this element.
36002523 The shape of element ID = %I% was not recognized when the %A% with SID = %I%
was imported.
2110 PCL Reference Manual
Introduction

36002524 The transformation matrix could not be determined for element ID = %I%. The %A%
with SID = %I% cannot be imported for this element.
36002525 The transformation matrix could not be determined for element ID = %I%, because the
loaded edge is too small. The PLOADX1 with SID = %I% cannot be imported for this
element.
36002526 The node ID = %I% could not be found in the element connectivity for element ID =
%I%.
36002527 The face number %I% does not exist on element ID %I%.
36002528 The node ID = %I% does not exist on face number %I% for element ID = %I%.
36002529 The shape of face number %I% on element ID = %I% is not recognized.
36002530 The number of corner nodes specified for face number %I% on element ID = %I% is
incorrect.
36002531 The edge number %I% does not exist on element ID %I%. The %A% with SID = %I%
cannot be imported for this element.
36002532 The load set with SID = %I% could not be found in the database.
36002534 The application region does not exist for the "%A%" load set.
36002535 The element with ID = %I% could not be added to the application region for the
"%A%" load set. %I%.
36002536 The node with ID = %I% could not be added to the application region for the "%A%"
load set.
36002537 The data for this variable is null.
36002538 %I% Load Sets of type "%A%" written to database.
36002539 Filtering was not done on spc1 load sets.
36002540 The PLOAD1 with SID = %I% cannot be imported for element ID = %I%, because the
load does not span the entire length of the element.
36002541 The SCALE field on the PLOAD1 with SID = %I% is not recognized for element ID
= %I%. This load cannot be imported.
36002542 New coordinate frame %I% has been created for use in importing RFORCE with SID
= %I% at MSC Nastran GRID %I%.
36002543 The relation that maintains unique entities in the application region could not be
created for the load sets.
36002544 An RFORCE in set %I% applied to node %I% references a non-rectangular coordinate
frame; %I%. This load can not be imported.
36002550 The load case "%A%" could not be created because of a database error.
36002551 The loads and boundary condition counters can only be updated for a combination card
type.
36002600 The maximum allowable number of subcases has been exceeded. It is currently set to
%I%.
Chapter 11: Status Messages 2111
Introduction

36002650 Do you really want to UNDO import file read?


36002700 MscNastranDbServer: No Error Encountered while reading %A%. Additional server
messages can be found in %A%.
36002701 MscNastranDbServer: Bad Parameter passed while reading %A%. Additional server
messages can be found in %A%.
36002702 MscNastranDbServer: Bad Data Record passed while reading %A%. Additional server
messages can be found in %A%.
36002703 MscNastranDbServer: Data Truncated while reading %A%. Additional server
messages can be found in %A%.
36002704 MscNastranDbServer: Memory Limit exceeded while reading %A%. Additional
server messages can be found in %A%.
36002705 The MscNastranDbServer has detected a Duplicate Definition while reading %A%.
Additional server messages can be found in %A%.
36002706 MscNastranDbServer: No Such Group defined while reading %A%. Additional server
messages can be found in %A%.
36002707 MscNastranDbServer: No Such Entity defined while reading %A%. Additional server
messages can be found in %A%.
36002708 MscNastranDbServer: No Such Evaluator Class while reading %A%. Additional
server messages can be found in %A%.
36002709 MscNastranDbServer: INTERNAL ERROR while reading %A%. Additional server
messages can be found in %A%.
36002710 MscNastranDbServer: Operating System Error while reading %A%. Additional server
messages can be found in %A%.
36002711 MscNastranDbServer: Error Message Unavailable while reading %A%. Additional
server messages can be found in %A%.
36002712 MscNastranDbServer: Too many Errors while reading %A%. Additional server
messages can be found in %A%.
36002713 MscNastranDbServer: Error Store Full while reading %A%. Additional server
messages can be found in %A%.
36002714 MscNastranDbServer: No Configuration Information while reading %A%. Additional
server messages can be found in %A%.
36002715 MscNastranDbServer: Unable to establish communications with %A%. Check that
you have execute privilege for this file.
36002716 MscNastranDbServer: Numerical Error in Evaluator while reading %A%. Additional
server messages can be found in %A%.
36002717 MscNastranDbServer: Point not close enough while reading %A%. Additional server
messages can be found in %A%.
36002718 MscNastranDbServer: Ambiguous Variable Definition while reading %A%.
Additional server messages can be found in %A%.
2112 PCL Reference Manual
Introduction

36002719 MscNastranDbServer: Invalid Variable Definition while reading %A%. Additional


server messages can be found in %A%.
36002720 MscNastranDbServer: Evaluator Specific Error while reading %A%. Additional server
messages can be found in %A%.
36002721 MscNastranDbServer: Connect to External Evaluator while reading %A%. Additional
server messages can be found in %A%.
36002722 MscNastranDbServer: Connection Timed Out while reading %A%. Additional server
messages can be found in %A%.
36002723 The MscNastranDbServer has Crashed while reading %A%. Additional server
messages can be found in %A%.
36002724 MscNastranDbServer: Bulk Data File %A% was not found.
36002725 MscNastranDbServer: Invalid Error Code while reading %A%. Additional server
messages can be found in %A%.
36002750 MscNastranDbServer: Bulk Data File %A% was not readable.
P

P/Thermal Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that handle Patran thermal analysis.

37000000 P/THERMAL
37000001 Input Error
37001001 Index error.
37001002 Only select one row, From row used.
37001003 Not the next index, Try again.
37001004 Index is not in valid range, Try again.
37001005 Independent Variable must be Increasing.
37001006 Independent Variable out of Range, Must be Monotonically Increasing.
37001007 Invalid option combinations have been selected.
37001008 A valid option has not been specified.
37001009 The data value must be less than or equal to 1.0.
37001010 The data value must be greater than or equal to 1.0E-5 and less than or equal to 0.5.
37001011 The data value must be greater than or equal to 3 and less than or equal to 16.
37001012 Both Radial and Centerline Axis for the axisymmetric geometry have been set to the
same global axis. This is not a valid combination.
37001013 No results template file has been defined.
Chapter 11: Status Messages 2113
Introduction

37001014 No nodal results file has been specified.


37001015 No Material Property ID was specified
37001016 No Material Property Table Data was defined.
37001017 Insufficient Material Property Table data was defined. Must have at least two ( 2 )
entries.
37001018 Insufficient Material Property Table data was defined. Must have at least three ( 3 )
entries.
37001019 Insufficient virtual memory available to allocate requested space. Abort function.
37001020 No Material Property Base independent variable value was specified for the LCI option.
37001021 No Material Property Base independent variable incremental value was specified for the
LCI option.
37001022 No Material Property Slope was specified for the straight line option.
37001023 No Material Property Intercept was specified for the straight line option.
37001024 No Material Property Multiplier was specified for the Reciprocal option.
37001025 No Material Property Reference value was specified for the Sutherland Equation option.
37001026 No Material Property Temperature value was specified for the Sutherland Equation
option.
37001027 No Material Property Coefficient value was specified for the Sutherland Equation
option.
37001028 No Micro Function ID was specified
37001029 User specified micro function Option Indexes must be greater than 1000.
37001030 No Micro Function Table Data was defined.
37001031 Insufficient Micro Function Table data was defined. Must have at least two ( 2 ) entries.
37001032 Insufficient Micro Function Table data was defined. Must have at least three ( 3 )
entries.
37001033 Template ID must be positive integer greater than zero ( 0 ).
37001050 LBCs are defined in multiple load cases which P/THERMAL does not support. There
is a risk of generating duplicate LBCs because all load cases will be translated. Do you
wish to continue?
37001051 Need a job name to be specified. Define one in the name data box and try initializing
forms again.
37001052 The job name %A% was not created and the function was aborted. The error status was
%I%.
37001053 The job name %A% was not in the data base and the function was aborted. The error
status was %I%.
37001060 General field table does not supply enough information for a P/THERMAL micro
function. This field %A% will not be translated.
2114 PCL Reference Manual
Introduction

37001061 Multiple term general fields are not translated as P/THERMAL micro function. This
field %A% will not be translated.
37001062 This is not a valid P/THERMAL micro function. This field %A% will not be translated.
37001071 The Fluid Node was not specified.
37001072 Requested Constant or Spatial data, but none was specified.
37001073 Requested Integer data, but none was specified.
37001074 No data was specified. Although any data not specified will have an assumed value of
1.0, At least one entry must be specified even if it has a value of 1.0.
37001100 When "Selection" is chosen for the order of coupled temperature LBCs, the second list
must have either one node or the same number of nodes as the first list.
37001101
Unable to allocate memory for direct translation of LBCs to Patran THERMAL files.
37001102 Error retrieving load set information.
37001103 Error opening %A% output file.
37001104 Error retrieving load case information for "%A%".
37001105 Error retrieving load set data from "%A%".
37001106 Error counting load set data from "%A%".
37001107 When "Selection" is chosen for the order of gap convection or gap radiation LBCs, the
second list must have only one node.
37001108
During direct translation of LBCs to Patran THERMAL files, was unable to find desired
element ID %I%. Translation aborted.
37001109 Invalid element type - %I% - was encountered During direct translation of LBCs to
Patran THERMAL files. Element ID was %I%. Translation aborted.
37001110 During direct translation of gap Convection of element %I% - Abort. Check previous
messages for more information.
37001111 During direct translation of gap Radiation of element %I% - Abort. Check previous
messages for more information.
37001112 During gap radiation direct translation node ID (%I%) was defined in both the
application and companion regions. This is not valid. Probably caused by more nodes
being selected at a common interface than belongs to the entity selected. Do you wish
to abort the translation?
37001113 During gap convection direct translation node ID (%I%) was defined in both the
application and companion regions. This is not valid. Probably caused by more nodes
being selected at a common interface than belongs to the entity selected. Do you wish
to abort the translation?
Chapter 11: Status Messages 2115
Introduction

37001114 During direct translation of the temperature coupling LBC, node ID (%I%) was defined
in both the application and companion regions. This is not valid. Probably caused by
more nodes being selected at a common interface than belongs to the entity selected. Do
you wish to abort the translation?
37001115 Error retrieving Element Region Definition for "%I%" region ID and element "%I%".
Possible cause - element properties were not defined.
37001116 Unable to get the element property "%A%".
37001117 During translation of gap Radiation for element edges. Element %I% created this
condition - abort.
37001118 During direct translation of gap Radiation applied to element face %I% - abort.
37001119 Direct translation of gap Radiation applied to nodes is not supported. Ignore this
boundary condition for node %I%.
37001120 Direct translation of gap Radiation applied to this element type is not supported.
Element ID is %I% - abort.
37001121 During translation of gap Convection for element edges. Element %I% created this
condition - abort.
37001122 During direct translation of gap Convection applied to element face %I% - abort.
37001123 Direct translation of gap Convection applied to nodes is not supported. Ignore this
boundary condition for node %I%.
37001124 Direct translation of gap Convection applied to this element type is not supported.
Element ID is %I% - abort.
37001125 No region 1 entities were defined for %A% - abort translation. Probable cause: 1)
Incorrect entity type selected 2) Duplicate nodes defined in region 1 & 2. 3) Forgot to
complete FEM definitions. Examine previous error and warning message for more
information.
37001126 No region 1 entities were defined for loadset %A%. This loadset ignored. Probably
caused by forgetting to mesh some geometry or using the incorrect entity type. Most
common error is applying LBC to 2d entity when it is a solid face which should be a 3D
entity.
37001127 No region 2 entities were defined for loadset %A%. This loadset ignored. Probably
caused by forgetting to mesh some geometry or using the incorrect entity type. Most
common error is applying LBC to 2d entity when it is a solid face which should be a 3D
entity.
37001128 Duplicate nodes (%I%) were defined in regions 1 and 2 for loadset %A%. This is not
valid. Probably caused by more nodes being selected at a common interface than
belongs to the entity selected. Another cause is selecting neighbor while picking. Abort
translation.
37001129 An invalid condensation option (%I%) was specified while calculating the edge subarea
of element (%I%). Skip translation of this load set.
2116 PCL Reference Manual
Introduction

37001130 A bad thickness option (%I%) for the entity region ID of (%I%). This occurred for a gap
boundary condition applied to a shell edge. Skip translation of this load set.
37001131 A bad field definition (%I%) was requested for data type (%I%) %A%. Skip translation
of this load set.
37001132 A bad element edge subarea calculation for element (%I%) with region ID of (%I%) and
condensation flag of (%I%). During %A%. Skip translation of this load set.
37001133 A bad element edge area calculation for element (%I%) and edge (%I%). Occurred
during %A%. Skip translation of this load set.
37001134 The independent variable must be Monotonically increasing. Data was only input in
first selected cell and focus was set to next cell in column.
37001135 There is no data in spread sheet. If don't what to create table, exit with CANCEL button
rather than OK.
37001136 There is empty data cell in the spread sheet. Please complete the table before activating
the OK button.
37001137 No Table Name was specified. Please define one.
37001150 The Micro Function name %A% with MFID = %I% already exist. Do you want to
overwrite?
37001151 The Micro Function Id, MFID = %I% belongs to Micro Function %A%. Can not have
two micro functions with the same Id. Creation aborted.
37001152 The Micro Function name %A% already exist. You are assigning a new Id, MFID =
%I%. Do you want to overwrite?
37001153 The Micro Function name requested - %A% is not valid. Specify a new name.
37001154 There was and Error creating a Micro Function. Operation was aborted.
37001155 Unable to find Field ID %I%, operation not completed.
37001156 The Field %A% is not a valid P/THERMAL micro function table, do not load it. Rather,
reset the form and continue. This field function can be modified through the fields menu.
37001157 Need a Micro Function Description.
37001158 The Micro Function Id, MFID = %I% already exist. Can not have two micro functions
with the same Id. Creation aborted.
37001160 The Material Property name %A% MPID = %I% already exist. Do you want to
overwrite?
37001161 The Material Property Id, MPID = %I% belongs to Material Property %A%. Can not
have two material properties with the same Id. Creation aborted.
37001162 The Material Property name %A% already exist. You are assigning a new Id, MPID =
%I%. Do you want to overwrite?
37001163 The Material Property name requested - %A% is not valid. Specify a new name.
37001164 There was and Error creating a Material Property. Operation was aborted.
Chapter 11: Status Messages 2117
Introduction

37001165 The Field %A% is not a valid P/THERMAL material property table, do not load it.
Rather, reset the form and continue. This field function can be modified through the
fields menu.
37001166 Need a Material Property Description.
37001167 Creating monotonically increase table record.
37001168 The Material Property Id, MPID = %I% already exist. Can not have two material
properties with the same Id. Creation aborted.
37001180 There is no data in one of the Application Region %I%. This is not Valid. Select some
entities or exit through the cancel button.
37001181 The Select Application option can only have one (1) node or point entity defined until
such time as the list processor will not sort the entries. If multiple entries are desired,
use the Closest Approach option.
37001182 The Select Application option can only have one (1) Node or Point entity defined until
such time as the list processor will not sort the entries. If multiple entries are desired,
use the Closest Approach option. Otherwise the entity which has more than one node
per element must be replaced with a Point or Node.
37001183 During direct translation of Fixed Flux Heating on element %I% - Abort. Check
previous messages for more information.
37001184 During direct translation of Flux Heating Table on element %I% - Abort. Check
previous messages for more information.
37001185 Unable to calculate Surface Area for Element %I% - Abort. Check previous messages
for more information.
37001186 Unable to calculate Surface Edge Area for Element %I% - Abort. Check previous
messages for more information.
37001187 Unable to calculate Surface Face Area for Element %I% - Abort. Check previous
messages for more information.
37001188 The entity type which requested Surface Area calculations for Element %I% is not
supported - Abort. Check previous messages for more information.
37001189 An invalid condensation option (%I%) was specified for a Bar Element (%I%) while
attempting to calculate element subarea. Skip translation of this load set.
2118 PCL Reference Manual
Introduction

Solid Geometry Manager Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that are part of the solid geometry manager.

38000000 SGM
38000001 The allocated space for the blob is too small.
38000002 Input surface is not a four-sided surface.
38000003 No blob provided.
38000004 Multiple blobs defined for a surface.
38000005 Solid is not a triparametric solid in the conventional sense (cannot be mapped into a cube
in parametric space).
38000050 A Gap exists between two of the faces in the Body. This may be due to edges not
matching directly or a missing face. Edges are highlighted. Use Edit/Surface/Edge
Match to close the gaps, then use Create/Solid/Brep to create the solid.
38000051 The body is non-manifold. It contains a face or edge that does not have a manifold
connection to the body (which means it may not be manufacturable) or it has bad
topology (which is an error condition which prevents the paver from working). Non-
manifold connections mean that multiple solids should be created from the surfaces
selected. To isolate and fix bad topology (if surfaces cannot be used to create multiple
solids), try paving neighboring general trimmed surfaces to find the surface that won't
pave, disassemble it, reassemble, and try pave meshing again. Once the paver can pave
the surface, then try creating the B-Rep solid again.
38000052 Unable to calculate the volume of body %I%.
38000053 Reorienting faces: iteration #%I%
38000054 Free edges and/or non-manifold edges exist. Free edges may be due to edges not
matching directly or a missing face. Non-manifold edges are due to more than two
surfaces connecting at the same edges. Edges are highlighted and marked with primary
markers for free edges and secondary markers for non-manifold edges.
38000055 Checking %I% edges for gaps.
38000056 Checking the edges of %I% surfaces for geometric gaps.
38000057 T-Edge %A% broken at %A% into edges %A% and %A%.
38000058 Gap edges %A% and %A% merged into edge %A%.
38000059 The body is non-manifold. It contains a face or edge %A% that does not have a
manifold connection to the body (which means it may not be manufacturable) or it has
bad topology (which is an error condition which prevents the paver from working).
Non-manifold connections mean that multiple solids should be created from the
surfaces selected. To isolate and fix bad topology (if surfaces cannot be used to create
multiple solids), try paving neighboring general trimmed surfaces to find the surface
that won't pave, disassemble it, reassemble, and try pave meshing again. Once the paver
can pave the surface, then try creating the B-Rep solid again.
Chapter 11: Status Messages 2119
Introduction

38000080 The calculated Global Model Tolerance for this model is %G%. Do you wish to change
the Global Model Tolerance?
38000081 The calculated Global Model Tolerance is %G% relative to the maximum object extents
of %G%. The current Global Model Tolerance is %G%. Do you wish to change the
Global Model Tolerance?
38000082 The newly calculated Global Model Tolerance is %G%. The current Global Model
Tolerance is %G%. Do you wish to change the Global Model Tolerance?
38000083 The Global Model Tolerance has been changed from %G% to the value of %G%
relative to the maximum object extents of %G%.
38000084 The Global Model Tolerance has been changed from %G% to the newly calculated
Global Model Tolerance of %G%.
38000100 %I% Points Created: %V%
38000101 %I% Point Created: %V%
38000102 %I% Curves Created: %V%
38000103 %I% Curve Created: %V%
38000104 %I% Surfaces Created: %V%
38000105 %I% Surface Created: %V%
38000106 %I% Solids Created: %V%
38000107 %I% Solid Created: %V%
38000108 %I% Trimmed Surfaces Created: %V%
38000109 %I% Trimmed Surface Created: %V%
38000110 %I% %A% Created: %A%
38000111 No Geometry Created.
38000112 Label %I% is illegal. Using label %I%.
38000113 %I% Solids Reversed: %V%
38000114 %I% Solid Reversed: %V%
38000115 No Solids Reversed.
38000116 Solid %I% has %I% degenerate edges. Geometry may not be suitable for meshing
operations.
38000117 An attempt to approximate a general curve with a single Parametric Cubic failed.
38000118 An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000119 An attempt to approximate a general solid with a single Parametric TriCubic failed.
38000120 Invalid format conversion flag specified for curve conversion.
38000121 Invalid format conversion flag specified for surface conversion.
38000122 Invalid format conversion flag specified for solid conversion.
38000123 The input points for the creation of a surface are invalid.
2120 PCL Reference Manual
Introduction

38000124 Unable to extract current view matrix.


38000125 Unable to build the Shadow Surface.
38000126 Only one outer loop may be selected and at least one surface selected! %A%
38000127 CompTrimSurface Build Error -- Outer loop is not closed. Gap is %G%.
38000128 Unable to alloc memory to build the Composite Trim Surface.
38000129 Unable to project outer loop to Shadow Surface Plane.
38000130 PreTrim ERROR -- Could not build a Trimmed Shadow Surface.
38000131 Selection not a surface -- Surface ID=%I% -- Type=%I%
38000132 CompTrimSurface Build WARNING! Blob_Length=%I% bytes!
38000133 Blob length is to large. Reduce the number of surfaces being used for this
CompTrimSurface build.
38000134 Unable to create the Composite Trim Surface regardless of view! Check for large gaps
and/or missing surfaces. Also make sure the build view can see each surface only once.
Increase the gap tolerance to at least %G% %A%
38000135 A Composite_Trim_Surface may not be used to create another
Composite_Trim_Surface! Please disassemble any Composite_Trim_Surface(s) in the
input list and try again.
38000136 CompTrimSurface processor cannot locate surface with LABEL=%I% -- This is a
database FAILURE! -- Delete and Rebuild the CompTrim Surface.
38000137 Composite Trim Surface processor has detected a gap that exceeds the allowable gap
tolerance. Increase the gap tolerance to at least %G% Do you wish to compute a new
view? %A%
38000138 Unable to compute a point on surface! Problem may be a missing surface or a vertical
surface. Do you wish to compute a new view? %A%
38000139 The Composite Trim Surface builder has detected that surface with ID=%I% can be
seen twice. Do you wish to compute a new view?
38000140 Unable to create the Composite Trim Surface! Please adjust the gap tolerance and verify
that all underlying surface(s) are properly selected and try again. %A%
38000141 Unable to create the Composite Trim Surface with a computed view! Check for large
gaps, missing surfaces and/or vertical surfaces. %A%
38000142 The Composite Trim Surface Processor has determined a better view to build the
surface. Is it OK to rotate the model to this better view? The screen X rotation is %G%
degrees and the screen Y rotation is %G% degrees.
38000143 CompTrimSurface Build Error -- The Shadow Supervisor Surface must be PLANAR!
38000144 CompTrimSurface Build Error -- The selected geometry is invalid!
38000145 Composite Trim Surface processor has detected a gap that exceeds the allowable gap
distance. Increase the allowable gap distance to at least %G% and try again.
Chapter 11: Status Messages 2121
Introduction

38000146 The 5 face option requires that the opposing degenerate surfaces have their degenerate
edges aligned so that the degenerate solid face may be formed.
38000147 Consecutive degenerate faces must have their degenerate edges topologically aligned in
order to create a valid solid.
38000148 The 3 hyperpatch densities must be positive integers!
38000149 No %A% created.
38000151 At least one surface must be selected!
38000152 Selection not a surface -- ID=%I% Type=%I%
38000153 Surface ID %I% refitted to %A%, but not loaded to database!
38000154 %A% has not been refit since it is already a %A%
38000155 Unable to compute a Surface U list!
38000156 Unable to compute a Surface V list!
38000157 Selected vector is normal to selected plane -- Cannot construct unique normal plane.
38000199 %A%
38000200 %I% Points Deleted: %V%
38000201 %I% Point Deleted: %V%
38000202 No Points Deleted.
38000203 %I% Curves Deleted: %V%
38000204 %I% Curve Deleted: %V%
38000205 No Curves Deleted.
38000206 %I% Surfaces Deleted: %V%
38000207 %I% Surface Deleted: %V%
38000208 No Surfaces Deleted.
38000209 %I% Solids Deleted: %V%
38000210 %I% Solid Deleted: %V%
38000211 No Solids Deleted.
38000212 %I% Trimmed Surfaces Deleted: %V%
38000213 %I% Trimmed Surface Deleted: %V%
38000214 No Trimmed Surfaces Deleted.
38000215 Do you wish to delete the original points?
38000216 Unable to delete point %I%.
38000217 Do you wish to delete the original curves?
38000218 Unable to delete curve %I%.
38000219 Do you wish to delete the original surfaces?
2122 PCL Reference Manual
Introduction

38000220 Unable to delete surface %I%.


38000221 Do you wish to delete the original solids?
38000222 Unable to delete solid %I%.
38000223 Do you wish to delete the original trimmed surfaces?
38000224 Unable to delete trimmed surface %I%.
38000225 %I% %A% Deleted: %A%
38000226 Unable to delete curve %I%. Error status = %I%
38000227 %I% Curve Deleted: %A%
38000228 %I% Curves Deleted: %A%
38000229 %I% Surface Deleted: %A%
38000230 %I% Surfaces Deleted: %A%
38000231 No Geometry Deleted.
38000232 The point to delete is a topological vertex. Delete operation not allowed on topological
entities.
38000233 The curve to delete is a topological edge. Delete operation not allowed on topological
entities.
38000234 The surface to delete is a topological face. Delete operation not allowed on topological
entities.
38000235 The point to delete does not exist in the database and may be a geometry construct.
Delete operation not allowed on geometry constructs.
38000236 The curve to delete does not exist in the database and may be a geometry construct.
Delete operation not allowed on geometry constructs.
38000237 The surface to delete does not exist in the database and may be a geometry construct.
Delete operation not allowed on geometry constructs.
38000238 The solid to delete does not exist in the database and may be a geometry construct.
Delete operation not allowed on geometry constructs.
38000239 %I% %A% not Deleted: %A% non-existent in the database.
38000240 Deleting %I% ASM %A% ...
38000241 Deleting %I% SGM %A% ...
38000242 %I% field(s) disassociated from geometry that was deleted.
38000243 The plane to delete does not exist in the database and may be a geometry construct.
Delete operation not allowed on geometry constructs.
38000244 Unable to delete plane %I%.
38000245 Do you wish to delete the original planes?
38000246 The vector to delete does not exist in the database and may be a geometry construct.
Delete operation not allowed on geometry constructs.
Chapter 11: Status Messages 2123
Introduction

38000247 Unable to delete vector %I%.


38000248 Do you wish to delete the original vectors?
38000300 %I% %A% Reversed: %A%
38000301 No Geometry Reversed.
38000302 Modifying the geometry may cause undesirable changes to loads and boundary
conditions. Do you wish to continue?
38000303 Are you sure you want to reverse elements?
38000304 %I% Element(s) reversed: %A%
38000305 %I% node(s) are already associated to point(s).
38000306 %I% node(s) have been associated to point(s).
38000307 %I% node(s) are already associated to curves interior.
38000308 %I% node(s) have been associated to curves interior.
38000309 %I% node(s) are already associated to surfaces interior.
38000310 %I% node(s) have been associated to surfaces interior.
38000311 %I% node(s) are already associated to solids interior.
38000312 %I% node(s) have been associated to solids interior.
38000313 %I% node(s) are already associated to vertices.
38000314 %I% node(s) have been associated to vertices.
38000315 %I% node(s) are already associated to edges.
38000316 %I% node(s) have been associated to edges.
38000317 %I% node(s) are already associated to faces.
38000318 %I% node(s) have been associated to faces.
38000319 %I% node(s) associated to %I% point(s): %A%
38000320 %I% node(s) associated to %I% curve(s): %A%
38000321 %I% node(s) associated to %I% surface(s): %A%
38000322 %I% node(s) associated to %I% solid(s): %A%
38000323 %I% Curves merged into %I%
38000324 %I% Curve merged into %I%
38000325 The current implementation of this application does not permit the use of closed curves
to represent an edge. It is suggested that the same result may be obtained by using these
edges to create a trimmed surface directly.
38000326 Association of %A% to multiple entities is not allowed.
38000327 You have exceeded the current limit of 100 curves. This limit was imposed for
performance considerations. In its current form, the evaluation speed of this surface is
very dependent on the number of curves to be interpolated.
2124 PCL Reference Manual
Introduction

38000400 Unable to trim curve %I% due to an error while evaluating the curve.
38000401 One or more of the curves or surfaces drawn in viewport "%A%" is incomplete. Try
setting the Chord Tolerance in the Geometric Display Properties to a value greater than
the current value of %G.3%.
38000402 The Surface Edge Surface builder failed to create the evaluator table. Surface was not
created.
38000403 Bounding Curves must form a closed loop. Surface was not created.
38000404 Unable to break Surface %I%. The Surface to break must be of a type different from
Composite Trimmed Surface.
38000405 Unable to break Surface %I%
38000406 The topology of input surfaces is inappropriate for the create/solid/face option.
38000407 The Sweep Arc Solid builder failed to create the evaluator table. Solid was not created.
38000408 The Sweep Glide Solid builder failed to create the evaluator table. Solid was not
created.
38000409 The Sweep Extrude Solid builder failed to create the evaluator table. Solid was not
created.
38000410 The Sweep Normal Solid builder failed to create the evaluator table. Solid was not
created.
38000411 The Construct Face Solid builder failed to create the evaluator table. Solid was not
created.
38000412 Negating the View Vector coordinates and trying again...
38000413 Zero length plane normal vector.
38000414 Invalid curve intersection method. Must be 1 or 2. Try again.
38000415 Skipping zero length Curve %I%
38000416 The input curve length of %G% is invalid. Input length value greater than zero.
38000417 The curve from which to create the normal has a tangent of length zero. Unable to create
curve.
38000418 The Arc radius must be greater than zero. Invalid value input was %G%
38000419 The angle of rotation must be non-zero.
38000420 The Arc start angle must be greater than 0 degrees. Invalid value input was %G%
38000421 The Arc end angle must be less than 360 degrees. Invalid value input was %G%
38000422 The Arc start angle must be less than the Arc end angle in order to maintain
counterclockwise angle convention. The invalid values input were %G% and %G%
respectively.
38000423 The three points specified are nearly collinear.
38000424 The center point and start point define a zero radius.
38000425 The Circle radius must be greater than zero. Invalid value input was %G%
Chapter 11: Status Messages 2125
Introduction

38000426 The center point and start point define a zero radius.
38000427 The surface type used for this Action, Object, Method function is invalid. It must be of
a type that when created, has the default color of Green.
38000428 This application only works with one curve per surface at a time. Please adjust the input
accordingly.
38000429 This application only works with two points per surface at a time. Please adjust the input
accordingly.
38000430 The Sweep Extrude Surface builder failed to create the evaluator table. Surface was not
created.
38000431 The Sweep Glide Surface builder failed to create the evaluator table. Surface was not
created.
38000432 The Sweep Normal Surface builder failed to create the evaluator table. Surface was not
created.
38000433 A Zero length curve would have been created had the process continued. Modify
application input and try again.
38000434 The solid type used for this Action, Object, Method function is invalid. It must be of a
type that when created, has the default color of Blue.
38000435 This application only works with one surface per surface at a time. Please adjust the
input accordingly.
38000436 Specified Break Method value of %I% is invalid. Valid values are 1-4
38000437 The maximum error found while decomposing Solid %I% was %G%
38000438 No curves in the curve list define a unique least squares plane. Select a curve that is not
straight.
38000439 The selected curve %I% has no center of curvature. The curve cannot be extended into
a full circle.
38000440 Invalid 2D Arc2Point method. Must be 1 or 2. Try again.
38000441 A Zero length vector would have been created had the process continued. Modify
application input and try again.
38000442 The Radius value of %G% is too small for the input start and end points. Radius
magnitude must be at least %G%. Modify application input and try again.
38000443 The trim loop of a trimmed Surface is composed of edge curves which do not form a
closed loop in parameter (2D) space within tolerance.
38000444 The break curve can only intersect the outer boundary of the surface exactly twice.
38000445 There must be at least two curves as input to Chain. The invalid value input was %A%
38000446 Unable to decompose Surface %I%. The Surface to decompose must be of a type
different from Composite Trimmed Surface.
38000447 The two intersection planes are parallel.
2126 PCL Reference Manual
Introduction

38000448 The points in the point list do not define a unique least squares plane. Select points that
are not collinear.
38000449 No surfaces in the surface list define a unique least squares plane. Select a surface with
a positive area.
38000450 Unable to calculate a point on the curve.
38000451 Unable to calculate a point on the surface.
38000452 Unable to calculate a point on the solid.
38000453 Unable to calculate parametric coordinate on the curve.
38000454 Unable to calculate parametric coordinate on the surface.
38000455 Unable to calculate parametric coordinate on the solid.
38000456 %I% %A% Trimmed: %A%
38000457 No Geometry Trimmed.
38000458 Loop closure required for trimming. A gap of %G% exists.
38000459 Unable to calculate least-squares plane.
38000460 Curve %I% has an arc length that is less than the geometric tolerance. Geometry may
not be suitable for meshing operations.
38000461 Surface %I% has %I% degenerate edges. The surface may have severe geometric errors
and may not be suitable for meshing operations.
38000462 Size and complexity of the problem exceeds the available memory.
38000463 Unable to manifold the trim loops to the surface.
38000464 One or more of the trim loops is degenerate
38000465 Unable to calculate a point within acceptable tolerance to the desired coordinates.
38000466 Unable to load the surface into the database
38000467 Curves to be chained are not contiguous due to a gap of %G%. The point of
discontinuity has been marked.
38000468 Surface %I% is not a general trimmed surface.
38000469 Failed to create a spline representation of an edge.
38000470 Unable to load the curve into the database
38000471 Curve %I% is not a chain
38000472 The number of points selected must be greater or equal to the order of the B-spline
curve.
38000473 Only ONE parent surface may be selected at a time. Please try again.
38000474 Only ONE outer loop ( Composite Curve/Chain ) may be selected at a time. Try again.
38000475 The maximum number of points used to construct a nurbs curve is currently limited to
1000.
Chapter 11: Status Messages 2127
Introduction

38000480 Surface %I% is degenerate at a corner point due to bad parametrization or a vanishing
normal. The surface may not be meshable by the paver.
38000481 The underlying surface of trimmed surface %I% is degenerate at a corner point due to
bad parametrization or a vanishing normal. If this region of the underlying is part of the
trimmed surface, the trimmed surface may not be meshable by the paver.
38000482 This application only works with one surface at a time. Subsequent selected surfaces
will be ignored.
38000483 This application only works with one curve at a time. Subsequent selected curves will
be ignored.
38000484 There must be at least two surfaces in the surface list. The number input was %I%
38000485 The verification tolerance value of %G% must be less than or equal to the Geometric
Modeling Tolerance value of %G%.
38000486 %A% form a valid B-rep Solid.
38000487 The construction tolerance value of %G% must be less than or equal to the Geometric
Modeling Tolerance value of %G%.
38000488 Unable to manifold the curve(s) to the surface.
38000489 Unable to create a curve manifolded to the surface between the two input points.
38000490 No curves in the curve list define a plane to compute a normal projection vector from.
Specify a vector for projection or use the "Normal to Surface" Method.
38000491 There are no free surface edges.
38000492 Zero length vector in Solid %I% construction.
38000493 The Surface interpolating Solid builder failed to create the evaluator table. Solid was
not created.
38000494 The Curve interpolating Surface builder failed to create the evaluator table. Surface was
not created.
38000495 The Surface Extract Solid builder failed to create the evaluator table. Surface was not
created.
38000496 Unable to break Solid %I%
38000497 Unable to break a solid with the specified parametric position values of %G%, %G%,
and %G%
38000498 The surfaces are not correctly positioned to form a solid.
38000499 Unable to break a solid with the calculated parametric position values of %G%, %G%,
and %G% from the point coordinates of %G%, %G%, and %G%
38000500 Loading IGES file records...
38000501 Scanning %I% IGES file records...
38000502 Processing %I% IGES Entities...
38000503 Processing Transformation Matrix Entities...
2128 PCL Reference Manual
Introduction

38000504 Unable to open scratch file.


38000505 Unable to open IGES file %A%.
38000506 Unable to acquire IGES file size.
38000507 Unable to read IGES file %A%.
38000508 The specified file %A% is not a valid fixed (80 character) line length ASCII format
IGES file.
38000509 The IGES file TERMINATE SECTION does not exist. According to the IGES
Specification, the last record in the IGES file must be the terminate record. Mandatory
corrective action has taken place in order for processing to continue on this IGES file.
38000510 Error parsing IGES file data. Invalid input encountered in REAL field.
38000511 Pointer to first curve of ruled surface definition is out of range. The ruled surface was
not processed. Check entity definition for bad pointer value.
38000512 Pointer to second curve of ruled surface definition is out of range. The ruled surface was
not processed. Check entity definition for bad pointer value.
38000513 Pointer to axis of revolution curve of surface of revolution definition is out of range.
The surface of revolution was not processed. Check entity definition for bad pointer
value.
38000514 Pointer to generatrix curve of surface of revolution definition is out of range. The
surface of revolution was not processed. Check entity definition for bad pointer value.
38000515 Pointer to directrix curve of tabulated cylinder definition is out of range. The tabulated
cylinder was not processed. Check entity definition for bad pointer value.
38000516 Unable to acquire %I% words of virtual memory.
38000517 Invalid form number: %I% associated with interpretation flag: %I% in COPIOUS
DATA entity definition. This entity will not be processed. Check entity definition for
invalid value.
38000518 Pointer to the Directory Entry line number of a Transformation Matrix (type number
124) used in defining a(n) %A% entity is an invalid value of %I%. This entity was not
processed.
38000519 Build error for circle #%I%.
38000520 CIR100: problem writing to scratch file.
38000521 An unsupported IGES curve type, %I%, was used to represent the inner boundary curve
on the surface that is to be trimmed. The trimmed surface (IGES type %I%) that is
referencing this curve will not be trimmed on its inner boundary.
38000522 An unsupported IGES curve type, %I%, was used to represent the outer boundary curve
on the surface that is to be trimmed. The trimmed surface entity (IGES type 144) that is
referencing this curve will not be trimmed on its outer boundary.
38000523 Build error for composite curve #%I%.
38000524 Build error for conic #%I%.
Chapter 11: Status Messages 2129
Introduction

38000525 Improper or degenerate conic equation. Conic not processed.


38000526 An unsupported IGES curve type, %I%, was used to represent the inner boundary curve
on the surface that is to be trimmed. The trimmed surface entity (IGES type 144) that
is referencing this curve will not be trimmed on its inner boundary.
38000527 An unsupported IGES curve type, %I% , was used to represent the outer boundary curve
on the surface that is to be trimmed. The trimmed surface entity (IGES type 144) that
is referencing this curve will not be trimmed on its outer boundary.
38000528 Invalid form number, %I%, in COPIOUS DATA ENTITY definition. This entity will
not be processed. Check entity definition for invalid values.
38000529 Build error for copious data curve #%I%.
38000530 An invalid FORM number of 0 was defined for Copious Data Entity ( Type 106 ). A
Non-zero value is required for Entity Type 106. This Copious Data Entity was not
processed.
38000531 COPDAT: Error writing to NPSC.
38000532 Write error in lin110.
38000533 Build error for nurbs curve #%I%.
38000534 CIR2PC: A circle with 0 radius was read.
38000535 CON2PC: IFORM = 0
38000536 Error reading surface type %I% used in the definition of a Trimmed Surface Entity
(Type 144). Trimmed Surface was not processed.
38000537 Unsupported IGES surface entity type %I% was used to define a Trimmed Surface
Entity ( type 144 ). This entity was not processed.
38000538 IGES Curve type %I% is invalid for bounding a Trimmed Surface Entity. The Trimmed
Surface Entity was not processed.
38000539 RED144: Problem reading the IGES file.
38000540 RED144: Invalid trimming curve type.
38000541 RED144: Too many loops.
38000542 RED144: Nonzero IRC from REDNBC.
38000543 RED144: Surface has no trim curves
38000544 RED144: MEM_GET failure.
38000545 RED144: Nonzero IRC from BSSFBD.
38000546 RED144: Nonzero IRC from RED126.
38000547 RED144: Nonzero IRC from RED142.
38000548 RED144: Exceeded 400 segments.
38000549 RED144: Nonzero IRC from BSCVBD.
38000550 RED144: Nonzero IRC from REDTYP.
2130 PCL Reference Manual
Introduction

38000551 Trimming Loop is not closed for Trimmed Surface defined on Parameter Data Line
number %I% in the IGES file. The Trimmed Surface was not processed.
38000552 RED144: Nonzero IRC from RED114.
38000553 RED144: Nonzero IRC from S114BD.
38000554 RED144: Parent surface type not yet supported.
38000555 RED144: Nonzero IRC from RED120.
38000556 RED144: Nonzero IRC from S120BD.
38000557 RED144: reading circular arc.
38000558 RED144: Error reading line entity.
38000559 RED144: Error reading conic entity.
38000560 RED144: Nonzero IRC from CON2PC.
38000561 RED144: Nonzero IRC from C104BD.
38000562 RED144: Nonzero IRC from C106BD.
38000563 RED144: Read error - srftype 120.
38000564 RED144: Read error - srftype 118.
38000565 RED144: Nonzero IRC from S118BD.
38000566 RED144: Error reading internal scratch file.
38000567 RED144: nonzero IRC from RED112.
38000568 The IGES entity type %I% is not supported for use as a directrix curve defining the
tabulated cylinder type 122.
38000569 Build error for tabulated cylinder #%I%
38000570 Build error for NURBS surface #%I%
38000571 The IGES entity type %I% is not supported for use as a directrix curve defining the
surface of revolution type 120.
38000572 Build error for surface of revolution #%I%
38000573 REVSRF: The axis of revolution is not a line (type 110).
38000574 REVSRF: The axis of revolution as defined cannot be used to create a surface of
revolution.
38000575 Build failure for spline surface #%I%
38000576 Build error for ruled surface #%I%
38000577 Unable to open IGES Import message file %A%.
38000578 Node ID %I% already exists in the database. Creating duplicate Node IDs and defining
Node ID offsets are not supported through IGES Import. Do you wish to continue
Importing this IGES file?
Chapter 11: Status Messages 2131
Introduction

38000579 Element ID %I% already exists in the database. Creating duplicate Element IDs and
defining Element ID offsets are not supported through IGES Import. Do you wish to
continue Importing this IGES file?
38000580 IGES Element topology type %I% not supported. Element %I% was not written to the
database.
38000581
There is no Patran element topology code for an element with a SHAPE value of %I%
and NUMBER OF NODES value of %I%. Element %I% was not written to the
database.
38000582 Unable to open IGES Query Report file %A%.
38000583 Sorting entity attributes...
38000584 Unable to open IGES Export message file %A%.
38000586 Error encountered parsing data for an IGES Offset Surface.
38000589 Group named %A% already exists. Do you wish to import additional entities into this
group?
38000590 Group name %A% is already defined. Do you wish to overwrite the existing group
definition?
38000591 Group name is invalid. See documentation for definition of valid group name.
38000592 Attributes for the group named %A% have been successfully defined.
38000593 Error in call to ga_group_exist_get while in uil_file_iges_groups.apply: status = %I%.
38000594 No groups have been defined for import.
38000595
Exporting %I% Patran Coordinate Frames...
38000596
Exporting %I% Patran Nodes...
38000597
Exporting %I% Patran Elements...
38000598
Exporting %I% Patran Points...
38000599
Exporting %I% Patran Curves...
38000600
Exporting %I% Patran Surfaces...
38000601
Exporting %I% Patran Solids...
38000602 Creating %I% IGES file Parameter Data Records...
38000603 Are you sure you want to delete the group definition for %A%?
38000604 Definition for the group named %A% has been deleted.
2132 PCL Reference Manual
Introduction

38000605
Element ID %I% of Patran Element type %A% has NULL or invalid Node ID %I% in
connectivity list.
38000606
Exporting %I% Patran Nodes by Group...
38000607
Exporting %I% Patran Elements by Group...
38000608
Exporting %I% Patran Points by Group...
38000609
Exporting %I% Patran Curves by Group...
38000610
Exporting %I% Patran Surfaces by Group...
38000611
Exporting %I% Patran Solids by Group...
38000612 Error writing to IGES Export scratch file.
38000613 Error writing to IGES file.
38000614 Error generated in the call to the Offset Curve builder.
38000615 Error encountered parsing data for an IGES Offset Curve.
38000616 The curve type to be offset is not currently supported.
38000617 Error retrieving geometric entity definition of type PDA %A% from the database.
38000618 Error retrieving geometric entity definition of type IGES %A% from the database.
38000619 Database Error retrieving entity counts.
38000620 The Imported Model Scale has caused the Geometric Display Properties CHORDAL
TOLERANCE to be changed to %G%.
38000621 Trimmed Surface defined on Parameter Data Line number %I% in the IGES file is
degenerate. The Trimmed Surface was not processed.
38000622 Node ID %I% already exists in the database.
38000623 Element ID %I% already exists in the database.
38000624 Querying database for entity count...
38000625 Querying database completed.
38000626 An unsupported IGES curve type, %I%, was used as a constituent entity of a composite
curve. The Composite Curve entity (IGES type 102) that is referencing this curve was
not imported.
38000627 Parameter Data missing in Parameter Data Section on line number %I% for entity type
%I% ( %A% ). IGES file is invalid after this point. Contact Originating CAD Vendor
for validation of IGES file.
38000628
Patran IGES Access Export Terminated.
Chapter 11: Status Messages 2133
Introduction

38000629
Patran IGES Access Import Terminated.
38000630 Copious data having IFORM = %I% is not supported for use as a constituent entity in a
composite curve.
38000631 The entity of type "%A%" on line number %I% of the Parameter Data section has
defined a pointer to the Directory Entry line number %I% which is not within the valid
range of 1 and %I%. This entity was not processed.
38000632 The domain of definition of a NURBS surface exceeds the range of its knot vectors. It
will be truncated to the domain of the knot vectors.
38000633 Child Bounded Planes are not supported directly through IGES Import. The internal
closed curve defining this Child Bounded Plane was written to the database. A Planar
Trimmed Surface can be created in Patran from the Parent Bounded Plane and its Child
Bounded Planes.
38000634 The parametric space trim curve type %I% lies outside the domain of definition of the
parent surface. The current trimmed surface will not be processed.
38000635 Unable to process the Curve on Surface entity defined on Parameter Data line number
%I% in the IGES file due to invalid combination of pointer data. The pointer to the 2D
curve is %I%, the pointer to the 3D curve is %I%, and the trimming preference flag is
%I%. The Trimmed Surface pointing to this entity was not processed.
38000636 ONE outer loop ( Composite Curve/Chain ) must be selected. Try again.
38000637 Cannot access geometry definition for %A%
38000638 Unable to decompose the Solid face due to a manifold error.
38000639 The specified IGES file is not a valid fixed (80 character) line length ASCII format
IGES file. The syntax error is caused by an invalid section identification character that
must occupy Column 73 of each line. Valid descriptors are S, G, D, P, T. The following
line caused the error: "%A%"
38000640 The IGES file Terminate Section sequence number for the Directory Entry Section does
not match the number of Directory Entry Section records. Mandatory corrective action
of changing the sequence number internally from %I% to %I% has taken place in order
for processing to continue on this IGES file. Contact Originating CAD Vendor for
validation of IGES file.
38000641 The IGES file Terminate Section sequence number for the Parameter Data Section does
not match the number of Parameter Data Section records. Mandatory corrective action
of changing the sequence number internally from %I% to %I% has taken place in order
for processing to continue on this IGES file. Contact Originating CAD Vendor for
validation of IGES file.
38000642
Exporting %I% Patran Planes...
38000643
Exporting %I% Patran Planes by Group...
2134 PCL Reference Manual
Introduction

38000644 The geometry/topology of surface %I% is such that it cannot be exported in its original
form. An attempt will be made to export the edge curves and the parent surface.
38000645 The Nurbs curve (type 126) defined on Parameter Data Line number %I% is degenerate
due to identical start and end parameter values. It will not be loaded into the database,
nor will any entity dependent on it. If this curve is subordinate, the line number given
refers to the nonsubordinate entity whose import will fail due to this error.
38000646 This group would be empty if created. Select the entity type(s) to be added to this group.
38000647 This file contains Nurb surfaces of degree %I% or greater which have such potential for
instability that the Geometry Preference setting for NURBS_ACCELERATOR was set
to "OFF". Consult the CAD Vendor who created the IGES file to lower the order of the
NURBS surfaces.
38000648 This file contains Nurb curves of degree %I% or greater which have such potential for
instability that the Geometry Preference setting for NURBS_ACCELERATOR form
was set to "OFF". Consult the CAD Vendor who created the IGES file to lower the order
of the NURBS curves.
38000649 The combination of curve and axis selected as such that the resulting surface would have
flipping normal vectors and be of no practical use. Please check your inputs.
38000650 The data which you input to define this involute curve is improper. Please recheck it.
If you find no obvious errors, please consult the documentation for a thorough
explanation of the input quantities.
38000651 Solid (label = %I%) is not a triparametric solid (blue) and hence cannot be refit.
38000652 Solid (label = %I%) cannot be refit to within the specified tolerance.
38000653 Solid (label = %I%) cannot be refit within a maximum allowable space of 200000
words.
38000654 Solid (label = %I%) cannot be refit into less than 1000 hyperpatches for the specified
tolerance.
38000655 Unable to break %A%
38000656 Unable to break %A%. The surface must not be a composite trim.
38000657 An Error was encountered in reading the DIRECTORY ENTRY section - starting at line
number %I%. The affected entities in this file will not be imported. Check the IGES
specifications for valid field limitations.
38000658 The ID associated with an entity has exceeded 99999999 which is the largest value
allowed by the IGES specification. These entities will not be exported.
38000659 %A% is not a general trimmed surface.
38000660 %A% is not a chain
38000661 Warning. This surface may not be meshable. Do you wish to create it anyway?
38000662 Warning. Surface ID %I% may not be meshable.
38000663 Import of this IGES file must be aborted at this point due to a read error in the parameter
section. It is likely that this file has been accidently truncated.
Chapter 11: Status Messages 2135
Introduction

38000664 Import of this IGES file must be aborted at this point due to a read error in the parameter
section - line %I%.
38000800 Group name is invalid. See documentation for definition of valid group name.
38000801 The Pro/DEVELOP foreign program "p3_ProENGINEER" supplied by MSC.Software
Corporation was either not executed by Pro/ENGINEER or did not execute to
completion. Verify that your workstation has been registered to run Pro/ENGINEER if
importing a Part (PRT) or an Assembly (ASM). Also verify that the file input for import
exists.
38000802 Unable to acquire Pro/ENGINEER Geometry file size.
38000803 Unable to read Pro/ENGINEER Geometry file %A%.
38000804 Importing Pro/ENGINEER Geometry...
38000805 Unable to acquire %I% words of virtual memory.
38000806 Unable to read Pro/ENGINEER Parent Surface type %A% associated with
Pro/ENGINEER Surface ( ID = %I% ).
38000807 Unable to build the surface evaluator table for Parent Surface type %A% associated with
( ID = %I% ).
38000808 Unsupported Pro/ENGINEER surface type %I% is associated with Surface ( ID = %I%
).
38000809 Unsupported Pro/ENGINEER curve type %I% ( Curve ID = %I%) used to define an
Internal Contour is associated with surface ( ID = %I% ).
38000810 Unsupported Pro/ENGINEER curve type %I% ( Curve ID = %I%) used to define an
External Contour is associated with surface ( ID = %I% ).
38000811 Unable to read Pro/ENGINEER curve of type %A% ( Curve ID = %I%) used to define
an Edge of Surface ( ID = %I% ).
38000812 Unable to build the curve evaluator table for Curve type %A% ( Curve ID = %I% )
associated with Surface ( ID = %I% ).
38000813 The Pro/ENGINEER Surface ( ID = %I% ) contour is composed of edge curves which
do not form a closed loop in real (3D) space ( gap = %G% ).
38000814 The Surface ( ID = %I% ) has a degenerate trim definition.
38000815 Unsupported Pro/ENGINEER curve type %I% ( Curve ID = %I% ) is associated with
Surface ( ID = %I% ).
38000816 Unable to read Pro/ENGINEER Curve type %A% associated with Pro/ENGINEER
Surface ( ID = %I% ).
38000817 The string read from the Pro/ENGINEER Geometry file is not a recognized curve type
of %A% associated with Surface ( ID = %I% ).
38000818 The string read from the Pro/ENGINEER Geometry file is not a recognized surface type
of %A% associated with Surface ( ID = %I% ).
2136 PCL Reference Manual
Introduction

38000819 The file type "%A%" is not a valid Pro/ENGINEER file type. Input either PRT, ASM,
or GEO.
38000820 Importing Pro/ENGINEER Assembly File...
38000821 Importing Pro/ENGINEER Part File...
38000822 Group "%A%" has been created.
38000823 Adding geometry to group "%A%"...
38000824 Unable to project Pro/ENGINEER curve onto Pro/ENGINEER Surface ( ID = %I% ) in
order to create a Patran Trimmed Surface.
38000825 The Pro/ENGINEER Surface ( ID = %I% ) contour is composed of edge curves which
do not form a closed loop in parameter (2D) space within tolerance.
38000826
Patran ProENGINEER Access Model Import Terminated.
38000827 The Pro/ENGINEER Surface ( ID = %I% ) was unable to be trimmed. The parent
surface was written to the Patran database ( ID = %I% ).
38000828 A total of %I% surface contours were not closed in real (3D) space. The maximum gap
distance was %G%. Try setting the Global Model Tolerance in the Global Preferences
to a value greater than the gap distance and try again.
38000829 The imported surface ( ID = %I% ) was unable to be trimmed. The parent surface was
written to the Patran database ( ID = %I% ) along with the trimming loop curves.
38000830 Importing Primitive Geometry File...
38000831 The Parent Surface ( ID = %I% ) has four degenerate edges and will not be trimmed.
38000832 The Parent Surface ( ID = %I% ) local coordinate system unit vectors are not orthogonal.
The surface will still be processed.
38000833 The Parent Surface ( ID = %I% ) has an invalid cone angle value of %G%. The Surface
will not be processed.
38000834 Creating B-rep Solid from %I% Faces...
38000835
Group named %A% already exists in the Patran database. Do you wish to import
additional entities into this group?
38000836 Group name %A% has already been defined. Do you wish to overwrite the existing
group definition?
38000837 Are you sure you want to delete the group definition for %A%?
38000838 Group name is invalid. See documentation for definition of valid group name.
38000839 Attributes for the group named %A% have been successfully defined.
38000840 Definition for the group named %A% has been deleted.
Chapter 11: Status Messages 2137
Introduction

38000841 Error in call to ga_group_exist_get while in uil_file_express_groups.apply: status =


%I%.
38000842 No groups have been defined for Express Neutral import.
38000843 A Gap exists between two of the faces in the Body. This may be due to edges not
matching directly or a missing face. The part was imported as a collection of trimmed
surfaces.
38000844 1 B-rep Solid created: Solid %I%
38000845 Unable to acquire %I% words of virtual memory.
38000906 Unable to fetch definition data for solid %I%.
38000910 Tessellation Error - Unable to calculate proper parameterization for curvature point.
Image may be incorrect.
38000911 Tessellation Error - Unable to calculate proper parametric value for loop point. Image
may be incorrect.
38000912 Tessellation Error - Evaluation inconsistency for loop parameterization value. Image
may be incorrect.
38000913 Tessellation Error - maximum number of triangle vertices has been reach, try a larger
geo tolerance.
38000930 %V% is away from %V%. Do you want to remove it?
38000931 Failed to associate the point(s) or curve(s).
38000932 Attempting to delete Hard Geometries: FEM Associations to deleted Hard Geometries
will be destroyed. Continue with Delete?
38000933 %I% %A% : %A% associated to %I% %A% : %A%
38000934 No Geometry associated.
38000935 Point %I% is already a vertex of Curve %I%. Not Need association.
38000936 Point is a vertex or close to a vertex. Not need association.
38000937 %A% is not on %A%. Unable to associate the point to the curve.
38000938 Failed to transform Parametric values on a curve to the arc length values.
38000939 Disassociated %I% %A%: %A%
38000940 Unable to disassociate %A%. First disassociate the curves or surfaces which use these
points as curve/surface vertices.
38000941 Unable to disassociate %A%. First disassociate the surfaces which use these curves as
surface edges.
38000942 Unable to disassociate %A%. First disassociate the solids which use these surface as
solid faces.
38000943 Failed to associate geometry because unable to transfer mesh controls between them.
2138 PCL Reference Manual
Introduction

38000944 %A% cannot be deleted or edited because it is associated to another piece of geometry.
If you wish to delete or edit %A%, you must first break all associations using Action:
Disassociate under the Geometry menu.
38000945 Failed to transform the mesh controls from the curves to be disassociated to a new curve
replacing these curves.
38000946 A vertex is created for a vertexless curve to establish the hard geometry association of
that curve with other geometry.
38000947 %A% is not allowed to be associated because an association to the curve/surface exists
with its duplicated point: %A%.
38001000 Is red colored curve specifying the outer boundary of the Composite Surface.
38001001 No outer boundary has been selected!
38001002 Problem 2: At the red square there is no boundary curve to continue and the loop is not
closed. The white square is showing the start location. White edges are already checked.
Red square is showing the current position. Possible Action: Add a curve connecting the
red square to a red boundary curve using the < Modify Boundary > tool .
38001003 Problem 1: At the red square there are more than one boundary curves to continue. The
white square is showing the start location. White edges are already checked. Red square
is showing the current position. Possible Action: Remove the appropriate edge using the
< Modify Boundary > tool.
38001004 Problem 3: The red and green vertices are not part of the selected surfaces; however, the
green vertices are within global tolerance and will be projected onto the surfaces.
Incorrect vertex placement may result in geometric incongruency. Okay to continue ?
38001005 No outer Loop has been defined !
38001006 Do You want to use the previous <ADD/REMOVE> list for the current boundary ?
38001007 Different colors in the boundary mean: White - free edges within the current surface
selection.Dark Blue - Edges are shared by two surfaces. Light Blue - Edges are shared
by more than two surfaces ( most likely a non-manifold edge). Red - Edges which are
not part of the boundary due to a gap or a branch.
38001008 The current cleanup tolerance < %G% > seems to be very small compared to the model
dimensions. You should consider changing it to a value near < %G% >. Do you want to
use and update the larger tolerance value ?
38001100 %I% %A% Edited: %A%
38001101 No Geometry Edited.
38001102 Unable to edit geometry. Illegal Edit Option.
38001103 Unable to edit the surface because it is used as the face of a solid.
38001104 Unable to close gap between surface %I% and %I% within tolerance. Can close gap to
%G%.
38001105 A gap of %G% exists between surface %I% and %I%. Do you want to close the gap?
38001106 The maximum gap size is %G%.
Chapter 11: Status Messages 2139
Introduction

38001107 Unable to close gaps on surface %I% because it is a Unigraphics surfaces or a surface
based on a Unigraphics surface.
38001108 Unable to close gaps on surface %I% because it is a CADDS surfaces or a surface based
on a CADDS surface.
38001109 Unable to trim surface - the inner loop must lie within the outer loop. Note that an inner
loop surrounding a pole resolves the ambiguity based upon its orientation.
38001110 Unable to close gap between surfaces %I% and %I%.
38001111 Unable to close gap between edges %A% and %A% since the gap of %G% is greater
than the allowable gap closure tolerance of %G%.
38001112 Possible T-Edge detected between %A% and %A%. The distance of the point to the
edge is %G%.
38001113 No Points Edited.
38001114 No Curves Edited.
38001115 No Surfaces Edited.
38001116 No Solids Edited.
38001117 A fatal error has been reported in edge match.
38001195
Unable to create a broken solid because its topology does not meet the Patran
conventional requirements on the B-Rep topology. Do you want to continue this
operation?
38001196 Unable to create a B-Rep solid broken from the original B-Rep solid because some
edges on the faces in the solid are not matched. This usually happens when a Parasolid
B-Rep body is to be broken, since it requires some topological changes to comply with
the conventional Patran B-Rep topology.
38001197 Zero length normal vector encountered at primary marker location.
38001198 Unable to break a Non-manifold solid. A non-manifold solid has some edges, each of
which connects more than two faces in the solid.
38001199 The splitting surface is a composite trimmed surface. Some composite trimmed surfaces
cannot be used to break a solid.
38001200 %A% was broken into %I% solids : %A%
38001201 %A% was broken into %I% surfaces : %A%
38001202 %A% was broken into %I% curves : %A%
38001205 Not a valid Plane!
38001206 No Solid was broken.
38001207 No Surface was broken.
38001208 No Curve was broken.
38001209 An invalid geometric entity type was used as input. Unable to process request.
2140 PCL Reference Manual
Introduction

38001210 The intersection is too complicated. Slightly translate the splitting plane or surface.
38001211 Unable automatically to chain the intersection curves. Slightly translate the splitting
plane or surface.
38001212 The topology of the solid is either too complicated or invalid for breaking the solid.
38001213 A degenerated surface with zero area was encountered.
38001214 Unable to break the solid because failed to break one or more its faces. Slightly move
the splitting plane or surface and break the solid again.
38001215 Unable to break %A%. The plane may not intersect the curve.
38001216 Unable to break %A%. The plane may not intersect the surface.
38001217 Unable to break %A%. Errors occurred in breaking its faces. Check the intersections of
the solid faces with the splitting plane/surface. Then check if all faces, which the plane
or surface intersects, can be broken.
38001218 %A% does not intersect the plane or surface. Unable to break the Solid.
38001219 Unable to intersect the surface. Severe errors occurred during intersecting the surface.
38001220 Unable to associate elements to Non-parametrized Solid (Solid %I%).
38001221 This functionality is not supported for native parasolid surfaces (MDC_Surface ) in the
current release of Patran.
38001222
Parasolid MDC Surface types are not supported in the current release of Patran. The
following MDC_Surface types were found: %A%
38001223 Unable to find %A%.
38001224 No mesh and LBC's will be transformed because, during group transform, some
geometric entities have been changed their topology. Mesh and LBC's cannot be
associated with geometry. Use FiniteElements/Transform to transform mesh, then
associate them to geometry using FiniteElements/Association.
38001225 You are using a PRE_RELEASE feature -- the transformation of solid geometry
accessed by the Parasolid method. This feature should be used with caution. Do you
want to transform Solid %I%?
38001226 The transformation of solid geometry accessed by the Parasolid method is not supported
in this version. Solid %I% as well all Finite Elements and LBCs in this group will not
be transformed. To successfully transform the Finite Elements and LBCs, UNDO the
previous operation, remove this solid from the group and then re-apply the transform
operation.
38001227 Failed to transform Solid %I% as a solid. The FEM Elements and LBC's in this group
will not be transformed. To successfully transform the Finite Elements and LBCs,
UNDO the previous operation, remove this solid from the group and then re-apply the
transform operation.
38001228 Face normal returned from parasolid: %G%, %G%, %G% Face normal sense: %A%
Chapter 11: Status Messages 2141
Introduction

38001229 Surface normal returned from parasolid: %G%, %G%, %G%


38001230 Input entity is not a valid parasolid kernel object
38001231 Input face entity is not part of the input brep entity
38001232 The curves provided for the surface edges are not contiguous due to a gap of %G%.
Either rebuild the curves to eliminate the gap or change the model tolerance to exceed
the gap dimension.
38001300 %I% %A% Renumbered: %A%
38001301 No Points Renumbered.
38001302 No Curves Renumbered.
38001303 No Surfaces Renumbered.
38001304 No Solids Renumbered.
38001305 A conflict in Point ID %I% was encountered. Point ID %I% will be used instead.
38001306 A conflict in Curve ID %I% was encountered. Curve ID %I% will be used instead.
38001307 A conflict in Surface ID %I% was encountered. Surface ID %I% will be used instead.
38001308 A conflict in Solid ID %I% was encountered. Solid ID %I% will be used instead.
38001309 A conflict in %A% ID %A% was encountered. ID %A% was used instead.
38001310 A conflict in %A% ID's %A% was encountered. ID's %A% were used instead.
38001311 Invalid ID %I% encountered. The ID must be a positive integer number.
38001312 Renumbering %I% %A%s ...
38001313 No Planes Renumbered.
38001314 No Vectors Renumbered.
38001500 %A% may not be meshable since %A%.
38001501 %A% may not be editable since %A%.
38002000 The geometry was not refit.

Journal File Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that manipulate journal files.

39000000 Journal
39000001 Journal file stopped recording at%A% %A%
39000002 Appending to existing journal file %A% at %A%
39000003 Creating journal file %A% at %A%
39000004 Journal file %A% does not exist. No journal file will be created.
39000005 Begin rebuilding database %A%.
2142 PCL Reference Manual
Introduction

39000006 Database rebuild complete.


39000007 Journal file name %A% conflicts with the original database name %A% that was
created. Database %A% will be created. Do you wish to continue?
39000008 Journal file name must end with ".db.jou"

Vector Utility Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from vector
utility functions.

40000000 VEC
40001001 VEC_INFO
40001002 Severity of the message %I% is unknown.
40001003 VEC_LAST_INFO
40002001 VEC_WARNING
40002002 The Vector Utility received an invalid pointer.
40002003 Vector angle calculation failed.
40002004 Message code %I% does not belong to the Vector Utility.
40002005 Vector angle is indeterminate.
40002006 VEC_LAST_WARNING
40003001 VEC_FATAL
40003002 VEC_LAST_FATAL
40004001 VEC_CRASH
40004002 Undefined fatal Vector Utility failure.
40004003 VEC_LAST_CRASH

Matrix Utility Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from matrix
utility functions.

41000000 MTX
41001001 MTX_INFO
41001002 MTX_LAST_INFO
41002001 MTX_WARNING
41002002 The Matrix Utility received an invalid pointer.
41002003 Matrix type %I% is not yet supported.
Chapter 11: Status Messages 2143
Introduction

41002004 Number of columns (%I) and rows (%) do not match.


41002005 This feature not yet available.
41002006 Singular matrix.
41002007 Severity of the message %I% is unknown.
41002008 Message code %I% does not belong to the Matrix Utility.
41002009 Matrix has too many rows (%I%).
41002010 Matrix has too many columns (%I%).
41002011 MTX_LAST_WARNING
41003001 MTX_FATAL
41003002 MTX_LAST_FATAL
41004001 MTX_CRASH
41004002 Undefined fatal Matrix Utility failure.
41004003 MTX_LAST_CRASH

Topology Engine Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from topology
engine functions.

43000000 TE
43001001 TE_INFO
43001002 The Topology Engine is not initialized.
43001003 Point evaluated on surface is at boundary.
43001004 Point evaluated on surface is outside trimming curves.
43001005 Mapping by scaling parametric space is not feasible due to large distortions in the
mapping from parametric to global space.
43001006 TE_LAST_INFO
43002001 TE_WARNING
43002002 The Topology Engine received an invalid pointer.
43002003 TE has no instances for use id %I% type %I%.
43002004 TE received an invalid type code %I%.
43002005 TE received an invalid faceuse id %I%.
43002006 TE received an invalid edgeuse id %I%.
43002007 TE received an invalid world id %I%.
43002008 TE received an invalid body id %I%.
43002009 TE received an invalid shell id %I%.
2144 PCL Reference Manual
Introduction

43002010 TE received an invalid face id %I%.


43002011 TE received an invalid edge id %I%.
43002012 TE received an invalid vertex id %I%.
43002013 TE received an invalid loopuse id %I%.
43002014 TE received an invalid vertexuse id %I%.
43002015 TE received an invalid solid id %I%.
43002016 TE received an invalid surface id %I%.
43002017 TE received an invalid curve id %I%.
43002018 TE received an invalid point id %I%.
43002019 TE has no geometry for top type %I% id %I%.
43002020 TE reached the end of curve id %I%.
43002021 Move on curve failure.
43002022 TE received an unknown manifold class %I%.
43002023 Max number of iterations reached without success when trying to move on curve.
43002024 Bad data in the curve table when trying to move on curve.
43002025 Degenerate curve found when trying to move on curve.
43002026 Instability due to magnitude of 1st derivative when trying to move on curve.
43002027 Surface evaluator failed on surface id %I%.
43002028 Surface area failure on surface id %I%.
43002029 Requested item is not parameterized.
43002030 Point was clipped to boundary.
43002031 Requested surface is not planar.
43002032 Curve evaluator failed on curve %I%.
43002033 Solid evaluator failed on solid %I%.
43002034 TE_LAST_WARNING
43003001 TE_FATAL
43003002 TE_LAST_FATAL
43004001 TE_CRASH
43004002 Undefined fatal Topology Engine failure.
43004003 Fatal List Manager failure in Topology Engine.
43004004 TE_LAST_CRASH
Chapter 11: Status Messages 2145
Introduction

Express File Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from express
file functions.

44000000 PDES
44001001 No express physical file open.
44001002 Express physical file already open.
44001003 Express file open error.
44001004 Out of memory in Express read.
44001005 Express get value access error.
44001006 Express no list element found.
44001007 Express instance not defined.
44001008 Express instance already exists.
44001009 Express syntax error.
44001010 Express object not a simple record.
44001011 Express instance not found.
44001012 Express entity type not found.
44001013 Scratch File Error.
44002000 An I/O list or array cannot be used because it is NULL or has insufficient memory
space.
44002001 The blob builder could not properly create a blob.
44003000 This type not defined within Pdes reader/writer. THIS SHOULD BE USED ONLY
AS A DEBUG MESSAGE.
44003001 A Vector with Magnitude cannot be entered with a zero magnitude.
44004000 Unequal number of x, y, z polynomials defining the geometry.
44004001 The vectors defining the plane are not orthogonal.
44004002 The patches in the surface do not form a rectangular network.
44004003 The working space used in creating a Catia surface is not large enough. Call PDA
Hotline.
44004004 Unable to create a Catia Trimmed Surface.
44004005 Build error for ellipse #%I%.
44004006 Build error for parabola #%I%.
44004007 Build error for hyperbola #%I%.
44004008
The Axis defines a LEFT-handed coordinates system. Patran only supports RIGHT-
handed coordinates system. The Axis is not imported.
2146 PCL Reference Manual
Introduction

44004009 A CATIA surface (PDES Id = #%I%) in a CATIA Brep is not created because it is
degenerate under the current global tolerance.
44004010 Topological and/or geometrical gaps were found in the B-Rep solid. Automatically
attempting to correct all topological incongruities and gaps.
44004011 Unresolvable topological and/or geometrical gaps in the B-Rep solid. %I% B-Rep
faces are written out.
44005000 The magnitude of the plane coefficients A, B, and C does not equal one.
44005001 The angle of rotation is not in the proper range: 0 < angle <= 95.
44005002 The included angle for the circle is less than or equal to zero or greater than 360
degrees.
44005003 The offset angle must not equal zero.
44008000 Element #%I% does not have the correct number of required nodes.
44008001 Element #%I% does not have the correct number of additional nodes.
44009000 Storing %I% %A% to the database.
44009001 Processing %I% Surfaces for %I% %A%.

Neutral File Export Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from neutral
file export functions.

45000000 NEUTRAL_EXPORT
45000001 Unable to open output file. Aborting Neutral File Export.
45000002 Error writing Finite Element Model. Will try to complete Neutral File.
45000003 Error writing Named Components. Aborting FEM portion of Neutral File. Will try
to complete writing geometry, if any.
45000004 Unable to open Neutral File: %A%.
45000005 Error counting NODES for Neutral File Packet 26.
45000006 Error counting ELEMENTS for Neutral File Packet 26.
45000007 Error counting MATERIALS for Neutral File Packet 26.
45000008 Error counting COORD FRAMES for Neutral File Packet 26.
45000009 Unable to write Neutral File Packet 26. Aborting FEM portion of Neutral File. Will
try to complete writing geometry, if any.
45000010 Error counting Property Regions in database. Aborting FEM portion of Neutral File.
Will try to complete writing geometry, if any.
45000011 Error Allocating Memory in Neutral File Export.
Chapter 11: Status Messages 2147
Introduction

45000012 Error getting Nodal Data, Aborting FEM portion of Neutral File. Will try to
complete writing geometry, if any.
45000013 Error translating Nodal Data, Aborting FEM portion of Neutral File. Will try to
complete writing geometry, if any.
45000014 %I% Nodes written to the Neutral File.
45000015 Error getting Element Data, Aborting FEM portion of Neutral File. Will try to
complete writing geometry, if any.
45000016 Error getting Element Property Data, Aborting FEM portion of Neutral File. Will try
to complete writing geometry, if any.
45000017 Error translating Element Data, Aborting FEM portion of Neutral File. Will try to
complete writing geometry, if any.
45000018 %I% Elements written to the Neutral File.
45000019 Error translating Coord Frames, Aborting FEM portion of Neutral File. Will try to
complete writing geometry, if any.
45000020 %I% Coordinate Frames written to the Neutral File.
45000021 Error translating Loads, Aborting FEM portion of Neutral File. Will try to complete
writing geometry, if any.
45000022 Unable to write record to Neutral File. Aborting this record.
45000023 Error getting coordinate frame %I%.
45000024 Error writing a record to Neutral File.
45000025 Error in <%A%> call.
45000026 Model has no Element Property Regions Defined.
45000027 Material <%A%> being translated now.
45000028 Internal Ply Count conflict for Material <%A%>. Material not translated.
45000029 No elements in region %I%. No properties translated.
45000030 Error getting Property Values in Region %I%
45000031 Property table overflow. Aborting Property Translation
45000032 Third node, (ID = %I%) for bar orientation is not present.
45000033 Illegal DOF in pin flag <%A%>, at bar end %I%.
45000034 Illegal beam orientation vector for Property Region %I%.
45000035 Translating Loadtype <%A%> for Loadset <%A%>.
45000036 Element %I% not defined for Load <%A%>.
45000037 Node %I% not defined for Load <%A%>.
45000038 Load Type %I% not supported for <%A%>.
45000039 Unable to determine a unique 12 character Neutral File name.
45000040 Error in material property angle for 2D element.
2148 PCL Reference Manual
Introduction

45000041 The materials <%A%> and <%A%> map to the same neutral file material id. The
MID for the second material has been changed to %i%.
45000042 Vfac Template ID & Enclosure ID is a required input for Viewfactor boundary
condition.
45000043 At least two data inputs are needed for Convection boundary condition, one of them
has to be the Fluid node ID.
45000044 Mapping of element property names to specific property ID's will not be performed
because at least one property has a Field reference.
45000045 Mapping of element property names to specific property ID's will not be performed
because at least two property names would map to the same ID.
45000046 Mapping of element property names to specific property ID's will not be performed
because property name <%A%> results in an undefined ID.
45000047 Mapping of load case names into specific neutral file set ID's will not be performed
because at least two names would map to the same ID.
45000048 Mapping of load case names into specific neutral file set ID's will not be performed
because Loadcase <%A%> results in an undefined ID.
45000049 Neutral export of the nodal field defined for property %I% in region %A% is not
currently supported.
45000050 Error translating MPC Data, Aborting FEM portion of Neutral File. Will try to
complete writing geometry, if any.
45000051 %I% MPCs written to the Neutral File.
45000052 Scale factors on the Load Case prioritization form are not currently supported for
this preference. Values defined for load case %A% are being ignored.
45000098 You are exporting a partial Neutral File which might not import back into PATRAN
3 unless other portions of the model are re-created first.
45000099 Neutral File export completed successfully.
45000100 Neutral File export completed with error(s). Please review the session file for details.
Please also be careful with the way you use the neutral file.
45000101 The Node Id is greater than 99999999.

Remote Procedure Calls


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that make use of lists of entities.

47000000 RemoteProcedureCalls
47000001 RPC memory allocation error.
47000002 RPC Unknown server name.
47000003 RPC client create failure.
Chapter 11: Status Messages 2149
Introduction

47000004 RPC server already exists.


47000005 RPC data type error.
47000006 RPC end of data input stream.
47000007 RPC unknown data type.
47000008 RPC client call failure.
47000009 RPC bad command.
47000010 RPC no command given.

List Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that make use of lists of entities.

48000000 List
48000001 "* %A% *" is not a valid target list !
48000002 "* %A% *" is not a valid boolean operator !
48000003 No Element found !
48000004 No Node found !
48000005 No Point found !
48000006 No Curve found !
48000007 No Surface found !
48000008 No Solid found !
48000009 No Material selected !
48000010 No Group selected !
48000011 No Property selected !
48000012 No Coord Value selected !
48000013 Boolean listc is empty !
48000014 "* %A% *" is not a valid Value option !
48000015 "* %A% *" contains no specified input data!
48000016 "Input List is empty !"
48000017 No Mpc found !
48000018 Group "* %A% *" does not exist !
2150 PCL Reference Manual
Introduction

Fatigue Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
used with fatigue applications.

49000000 APP PFATIGUE


49001001 Jobname "%A%" already exists. Do you want to overwrite (yes or no?)
49001002 It appears that Jobname "%A%" is still running from a previous submittal. Do you still
want to submit this job (yes or no?)
49001003 The FATIGUE library %A% cannot be loaded!
49001101 Enter a jobname first!
49001102 Select a job first!
49001103 Select a compliance function first!
49001104 No compliance function template data exists. Run PKSOL!
49001105 No compliance function XY data exists for %A%. Run PKSOL!
49001106 Plot template information not compatible with curve data. Plot may be in error!
49001107 Error reading fin file!
49001108 Error reading fnf file. Material information may not be complete!
49001109 Version number must be #3.1 on first line!
49001110 No equal sign in the following line: %A%
49001111 There is no 'ANALYSIS TYPE' defined!
49001112 The first parameter must be 'ANALYSIS TYPE'!
49001113 There is no 'FEA RESULTS LOCATION' defined!
49001114 The second parameter must be 'FEA RESULTS LOCATION'!
49001115 The %A%.fnf file does not exist. The material information will be incomplete!
49001116 File %A%.fnf is not a proper neutral file!
49001117 More materials defined in .fnf file than in .fin file!
49001118 Time History %A% not found!
49001119 Select sensitivity data first!
49001120 File %A% does not exist.
49001121 Materials Information not properly defined! Make sure necessary spreadsheet cells are
filled out properly in the Materials Info form and that there are no spaces in the group
region name. Use Group/Modify/Rename to fix this if it is a problem.
49001122 Load Information not properly defined! Make sure the necessary spreadsheet cells are
filled out properly in the Loading Info form.
49001123 There are no nodes in region %A%.
49001124 There are no elements in region %A%.
Chapter 11: Status Messages 2151
Introduction

49001125 The MSC.Fatigue software has not been installed properly on your system. Please,
check with your system administrator.
49001126 The sensitivity x-y data file, %A%, does not exist. Run DESOPT!
49001127
No Patran FEA job has been specified!
49001128 No compliance function has been selected!
49001129 Life results for a Component S-N job relate to the component or critical feature (e.g., a
weld). Life contour plots may be misleading.
49001130 Do you wish to read in existing job '%A%'?
49001131 Delete job '%A%' and all associated files?
49001132 The material %A% is not iron or steel and therefore surface finish and treatments are
invalid. They will be ignored in the analysis.
49001133 It is not necessary to select all the Time Steps. Only one needs to be selected to active
the adjacent list box. All Time Steps appearing in the Listbox will be used in the
analysis. Use the Filter form to modify the contents of the Listbox.
49001134 The PAT3FAT translation was not successful. No input file was created. Check the
message file for possible problems.
49001135 A file called "%A%.vec" will be created with the normal vectors. It will be detected
by PAT3FAT to calculate surface stress/strains. This is valid only for nodal results.
Proceed?
49001136 Warning: A normal vector file "%A%.vec" has been detected. Do you wish to do
surface stress/strain extraction?
49001137 Warning: Mixed model types have been detected in the current group. Make sure only
2D or only 3D element types exist in the current group to calculate normals.
49001139 Error: There seems to have been a problem spawning %A%.
49001148 The "Current spectrum" as been set to "fatigue spectrum" for life contouring. A
"log_range" has also been created. Change them under "Display/Spectrums(Ranges)"
if necessary.
49001149 A biaxiality analysis has been requested but normal vectors have not been calculated to
extract surface stress/strain. ("Calculate Normals" option in the "Control Job" form)
Are the stresses/strains already surface resolved (Y/N?)
49001151 A result case, tensor results, and layer must be selected before the cell can be filled
properly.
49001152 ***Error: No tensor result was selected for the transient fatigue time step analysis.
49001153
No time step results were found in the current Patran database.
49001154 ***Warning: There does not appear to be any results from a fatigue analysis in the
Patran database. Check that results have been imported and the job parameters
(jobname and analysis type) are set properly.
2152 PCL Reference Manual
Introduction

49001155 ***Warning: No crack growth results are stored in the database.


49001156 ***Warning: This requires a license of nsoft. The variable npath has not been set.
49001157 An existing "%A%" file already exists in the local directory. Do you want to overwrite
(yes or no)?
49001158 An existing "%A%" file already exists in the local directory. Do you want to overwrite
(yes or no)?
49001159 No results case, type or layer was selected.
49001160 A value that was not a valid number was detected in the Stress Distribution spread
sheet.
49001161 Fast Analysis is not valid when using rainflow matrices.
49001162 User must select a result load case and associated tensor.
49001163 User must select PSD file.
49001164 User must select a PSD matrix file.
49001165 Vibration fatigue analysis currently supports stress tensor type results only. Please,
make sure you have select the appropriate results type.
49001166 These cells will automatically be filled with appropriate load PSD from the selected
PSD matrix file. Entries can not be changed by user.
49001167 The maximum number of input load PSD supported at the present is twenty(20).
49001168 Error: Inconsistent frequency number for multiple load cases considered. Make sure
the recovered frequencies from FE analysis per load case is the same for all load cases.
49001301 First argument must be the jobname!
49001302 End of PAT3FAT translation.
49001303 Messages output from the %A% translator: %A% %A% on %A% at %A%.
49001304 Total execution time in real seconds: %G%
49001305 Total execution time in CPU seconds: %G%
49001306 ***Error: Not able to open message file.
49001307 ***Error: Not able to open .fin file.
49001308 ***Error: Not able to open .fnf file.
49001309 ***Error reading .fin file. Check message file.
49001310 ***Error reading .fnf file. Check message file.
49001311 ***Error writing .fes file. Check message file.
49001312 ***Error: Not able to open .vec file.
49001351 ***Job aborted due to user request.
49001352 PAT3FAT reading the FIN file...
49001353 PAT3FAT reading the FIN file...
Chapter 11: Status Messages 2153
Introduction

49001354 PAT3FAT reading the FNF file...


49001355 PAT3FAT reading the FNF file...
49001356 PAT3FAT reading the FE results...
49001357 PAT3FAT reading the FE results...
49001358 PAT3FAT writing the FES input file...
49001359 PAT3FAT writing the FES input file...
49001360 PAT3FAT terminated normally.
49001361 PAT3FAT terminated normally.
49001400 ***Error: Invalid version number on the first line of the .fin file. It must be "#3.1".
49001401 ***Error: There is a line in the .fin file that is missing an equals sign.
49001402 ***Error: The first parameter in the .fin file must be the ANALYSIS TYPE.
49001403 ***Error: An invalid ANALYSIS TYPE has been detected. You must use CRACK
INITIATION, NOMINAL STRESS COMPONENT, CRACK GROWTH, or
NOMINAL STRESS MATERIAL.
49001404 ***Error: An invalid RESULTS LOCATION has been detected. You must use NODE
or ELEMENT CENTROID
49001405 ***Error: Input %I% for %A% is outside the valid range ( %I% to %I% ).
49001406 ***Warning: Invalid parameter in the .fin file ignored for %A% = %A%: %A%
49001407 ***Error: Invalid TENSOR TYPE detected. You must use STRESS or STRAIN.
49001408 ***Error: Invalid TENSOR TYPE detected for the ANALYSIS TYPE selected. Set
it to STRESS.
49001409 ***Error: Invalid STRESS UNITS detected in the .fin file. Use only MPA,
PASCALS, PSI, KSI, or KG/M**2.
49001410 ***Error: Invalid STRESS or STRAIN COMBINATION. Use only MAX ABS
PRINCIPAL, SIGNED VON MISES, SIGNED TRESCA, or one of the components.
49001411 ***Error: Invalid MEAN STRESS CORRECTION method detected for given
ANALYSIS TYPE.
49001412 ***Error: Input %F% for %A% is outside the valid range ( %F% to %F% ).
49001413 ***Error reading the %A% parameter.
49001414 ***Error: Zero (0.0) not allowed in parameter %A%.
49001415 ***Error: Invalid CRACK LENGTH UNITS have been detected. Use only INCHES,
METERS, MILLIINCHES, or MILLIMETERS.
49001416 ***Error: Transient FE analysis results not allowed for CRACK GROWTH analyses.
49001417 ***Error: Invalid FEA ANALYSIS TYPE detected. It must be either STATIC or
TRANSIENT.
2154 PCL Reference Manual
Introduction

49001418 ***Error: Invalid FEA RESULTS TYPE detected. It must be either DATABASE,
Patran FEA, or EXTERNAL.
49001419 ***Error: Invalid external RESULTS COLUMNS detected. There must be six
separated by commas and they must be in the range 0 to 200.
49001420 ***Error: Invalid SHELL SURFACE parameter as been detected. It must be set to
either TOP or BOTTOM or not included at all.
49001421 ***Error: FEA load case informational parameters must be preceded by a LOAD
CASE parameter in the .fin file.
49001422 ***Warning: An unrecognized parameter has been detected in the .fin file: %A%
49001423 ***Error: Invalid FACTOR OF SAFETY value detected. It must be either YES or NO.
49001424 ***Error: Invalid SURFACE STRESS EXTRACTION value detected. Must by either
YES or NO.
49001425 ***Error: Invalid PLANE_STRESS value detected. It must be either YES or NO.
49001426 ***Error: Invalid TRANSFORMATION value detected. It must be either NONE or
BASIC.
49001427 ***Error: An invalid load case ID has been detected in a FE LOAD CASE ID card.
The ID must look like "n.n-" when referencing database results.
49001501 ***Error: It appears that the .fnf file is not a properly formatted neutral file. The first
record must be packet type 25.
49001502 ***Error: No data of set IDs %I% - %I% found in the neutral (.fnf) file. Make sure at
least one group of nodes and/or elements has been defined for fatigue properties.
49001503 ***Error: No nodes or elements appear in the .fnf neutral file packet 26 summary. Not
able to allocate memory.
49001504 ***Error allocating memory in neutral file (.fnf) read routine.
49001505 ***Error allocating memory in fin file (.fin) read routine.
49001551
***Error reading the Patran FEA results file.
49001552
***Error: There are no nodal stress/strain results in the indicated Patran FEA results
file.
49001553
***Error: There are no load cases in the indicated Patran FEA results file.
49001554
***Error: There are no static results in the Patran FEA results file.
49001555
***Error: There are no transient results in the Patran FEA results file.
49001556 ***Error: The number of time steps requested exceeds the number of time steps in the
Patran FEA results file.
Chapter 11: Status Messages 2155
Introduction

49001557 ***Error allocating memory in FE results read routine.


49001558
***Error reading Patran FEA results for load case header for load case/step number
%I%.
49001559
***Error reading Patran FEA results for load case/time step number %I%.
49001560
***Error: There are no Patran FEA results for shell elements in the results file.
49001561
***Error opening the specified Patran database.
49001562 ***Error in external results file name(s). There must be a "#" in the place of the load
case or time step number.
49001563 ***Error reading an external results file. See the message file.
49001564 ***Error opening external file %A%, for load case %I%.
49001565 ***Error reading external file header in file %A% for load case %I%.
49001566 ***Error reading external results in file %A% for load case %I%.
49001567 ***Error closing external file %A%, for load case %I%.
49001601 ***Error allocating memory while writing output (.fes) file.
49001602 ***Error creating (opening) the fatigue input file (.fes).
49001603
***Error opening Patran FEA (.res) results file.
49001604 ***Error writing the header to the .fes file.
49001605 ***Error writing stress/strains data to .fes file.
49001606 ***Error closing the fatigue input file (.fes).
49001621
***Error reading results from the Patran database.
49001622 ***Error: No global variables of type "Time" are associated with results case
%I%.%I%.
49001623 ***Error: There are no appropriate stress/strain tensor results associated with results
case %I%.%I%.
49001624 Using results type "%A%" of ID %I% for database results case %I%.
49001625 ***Error allocating memory to read database results.
49001626 ***Error: Results load case %I%.%I% is associated with Nodes yet and Elemental
based fatigue analysis has been selected. This is not possible at this time!
49001627 ***Error: There are no elements in the model. Cannot continue with translation.
49001628 ***Warning: No stress/strain tensor result types were encountered appropriate for
nodal fatigue calculations. Try changing the RESULTS LOC. to "Element" in the
General Setup Parameters.
2156 PCL Reference Manual
Introduction

49001629 ***Warning: No stress/strain tensor result types were encountered appropriate for
elemental fatigue calculations. Try changing the RESULTS LOC. to "Node" in the
General Setup Parameters.
49001630 Surface stress/strain extraction has been initiated by detection of normal vectors file.
49001631 ***Error: There are no nodes in the model.
49001632 ***Error reading the ".vec" file.
49001633 ***Error: There are more nodes in the ".vec" file than there are in the model.
49001634 ***Error allocating memory for surface stress/strain extraction.
49001635 Warning: The system environment variable p3fpath has not been set properly. No job
submission or module spawning will be possible!
49001636
PAT3FAT collecting model data from Patran db...
49001637
PAT3FAT collecting model data from Patran db...
49001638 ***Error: The material informational parameters must be preceded by an S-N DATA
SET or MATERIAL .fin file.
49001639 ***Error: Too many materials are defined in the .fin file.
49001640 ***Error: No materials are defined in the .fin file.
49001641 ***Error: Invalid AVERAGING METHOD value detected. It must be either
GLOBAL OR GROUP.
49001642 ***Error: Invalid SURFACE FINISH value detected. It must be one of the 4 valid
options.
49001643 ***Error: Invalid SURFACE TREATMENT value detected. It must be one of the 10
valid options.
49001644 ***Error: Invalid WELD FLAG value detected. It must YES or NO.
49001645 ***Error: Invalid METHOD BIAXIAL value detected. It must NONE/MATERIAL
PARAMETER/HOFFMAN SEEGER.
49001646 ***Error: Invalid PLASTICITY value detected. It must NEUBER/MERTEN-
DITTMAN/SEEGER-BESTE.
49001647 ***Error: Invalid STRAIN TYPE value detected. It must TENSOR or
ENGINEERING.
49001648 ***Error: Failed trying to recover the total number of entities to be processed, from
the Patran DB.
49001649
***Error: Failed to recover id's from the Patran DB when trying to build list to be
processed.
49001650
***Error: Failed trying to recover the group id for a material region, from the Patran
DB.
Chapter 11: Status Messages 2157
Introduction

49001651 ***Error: Failed trying to recover the number of entities in the material group, from
the Patran DB.
49001652 ***Error: Failed trying to recover the list of entities in the material group, from the
Patran DB.
49001653 ***Error allocating memory in routine that recovers model data.
49001654 ***Warning: Could not find "Stress" or "Strain in the the labels of any results types.
Using first available tensor result. This could be in error.
49002000 Results from attached xdb file are not currently supported.
49003001 Fatal errors encountered trying to read universal file.
49003002 Currently universal file reader will read following informatio: 1-All FEM. 2-All tensor
results. 3-All groups.
49003003 Unable to read Universal File card 2420, Coordinate systems. Check history window
for more details.
49003004 Unable to read Universal File card 2411, Finite Element model nodal information.
Check history window for more details.
49003005 Unable to read Universal File card 2412, Finite Element model element information.
Check history window for more details.
49003006 Unable to read Universal File card 2414, results data. Check history window for more
details.
49003007 Unable to read Universal File card 2430, grouping information. Check history window
for more details.
49004000 Number of input psd loading for vibration fatigue analysis is zero.
49004001 Number of frequency steps for vibration fatigue analysis is zero.
49005000 Group %A% must have bar elements and associated nodes only. Please, modify group
content to comply with this requirement.
49006000 MSC.Fatigue Module %A% does not have a valid license on this machine. Please,
verify that that the license is current.
49006500 Selected group %A% for material region does not exit in database.
49006501 Material region %A% contains MPC related free nodes that have no elements
associated with them, and no results. It is required that these be removed from the group
for a successful fatigue run
2158 PCL Reference Manual
Introduction

Team Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from Patran
team functions.

50000000 TEAM
50001001 TEAM_INFO
50001003
Are you sure you want to abort Patran TEAM job "%A%"?
50001004 Abort request submitted. Waiting for TEAM to actually abort processing.
50001005
The Patran TEAM Results Postprocessor is invoked as a separate standalone process, and
the database must be shutdown before proceeding.
50001006 TEAM_LAST_INFO
50002001 TEAM_WARNING
50002002 The geometric boundary element subdivision (GBES) file, "%A%", is still open. Save
changes before exiting?
50002003 Load set "%A%" has a zero load vector. Check the load definition to make sure the
appropriate field has been specified. Continue processing?
50002004 Load set "%A%" has a non-zero X or Z velocity component. For axisymmetric analyses,
only the Y component should be specified for angular velocity. Continue processing?
50002005 Load set "%A%" has a non-zero X or Y velocity component. For 2D plane stress or plane
strain analyses, only the Z component should be specified for angular velocity. Continue
processing?
50002006 Load set "%A%" has an unrecognized load type "%A%". Recreate the load set, assuring
that the analysis preference is set to Patran TEAM at the time. Ignore load and continue?
50002007 The following team data file for the specified job already exists: %A%. When running a
full analysis, we recommend beginning with an empty dataset. OK to delete this file?
50002008 The Advanced Controls file, %A%, exists, but the analysis type flag in the file indicates
that this should be a Restart Run. Either delete the file and continue, or re-submit the
analysis as a Restart Run. Delete and continue?
50002009 TEAM_LAST_WARNING
50003001 TEAM_FATAL
50003002 Jobname "%A%" does not exist. An existing jobname is needed for this operation.
50003003 Jobfile "%A%" does not exist. An existing jobfile is needed for this operation.
50003004 Error parsing the solid specification "%A%". Either a blank or an invalid solid has been
specified. Please select a valid solid before continuing.
50003005 Error parsing the surface specification "%A%". Either a blank or an invalid surface has
been specified. Please select a valid surface before continuing.
Chapter 11: Status Messages 2159
Introduction

50003006 Error parsing the curve specification "%A%". Either a blank or an invalid curve has been
specified. Please select a valid curve before continuing.
50003007 No loadcase has been specified. Please select a loadcase before continuing.
50003008 The specified jobfile "%A%" does not contain a proper definition of the TEAM model
specification, defined by the "REGION LABEL" parameter.
50003009 Unable to create a TEAM mailbox for model "%A%". Communications cannot be
established.
50003010 The material specified for this job, "%A%", is not valid. Make sure that a valid material
has been created and specified in the analysis setup.
50003011 More than one symmetry BC has been defined in the specified load case. Only one
symmetry BC may be specified. Either remove the unwanted symmetry BCs from the
load case, or combine them into one definition, before continuing. The Patran TEAM job
will not be submitted.
50003012 No material has been specified. Please select a material before continuing.
50003013 A mass density greater than zero must be specified for analyses with inertial loads. The
mass density specified for material "%A%" is %F%. Please modify this value
appropriately.
50003014 TEAM_LAST_FATAL
50004001 TEAM_CRASH
50004003 TEAM_LAST_CRASH

Utility Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from utility
functions.

51000000 UTIL
51000001 Invalid pointer passed to function memcpy
51000002 Failure of C library function memcpy
51000003 Number of array elements to copy is < 0
51000004 Failure of C library function memset
51001000 %A% is not a valid entity.
51001001 This query requires Reference %A% be a %I%-dimensional entity.
51001002 The specified normal deviation exceeds the valid range for interior angle
computation between two vectors. The valid range is 0.0 <= deg <= 180.0.
51001003 Either no reference entity was provided or multiple reference entities were selected.
Only one reference entity may be specified.
2160 PCL Reference Manual
Introduction

51001004 The specified reference entity %A% does not satisfy the specified query criteria.
Although this entity will still be used to facilitate the query, it will be omitted from
the list of entities satisfying the query criteria.
51001005 This query could not find any element faces which satisfy the selection criteria.

CADDS File Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
used to work with CADDS files.

52000000 SGM_CV
52000001
Cannot open this database with standard Patran. Quit Patran and use p3.cv.
52010000 Failure occurred in CADDS Access %A%.
52010001 Successful execution of CADDS Access.
52010002 Opening CADDS database %A%
52010003 Closing CADDS database %A%
52010004 CADDS database cannot be opened due to the fact that it already exists and is open
or cannot be found.
52010005 Error in opening CADDS database %A%
52010006 Error in closing CADDS database %A%
52010007 Error in CADDS database handle %A%
52010008 CADDS filename error. Filename is %A%.
52010009 CADDS list handle error occurred. HANDLE is %I%.
52010010 CADDS entity handle error. HANDLE is %I%.
52010011 CADDS point handle error. HANDLE is %I%.
52010012 CADDS line handle error. HANDLE is %I%.
52010013 CADDS curve handle error. HANDLE is %I%.
52010014 CADDS uv curve handle error. HANDLE is %I%.
52010015 CADDS surface handle error. HANDLE is %I%.
52010016 CADDS vertex handle error. HANDLE is %I%.
52010017 CADDS edge handle error. HANDLE is %I%.
52010018 CADDS loop HANDLE error. HANDLE is %I%.
52010019 CADDS face HANDLE error. HANDLE is %I%.
52010020 Error in writing CADDS database.
52010021 Error in getting 1st point of line. HANDLE is %I%.
52010022 Error in getting 2nd point of line. HANDLE is %I%.
Chapter 11: Status Messages 2161
Introduction

52010023 CADDS curve evaluator error for t1 occurred.


52010024 CADDS curve evaluator error for t2 occurred.
52010025 CADDS surface evaluator error for umin occurred.
52010026 CADDS surface evaluator error for umax occurred.
52010027 CADDS surface evaluator error for vmin occurred.
52010028 CADDS surface evaluator error for vmax occurred.
52010029 Error in accessing face of CADDS Brep.
52010030 Error in accessing inclusionary loop of CADDS Brep.
52010031 Error in accessing exclusionary loop of CADDS Brep.
52010032 Error in accessing edge of CADDS Brep.
52010033 Error in getting uv curve of CADDS Tsurf.
52010034 Error in building uv curve of CADDS Tsurf.
52010035 Error in uv curve number of knots.
52010036 Error in getting knots of uv curve.
52010037 Error in uv curve number of vertices.
52010038 Error in getting vertices of uv curve.
52010039 Error in getting order of uv curve.
52010040 Error in knowing if uv curve is rational.
52010041 Error in getting weights of vertices of uv curve if rational.
52010042 Error in getting t1 of uv curve.
52010043 Error in getting t2 of uv curve.
52010044 Error in getting CADDS entity type.
52010045 Error in setting CADDS environment.
52010046 Error %I% writing CADDS point (miptr %I%) to database.
52010047 Error %I% writing CADDS line (miptr %I%) to database.
52010048 Error %I% writing CADDS curve (miptr %I%) to database.
52010049 Error %I% writing CADDS surface (miptr %I%) to database.
52010050 Error %I% writing CADDS solid/brep (miptr %I%) to database.
52010051
CADDS entity type %I%, CADDS miptr %I% Not supported in Patran.
52010052 Part Contains %I% Solid(s), %I% Surface(s), %I% Curve(s).
52010053 Processing %I% Cadds Curve(s).
52010054 Processing %I% Cadds Surface(s).
52010055 Processing Solid %I% of %I%.
2162 PCL Reference Manual
Introduction

52010056 Failure occurred in CADDS Access. CADDS database name must be relative to
CVPATH, not an absolute pathname.
52010100 Too many edges on surface.
52010101
Cadds Model Changed MIPTR %I% no longer exists Patran entity deleted.

Mass Properties Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
used to work with mass properties.

53000000 MASP
53000001 The axisymmetric coordinate frame cannot be spherical.
53000002 The reference coordinate frame must be rectangular.
53000003 The specified axes for the axisymmetric modeling frame are unreasonable.
53000004 The specified axes for the axisymmetric modeling frame are both %I%. The
axisymmetric frame is, therefore, not well-defined.
53000005 You have requested to specify your region by groups, but the group list is empty.
53000006 An unsupported widget value has been selected for the %A% widget.
53000007 Unable to obtain model definition data from the database.
53000008 The specified region contains no entities.
53000009 Unable to fetch group "%A%" from the database.
53000010 A database error occurred while attempting to fetch an element property region for
"%A%".
53000011 There is no default analysis code in the database. This is a problem with database
template initialization.
53000012 A database error occurred while attempting to fetch the physical property ID's for
element property region %I% having entities of dimension %I%.
53000013 A database consistency error occurred while attempting to fetch physical property
%I% of element property region %I%.
53000014 Unable to perform a database fetch of a coordinate frame (Internal ID = %I%).
53000015 Unable to fetch the definition data for element property region %I%.
53000016 Unable to fetch the properties of material %I%.
53000017 Unable to fetch the definition for %A% %I%.
53000018 Unable to perform a database fetch of a coordinate frame (Internal ID = %I%)
referenced by a concentrated mass.
53000019 Unable to fetch the coordinates of a point to determine the location of a concentrated
mass.
Chapter 11: Status Messages 2163
Introduction

53000020 Unable to fetch the coordinates of a 0D element.


53000021 Unable to initialize field %I% for evaluation.
53000022 A programming error has occurred while attempting to process a solid entity in an
axisymmetric model. An earlier filter should have prevented this. For a workaround,
please do not specify any such entities for mass properties calculation.
53000023 The net mass in the region specified is zero.
53000024 Not all of the calculated principal inertias, %F%, %F%, and %F%, are positive.
53000025 Unable to allocate %I% bytes of virtual memory.
53000026 No mass properties can be calculated for any of the entities in the specified region.
The reasons are given in the ensuing warning messages. Check the History window
for multiple warning messages.
53000027 None of the entities in the specified region is compatible with the requested analysis
type.
53000028 The list of included entities could not be generated.
53000029 The list of rejected entities could not be generated.
53000030 Some of the specified entities were excluded from the mass property calculations
because no element property region has been specified for them.
53000031 Some of the specified entities were excluded from the mass property calculations
because they are not consistent with the specified analysis model type.
53000032 Some of the specified entities were excluded from the mass property calculations
because they have no material assigned to them in their element property records.
53000033 Some of the specified entities were excluded from the mass property calculations
because some of their needed element properties are not found or represented using
data types that are supported by the Mass Properties.
53000034 Some of the specified concentrated mass elements have inertia tensors specified in
non-rectangular frames. These inertia tensors are assumed to be defined on a
rectangular frame whose axes are coincident with the axes of the specified non-
rectangular frame.
53000035 Some of the specified tapered beams were excluded from the mass property
calculations because their element property records have non-constant cross-
sectional areas.
53000036 Some of the specified entities were excluded from the mass property calculations
because their element property definitions lack a needed physical property such as
shell thickness or beam cross-sectional area.
53000037 Some of the specified entities were excluded from the mass property calculations
because they have neither material density nor nonstructural mass.
53000038 Some of the specified point entities were excluded from the mass property
calculations because they have no mass.
2164 PCL Reference Manual
Introduction

53000039 Some of the specified entities were excluded from the net mass property calculations
because errors occurred in the numerical integration of their mass properties. This is
often caused by a shortage of available virtual memory or a property defined by a
field that cannot be integrated over the entity.
53000040 The coordinate frame aligned with the principal axes of inertia could not be
generated. This is usually an indication of a corrupted database or a lack of available
virtual memory.
53000041 The specified entities that were excluded because of the indicated warning conditions
are: %A%
53000042 The principal axes of inertia cannot be plotted.
53000043 Unable to calculate a normal for 2D element %I%.
53000044 Unable to process the geometric definition for %A% %I%.
53000045 Unable to calculate a normal for %A% %I%.
53000046 The modeling plane cannot be uniquely determined from the entities specified.
53000047 Some of the specified entities were excluded from the mass property calculations
because they are not planar.
53000048 A normal to the axisymmetric modeling plane cannot be determined.
53000049 Some of the specified entities were excluded from the mass property calculations
because they are not in the modeling plane.
53000050 Unable to evaluate a point relative to the 2D modeling plane.
53000051 Unable to evaluate a point of %A%.
53000052 None of the principal directions is orthogonal to the 2D modeling plane.
53000053 Loading geometry data into memory...
53000054 Loading element properties into memory...
53000055 Performing mass property calculations...
53000056 Loading data from materials...
53000057 Unable to complete the Mass Properties report file. Failure occurred while
attempting to write: %A%
53000058 Unable to allocate virtual memory.
53000059 Some of the specified entities were excluded from the net mass property summation
because their calculated mass is zero. This problem can occur when a property is
defined by a field that cannot be integrated over the entity.
53000060 Some of the specified entities were excluded from the net mass property summation
because their calculated volume is zero. The excluded entities are not point entities,
so their calculated mass must also be zero. This problem can occur when the wrong
modeling plane is specified for an axisymmetric model or when part of an entity
crosses the axis of symmetry.
Chapter 11: Status Messages 2165
Introduction

53000061 The calculated principal directions and associated rotation angles are wrong. The
principal inertias may also be wrong.
53000062 Some of the concentrated masses have the moments of inertia defined. This can cause
counter-intuitive results to occur when the 2D Axisymmetric analysis type is
selected. The input moments of inertia are treated as moment of inertia densities and
are multiplied by 2*PI*radius to determine their contribution to the net inertia tensor
of the concentrated mass. The resulting inertia tensor may not correspond to that of
an axisymmetric body.
53000063 Some of the referenced element properties define an offset. All offsets are ignored in
the calculation of mass properties. This can cause the results to change substantially.
53000064 Not all of the principal axes of inertia can be plotted. Their lengths are determined
by the three radii of gyration corresponding to the three principal inertias, and some
of these are zero.
53000065 Unable to evaluate the area of %A%.
53000066 Some of the materials referenced by the specified entities have density defined by a
field. Density fields are not supported for mass property calculations. Entities
referencing a density field will be assigned a density of zero.
53000067 The specified axis of symmetry divides the specified model. Mass properties can
only be calculated when all of the specified entities are on the same side of the
symmetry axis.
53000068 A database error occurred while attempting to fetch the element property regions for
the specified entities.
53000069 Unable to display newly created principal coordinate frame %I%.
53000070 Zero-dimensional entities are not included in the mass property calculations if you do
not specify that Element Properties are to be used to determine density and
concentrated mass. Consequently there are no valid entities in the specified region.
53000071 The specified zero-dimensional entities were excluded from the mass property
calculations because the Unity option for Density/Concentrated Mass was selected.
Under these circumstances, zero-dimensional entities are ignored.
53000072 Mass property calculation has been aborted at the user's request.
53000073 Some of the entities specified do not exist.
53000074 Since Element %I% is associated to %A% %I%, properties for both entities will be
used in the mass property calculations. Continue anyway?
2166 PCL Reference Manual
Introduction

Post Processor Interface Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
used to provide a post processor interface.

55000000 PPI
55000001 Unable to allocate memory.
55000002
Patran is not presently running.
55000003 The device or file accessed is not valid.
55000004 A PPI session has not been initiated.
55000005 The handle accessed is not a session handle.
55000006 The handle accessed is not a file handle.
55000007 The handle accessed is not an entity handle.
55000008 The handle accessed is not an instance handle.
55000009 The handle accessed is not a list handle.
55000010 The handle is not valid.
55000011 The file option is not valid or not supported.
55000012 Unable to open the file. It either does not exist or the path is invalid.
55000013 Unable to open the database. It either does not exist or the path is invalid.
55000014 The file was not found.
55000015 The database was not found.
55000016 Unable to close the file.
55000017 Unable to close the database.
55000018 Cannot write data to memory as it will overwrite the allocated memory space.
55000019 Unable to free memory.
55000020 Invalid access code for a handle.
55000021 The code field has incorrect data.
55000022 Not a valid entity. Either the name is not correct or it is not supported.
55000023 Unable to write an instance.
55000024 Not a valid instance. The data is incorrect or it is not supported.
55000025 Attempt to insert data before the beginning or past the end of a list.
55000026 Attempt to get data before the beginning or from past the end of a list.
55000027 Incorrect list dimensionality due to an improper list utility call.
55000028 The instance requested is not present in memory and cannot be found in any other file
or database.
Chapter 11: Status Messages 2167
Introduction

55000030 The instance requested cannot be found in the file or database requested.
55000031 Parser error: %A%. Please check the start-up window for more information.
55000032 An Express definition is incorrect due to a non optional field being defined as a
NULL.
55000033 The enumeration is incorrect.
55000034 Parser/Writer Error: The Express Physical File was not opened.
55000035 Parser/Writer Error: Cannot create an instance.
55000036 Parser/Writer Error: Failed to properly terminate writing an instance.
55000037 Parser/Writer Error: Cannot start a list.
55000038 Parser/Writer Error: Cannot end a list.
55000039 Parser/Writer Error: Cannot process an integer.
55000040 Parser/Writer Error: Cannot process an logical.
55000041 Parser/Writer Error: Cannot process an real.
55000042 Parser/Writer Error: Cannot process an string.
55000043 Parser/Writer Error: Cannot process an NULL.
55000044 Parser/Writer Error: Cannot process an instance.
55000045 Parser/Writer Error: Cannot process an enumeration.
55000046 Cannot process in this directory most likely due to lack of write access. Please check
directory privileges.
55000047 Insertion Error in internal ID tables. Usually caused by ID conflicts.
55000048 Retrieval Error in internal ID tables. Usually caused by ID conflicts.
55000049 Deletion Error in internal ID tables. Usually caused by ID conflicts.
55001001 Topological and/or geometrical gaps were found in the B-Rep solid. Automatically
attempting to correct all topological incongruities and gaps.
55001002 Unresolvable topological and/or geometrical gaps in the B-Rep solid. B-Rep faces
written out as %I% surfaces: %A%.
55001003 An Error occurred during import of the instance with Express ID %I%.
55001004 An Error occurred during import of a point. Turn on the geometry tracking to identify
the Express ID for the point.
55001005 An Error occurred during import of a curve. Turn on the geometry tracking to identify
the Express ID for the curve.
55001006 An Error occurred during import of a surface. Turn on the geometry tracking to
identify the Express ID for the surface.
55001007 An Error occurred during import of a solid. Turn on the geometry tracking to identify
the Express ID for the solid.
2168 PCL Reference Manual
Introduction

55001008 %I% degenerate surface(s) was (were) ignored due to surface edge lengths being less
than the geometric tolerance.
55001009 %I% "gap" surface(s) and/or "topological glue" surface(s) have been deleted.
55001010 Express ID %I% and Express ID %I% are copies of the same %A% which correspond
to %A%.
55001011 Error(s) occurred which may be resolved by using a more refined tolerance.
55001012 %I% Error(s) encountered during generation of the import file in the foreign sending
system. These errors are detailed in the log file %A%.
55001013 Surface not created since it is a gap surface.
55001014 Trimmed surface %I% was not imported. The parent surface was written to the
PATRAN 3 database ( ID = %I% ) along with the trimming loop curves (%A%).
55001015 Illegal surface topology which cannot be imported.
55001016 Surface %I% has an open loop and therefore meshing problems could occur.

Database Import Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
used import databases.

56000000 DB_IMPORT
56000001 DB_IMPORT_ABORT
56001001 DB_IMPORT_INFO
56001002 Loading %I% "%A%" entities.
56001003 Loading all referenced entities.
56001004 Saving %I% entities.
56001005 Equivalencing duplicate %A%.
56001006 %I% duplicate %A% deleted.
56001007 Posting all entities.
56001008 ... %A% label %I% (internal ID=%I%)
56001009 LoadBC "%A%" imported from LoadCase "%A%" does not have the same scale
factor as the current database. Current scale factor left unchanged.
56001010 Group name "%A%%A%" truncated to "%A%".
56002001 DB_IMPORT_WARNING
56002002 %A% %I% already exists in the current database. If it is equivalent to %A% %I%
from the import database, then continue to allow geometric equivalencing to resolve
the conflict; otherwise, this import cannot continue. Continue this import?
Chapter 11: Status Messages 2169
Introduction

56002003 %A% %A% already exists in the current database. Since the %A% Merge option is
OFF, then an extended name, %A%, must be used.
56002004 Unable to open the import summary file: "%A%".
56002005 The minimum length of non-degenerate curves and edges being imported is %F%.
Since this value is less than twice the specified equivalence tolerance of %F%, it is
possible for non-degenerate curves to collapse into degenerate curves during import.
A new equivalence tolerance of %F% has been calculated (half of the minimum
curve/edge length). Select YES to use the new tolerance; NO to use the original
tolerance; or ABORT to discontinue the import.
56002006 An error occurred while attempting to load reference %A% (internal ID=%I%) from
the import database. Though this entity is referenced by an existing entity, it does not
appear to exist. If you have not experienced any problems with the import database,
then there is no cause for alarm. The reference will be removed upon import. Entity
traceback from the import database follows (command window only):
56002007 The Load/BC type definition for Load/BC %A% has not been loaded in the target
database. This Load/BC cannot be transferred until the appropriate analysis code
preference, defining this Load/BC type, has been loaded. Continue the import without
this Load/BC?
56002008 Group "%A%" is referenced by a superelement. The group-merge flag will be
temporarily disabled for this group.
56002009 %A% %A% already exists in the current database. Since %A%s may not be merged,
an extended name, %A%, must be used.
56002010 CAD model %A% already exists in the current database, and was found to be an exact
match. Duplicate geometry may result if the import is allowed to continue. Do you
wish to continue?
56002011 Conflicting boundary conditions exist at the following equivalenced nodes: %A%.
Select YES to use the current analysis coordinate frames for the equivalenced nodes.
Select NO or ABORT to discontinue import.
56002012 Different analysis coordinate frames are found at two nodes being equivalenced. If
either node has BC, the analysis coordinate frame of this node will be inherited by the
equivalenced node. Otherwise, if either coordinate frame is global, the analysis
coordinate frame of the equivalenced node will be global. Otherwise, the analysis
coordinate frame of the primary node will be inherited. The affected equivalenced
nodes are: %A%.
56002013 The minimum length of secondary element edges being imported is smaller than the
specified equivalence tolerance of %F%. In general, the larger the equivalence
tolerance is, the higher possibility of element distortion it may lead to. A new
equivalence tolerance of %F% has been calculated ( .9 * the minimum element edge
length). Select YES to use the original tolerance; NO to use the new tolerance; or
ABORT to discontinue the import.
2170 PCL Reference Manual
Introduction

56002014
The list for %A% entity type in the Patran DB Options form is invalid. Import of this
entity type cannot proceed. Select YES to continue the imports of other entity types;
NO or ABORT to discontinue DB import.
56002015 The model being imported contains %I% zero length elements within the bounding
region of the base model. Do you want these element nodes to be allowed to be
equivalenced? Select YES to allow; NO to disallow; or ABORT to discontinue the
import.
56003001 DB_IMPORT_FATAL
56003002 Error opening "%A%" for import.
56003003 The import database, %A%, is the same as the current database. Cannot import data
onto itself.
56003004 %A% error occurred while %A% %A% %I% from the import database. Unable to
continue.
56003005 %A% error occurred while %A% %A% %A% from the import database. Unable to
continue.
56003006 %A% error occurred while %A% %A% %I% from the import database to %A% %I%
in the current database. Unable to continue.
56003007 %A% error occurred while %A% %A% %A% from the import database to %A%
%A% in the current database. Unable to continue.
56003008 %A% %I% already exists in the current database. This import cannot continue.
56003009 %A% %I% already exists in the current database. If it is equivalent to %A% %I%
from the import database, then turn on Geometric Equivalencing within the
Equivalencing Options form, and try the import again. This import cannot continue
56003010 The import database schema version (%A%) is not compatible with that from the
current database (version %A%). Please make sure the import database is upgraded
to schema version %A% by assuring that it has been successfully opened and saved
by this version of Patran.
56003011 The %A%-fixed %A% name %A%%A% has been truncated to fit the database.
56003012 More than one %A% of %A% %I% (internal id=%I%) from the import database have
been equivalenced with a common %A% from the current database. The import
operation cannot continue, since erroneous topology would result. The cause of this
error is the specification of too large a tolerance for geometric equivalencing on
import.
56003013 The current group, "%A%", is referenced by a superelement. Since all imported
entities will be added to this group this import cannot continue. Please change the
current group and try again.
56003014 CAD model name %A% already exists in the current database, but its data does not
match that from the import database. This import cannot continue.
Chapter 11: Status Messages 2171
Introduction

56003015 Error creating material %A%. Constitutive model %I% not found in the current
database.
56003016 The length of the entity list you entered exceeds the 256 character limit.

FreeBody Results Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that manipulate freebody results.

57000000 Freebody Results


57000001 %A%
57000011 %A%
57000012 %A%
57000013 %A%
57000014 %A%
57000015 %A%
57000016 %A%
57000017 %A%
57000018 %A%
57000019 %A%
57000020 %A%
57000021 %A%
57000022 %A%
57000023 %A%
57000024 %A%
57000025 %A%

Parameterization Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that manipulate Parameterization.

58000000 PARAM
58000001 No Variables defined
58000002 Please select a variable to be modified
58000003 Please input the Variable Name
2172 PCL Reference Manual
Introduction

58000004 Please input the Configuration Name


58000005 Illegal Variable Name
58000006 Illegal Configuration Name
58000007 Please input the Default Value
58000008 Variable "%A%" already exists. Overwrite?
58000009 The variable "%A%" has not been defined
58000010 The configuration "%A%" has not been defined
58000011 The configuration variable "%A%" has not been defined
58000012 Variable "%A%" is referenced by Fields. Do you wish to try to delete any associated
fields?
58000013 Cannot delete Current Configuration "%A%"
58000014 Configuration Name already exists
58000015 Name cannot be modified since Variable "%A%" is referenced
58000016 Please input the Modified Value
58000017 Referencing Field "%A%" cannot be deleted because it is attached to a Load/BC,
Element Property, or Material. The Variable cannot therefore be deleted either
58000018 Other Fields reference Variable "%A%". Do you wish to try to delete those fields
also?
58000019 The deletion of a Parameter will reset all the properties and loadsbcs. Do you want
to continue?
58000020 The Variable "%A%" is referenced by complex fields. The Variable is not deleted.
58000021 The Variable "%A%" in the design study "%A%" has invalid bounds. Bounds were
modified to the default values.
58000022 The property selected is defined as a field. The parameter may not be created.
58000023 The beam section or beam dimension must be selected.
58000024 The property set or property word must be selected.
58000025 The variable <%A%> cannot be modified in Create option. Use Modify option to
modify the value of the variable.
58000026 A vector component must be picked.
58001001 Cannot allocate memory
Chapter 11: Status Messages 2173
Introduction

Laminate Modeler Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that manipulate Laminate Modeler.

59000000 LAMMODEL
59000001 Laminate "%A%" is attached to at least one property set. Do you wish to delete
property set(s) also?
59000002 No Elements selected
59000003 No Property Set selected
59000004 No Laminates selected
59000005 No Layers selected
59000006 No Existing Properties selected
59000007 No Display Method selected
59000008 A Layup file must be open
59000009 Layup file "%A%" could not be opened
59000010 An error occurred during "%A%" creation
59000011 An error occurred during "%A%" showing
59000012 An error occurred during "%A%" deletion
59000013 An error occurred during index file creation
59000014 Cannot open the file "%A%"
59000015 Close existing Layup file
59000016 "%A%" is not licensed
59000017 File "%A%" does not exist
59000018 Required file "%A%" does not exist
59000019 Message file "%A%" does not exist
59000020 An error occurred while running %A%
59000021 Cannot create laminated materials
59000022 Cannot create element properties
59000023 "%A%" is not yet implemented
59000024 Required properties file not available
59000025 Cannot find requested element type
59000026 %A% name required
59000027 "%A%" already exists
59000028 No material selected
59000029 No "%A%" selected
2174 PCL Reference Manual
Introduction

59000030 Please select an area to cover


59000031 Please select an initial point
59000032 Please define a vector
59000033 Material name required
59000034 "%A%" to be created already exists
59000035 Existing Material selection required
59000036 Thickness required
59000037 Default Max. Strain value required
59000038 Initial warp/weft angle required
59000039 No elements in model
59000040 The analysis model will require %I% laminates and %I% properties for the selected
tolerance. Do you wish to continue?
59000041 More than one row required to make %A%
59000042 Even number of rows required to make %A%
59000043 Odd number of rows required to make %A%
59000044 No %A% selected
59000045 This is not a valid %A%
59000046 Select a row to insert before
59000047 Select a row to delete
59000048 No rows to delete
59000049 Select a row to replace
59000050 There are no loadcases in the database
59000051 There are no subcases in the selected loadcase
59000052 There are no results in the selected subcase
59000053 There are no layers associated with results in that sub case
59000054 There are no TENSOR results in that sub case
59000055 There are no layers associated with that result
59000056 There are no layered results in the selected results case
59000057 Result "%A%" created in the database
59000058 Please select a stress or strain tensor result
59000059 Please define the material allowables after selecting an area and criterion
59000060 In-plane strength values must be > 0.0
59000061 Through-thickness strength values must be >= 0.0
59000062 Failure interaction value must be -1.0 < F12 < 1.0
Chapter 11: Status Messages 2175
Introduction

59000063 Failure index cannot be calculated


59000064 Do you want to overwrite the existing window?
59000065 Do you want to overwrite the curve "%A%" ?
59000066 Element %I% has no property region
59000067 Element %I% has no material
59000068 Element %I% has no composite laminate material
59000069 This is not a laminate Material
59000070 There is no laminate material in this region
59000071 Element %I% has no plies defined
59000072 Illegal failure criterion
59000073 Selected result is not a tensor
59000074 Result entity ID does not match selected entity ID
59000075 Laminate contains more plies than extracted results
59000076 Please select an element type
59000077 "%A%" is not a valid selection
59000078 Layup file "%A%" already exists. Do you wish to delete the existing Layup file and
create a new one?
59000079 Layup file "%A%" does not exist. Do you wish to create a new Layup file?
59000080 This is the default empty user function. Values are meaningless
59000081 Unable to process the following list "%A%".
59000082 Unable to remove the SelectDatabox contents from the Split Definition Textbox.
59000083 Unable to add the SelectDatabox contents to the Split Definition Textbox.
59000084 Do you wish to delete all %I% instances of "%A%"?
59000085 No row selected in the spreadsheet
59000086 No existing material selected
59000087 Cannot use Paste until after a Copy or Cut
59000500 No start point selected. Please select one.
59000501 No end point selected. Please select one.
59000502 No interior points selected. Please select one or more.
59000503 No surface selected. Please select one.
59000504 Interior Point %I% is on an edge. Please select another point.
59000505 Start %A% does not lie on or near an edge. Please select another point.
59000506 End %A% does not lie on or near an edge. Please select another point.
59000600 No existing Ply selected
2176 PCL Reference Manual
Introduction

59000601 "%A%" to be created already exists


59000602 Existing Ply selection required
59000700 Layup report file "%A%" created
59100001 LammodelFailureCalculate: Undefined failure criterion: %A%
59100002 LammodelFailureCalculate: Warning: No selected area
59100003 LammodelFailureCalculate: Error: num_elems_max = %I%
59100004 LammodelFailureCalculate: Warning: Element %I% has no plies
59100005 Abnormal exit from the call: LammodelFailureCalculate:
LamFailCalcComputeMCF() for elem = %I%, ply = %I%. No results creation for the
whole model.
59100006 LamFailCalcComputeMCF: Error: Unsupported criterion_id = %I%
59100007 LamFailCalcTsaiwu: Error: In-plane strength values must be > 0.0
59100008 LamFailCalcTsaiwu : Error : Through-thickness strength values must be >= 0.0
59100009 LamFailCalcTsaiwu : Error : Failure interaction value must be -1.0 < F12 < 1.0
59100010 LamFailCalcTsaiwu : Error : Failure index cannot be calculated
59100011 LamFailCalcMaximum : Error : In-plane strength values must be > 0.0
59100012 LamFailCalcMaximum : Error : Through-thickness strength values must be >= 0.0
59100013 LamFailCalcHill : Error : In-plane strength values must be > 0.0
59100014 LamFailCalcHill : Error : Through-thickness strength values must be >= 0.0
59100015 LamFailCalcHill : Error : Failure index cannot be calculated
59100016 LamFailCalcHoffman : Error : In-plane strength values must be > 0.0
59100017 LamFailCalcHoffman : Error : Through-thickness strength values must be >= 0.0
59100018 LamFailCalcHoffman : Error : Failure index cannot be calculated
59100019 LamFailCalcHankinson : Error : In-plane strength values must be > 0.0
59100020 LamFailCalcHankinson : Error : Through-thickness strength values must be >= 0.0
59100021 LamFailCalcHankinson : Error : Failure index cannot be calculated
59100022 LamFailCalcCowin : Error : In-plane strength values must be > 0.0
59100023 LamFailCalcCowin : Error : Through-thickness strength values must be >= 0.0
59100024 LamFailCalcCowin : Error : Failure index cannot be calculated
59100025 Result "%A%" created in the database
59100027 LamFailCalcExtractResults: num_layers = %I% while num_layers_local = %I%
59100028 LamFailCalcExtractResults: Warning: Selected result is not a tensor
59100029 Start layer = %I%, Increment = %I%
59100030 Extracting results for layer: %I%
Chapter 11: Status Messages 2177
Introduction

59100031 LamFailCalcGetElemPlyData: Error: num_words = %I%


59100032 LamFailCalcGetElemPlyData: Warning: Laminate %I% has %I% plies, bigger than
%I% results layers.
59100033 LamFailCalcPrintFile: Error: MainFileName not found
59100034 LamFailCalcResNamesToIds: Error: Too big *num_subcases = %I%
59100035 LamFailCalcResNamesToIds: Error: Too big *num_res_types = %I%
59100036 LamFailCalcResNamesToIds: Error: Too big *num_layers = %I%
59100037 VecIntSort1: Error: num_elems = %I%
59100038 CleanSortedVecInt: Error: num_elems = %I%
59100039 VecIntSearch: Error: look4 = %I% not found in the vector. v[0] = %I% v[%I%] =
%I%
59100040 VecIntClearedSearch1: Error: look4 = %I% not found in the vector. v[0] = %I%
v[%I%] = %I%
59100041 Numerical Recipes run-time error: %A%. Contact developer.
59100042 LamFailCalcGetElemPlyData: Info: Failure results were not calculated because
number of material and results layers differ.
59100043 Abnormal exit from the call: %A%
59100044 For Layer %I%, Result "%A%" created in the database
59100045 Element %I% has %I% material layers but %I% results layers.
59200001 "%A%"

Design Study Status Conditions


This chapter lists all of the status conditions that are used to report the status of and errors from functions
that manipulate Laminate Modeler.

60000000 DESIGNSTUDY
60000001 Unable to allocate the necessary memory.
60000002 Constraint %A% has an empty property set. Either delete the constraint or re-create
it with a valid property set.
60000003 The constraint region is empty. Make sure it has valid finite element entities.
60000004 Ply number %A% is invalid.
60000005 Frequency mode number is invalid.
60000006 Upper bound value %A% is invalid.
60000007 Lower bound value %A% is invalid.
60000008 Lower bound value is greater than upper bound value.
60000009 Constraint %A% references undefined element %I%. Please select valid element(s).
2178 PCL Reference Manual
Introduction

60000010 Constraint %A% references undefined node %I%. select valid node(s).
60000011 Design study name is blank. Please provide a design study study name.
60000012 Design Study %A% already exists. Do you want to overwrite it?
60000013 Constraint name is blank. Please provide a constraint name.
60000014 Constraint %A% already exists. Do you want to overwrite it?
60000015 Constraint %A% has an empty FEM region. Either delete the constraint or re-create
it with valid node(s).
60000016 Constraint %A% has an empty FEM region. Either delete the constraint or re-create
it with valid element(s).
60000017 The constraining region is empty. Make sure it has a valid property set(s).
60000018 The selected element(s) do not match the Constraint Region's element type, which is
%A%. Please select again.
60000019 Constraint region is invalid.
60000020 Constraint %A% references undefined element %I%. Make sure to select valid
element(s). There are more than one undefined element. Do you want to skip the rest
of messages?
60000021 Constraint %A% references undefined node %I%. Make sure to select valid node(s).
There are more than one undefined grid. Do you want to skip the the rest of messages?
60000022 A subcase must be selected for the optimization analysis. Please return to the Subcase
Select form and choose a subcase.
60000023 Thermal analysis is not currently supported for SOL 200 Optimization.
60000024 *** WARNING: Out of %I% bound or limit modification(s) you tried, %I% is(are)
invalid and therefore aborted.
60000025 The current implementation of Design Optimization does not support a mixture of
solution sequences for the subcases. The translation is terminating.
60000026 A Design Study is not Defined. Do you wish to perform a multi-analysis run under
SOL 200?
60000027 No design constraints were defined in the current design study. The translation is
continuing without constraints.
60000028 No subcases have been found for the job. The translation is terminating.
60000029 The number of subcases exceeds the job limit. %I% subcases were requested but only
%I% were defined in the job.
60000030 The region associated with constraint %A% is empty.
60000031 Translating design variables.
60000032 Translating design constraints.
60000033 No design variables were defined in the current design study. The translation is
continuing.
Chapter 11: Status Messages 2179
Introduction

60000034 **ERROR: Only one design variable per DVPREL1 is supported at this time.
60000035 A design study is required to run an optimization job. Please go to the Design Study
pick under the Tools menu to define a design study.
60000036 Your modification(s) of the design study value will cause the bound(s) to be invalid.
Would you like to use the default bound(s) based on your modification(s)?
60000037 Region %A% is empty. Translation is continuing without constraints associated with
this region.
60000038 Failed to get the number of parameters from the database.
60000039 Failed to get the parameter id's from the database.
60000040 Failed to get the parameter with id %I% from the database.
60000041 No id for design study "%A%" is found in the database.
60000042 No id for parameter "%A%" is found in the database.
60000043 Failed to create design variable "%A%" in the database for design study "%A%".
60000044 No design constraints defined for subcase "%A%".
60000045 Lower bound with zero value for a constraint is not recommended. Specify a non-zero
value or leave it blank if the constraint is for displacement magnitude or von Mises
stress/strain.
60000046 Upper bound with zero value for a constraint is not recommended.

SGM_RSM
This chapter lists all of the status conditions that are used to report the status of and errors from functions
that manipulate SGM.

61000000 SGM_RSM
61001001 SGM_RSM_INFO
61001002 SGM_RSM_LAST_INFO
61002001 SGM_RSM_WARNING
61002002 There are %I% inner loops in the selected surface mesh.
61002003 Duplicate vertices with node id %I% are found on the vertex list. Only one vertex
with node id %I% will be used.
61002004 The element edge defined by the nodes with ids %I% and %I% is short (length =
%F%). The resulting tessellated surface may have bad parameterization. If the
program fails to create a surface, edit the mesh and try again.
61002005 The triangle defined by the nodes with ids %I%, %I% and %I% is small (area =
%F%). The resulting tessellated surface may have bad parameterization. If the
program fails to create a surface, edit the mesh and try again.
61002006 SGM_RSM_LAST_WARNING
2180 PCL Reference Manual
Introduction

61003001 SGM_RSM_FATAL
61003002 No shell elements were selected. Select shell elements to create the surface.
61003003 Insufficient memory available. Close other applications and try again.
61003004 The selected mesh is invalid. Three or more elements in the mesh share the edge
with nodes %I% and %I%.
61003005 There are no free element edges in the selected mesh. The mesh should be an open
shell to create a surface.
61003006 The selected elements form 2 or more disconnected shell meshes. Merge the shell
meshes using finite Elements Modify-Mesh-Sew to one and try again or create a
surface for each shell mesh.
61003007 Failed on abort signal from client.
61003008 The selected mesh is invalid. Three or more elements in the mesh share edges. This
is occurring between elements using the following nodes: %A%
61003009 Error found in disassociating edges with trias.
61003010 The hole with node %I% could not be filled.
61003011 Error on editing the mesh on a hole.
61003012 The selected vertex (Node %I%) is not on the boundary. Select boundary nodes for
vertices and try again.
61003013 Duplicate edge with node ids %I% and %I% found on a boundary. Please edit the
mesh and try again.
61003014 The boundary of the mesh intersects at the node %I%. Please edit the mesh and try
again.
61003015 The input mesh is connected in such a way that it corresponds to the topology of a
torus or other surface of higher genus. We are unable to create a surface mapping
for this situation. You should partition the input into simpler sets and create two or
more surfaces in place of the one just attempted.
61003016 The inner loop with node %I% could not be filled. Please check that inner loop and
see if there are some overlapped elements around that loop.
61003017 Error in selecting four default vertices. Please select 4 vertices on the outer loop of
the mesh and try again.
61003018 SGM_RSM_LAST_FATAL
61004001 SGM_RSM_CRASH
61004003 SGM_RSM_LAST_CRASH
Chapter 11: Status Messages 2181
2182 PCL Reference Manual

Anda mungkin juga menyukai