264
Commands Altair HyperMesh 3.1 Altair Engineering

Commands

Embed Size (px)

DESCRIPTION

commands

Citation preview

Page 1: Commands

Commands

Altair HyperMesh 3.1

AltairEngineering

Page 2: Commands

For technical support, contact us by phone or e-mail:

Country Phone E-mail

United States 248.614.2400 [email protected]

Germany 49.7031.6208.22 [email protected]

India 91.80.665.8871 [email protected]

Israel 972.3.5473651 [email protected]

Italy 39.11.900.77.11 [email protected]

Japan 81.3.5396.1341 [email protected]

Korea 822.573.4152 [email protected]

Scandinavia 46.46.286.2052 [email protected]

United Kingdom 44.1327.810700 [email protected]

Copyright (c) 2000 Altair Engineering, Inc. All rights reserved.

Trademark Acknowledgments:

HyperMesh is a registered trademark of Altair Engineering, Inc.ACIS is a registered trademark of SPATIAL TECHNOLOGY, INC.ACIS Geometric Modeler is a registered trademark of SPATIAL TECHNOLOGY, INC.ACIS Kernel is the registered trademark of SPATIAL TECHNOLOGY, INC.ACIS Parametric Surfaces is the registered trademark of SPATIAL TECHNOLOGY, INC.MS-DOS is a registered trademark of Microsoft Corporation.UNIX is a registered trademark of AT&T.MSC/NASTRAN is a registered trademark of MSC.ABAQUS is a registered trademark of Hibbitt, Karlsson, & Sorensen, Inc.ANSYS is a registered trademark of Ansys, Inc.PATRAN is a registered trademark of MSC.LS-DYNA is a registered trademark of LSTC.MARC is a registered trademark of MARC Analysis Research Corporation.PAMCRASH is a registered trademark of Engineering Systems International.FLUENT is a registered trademark of Fluent, Incorporated.I-DEAS is a registered trademark of Structural Dynamics Corporation.Spaceball is a registered trademark of Spacetec IMC Corporation.

Page 3: Commands

Altair Engineering, Inc. 1 Command File

Command Files

HyperMesh command files are standard ASCII files that HyperMesh can read or write. Commandfiles allow you to retrieve a work session in case of a system crash or program a series ofprocedures. You can use command files in applications containing repetitive steps. You can alsouse them to create demonstrations.

During each modeling or post-processing session, HyperMesh generates a command file namedcommand.cmf. This file is created at the start of a HyperMesh session if it does not exist. If the filealready exists, HyperMesh adds the commands for the new session to the end of the original file.

Command files follow this syntax:

• A command begins with an asterisk, *

• A command ends with the left parenthesis

• The parameters for a command are listed within parentheses and separated by commas

A command can start in any column and there is no restriction on line length. HyperMesh allows youto start a command at the beginning of the line or stack the commands so that the entire commandfile is on one line. You can also use several lines for one command. Enclose in quotes any stringthat is broken over more than one line.

The following command illustrates the command syntax. The shrink command is:

*shrink(.2)

The command HyperMesh reads is between the asterisk and the left parenthesis. In this case, it isthe word shrink. The command has one parameter, .2, which is the percentage that HyperMeshshrinks the elements.

Command files do not translate between platforms consistently. A command file generated on aUNIX platform may work on a different UNIX platform. You must modify a command file generatedon a UNIX platform before using it on a PC workstation.

Page 4: Commands

Command File 2 Altair Engineering, Inc.

Parameters

HyperMesh command parameters are listed in parentheses following the command, and eachparameter is separated by a comma. There are integer, real, and string parameters. The format foreach parameter type is listed below:

Integer Integer parameters can include the numbers 0 to 9 and + or -. Whenexecuting a command with an integer parameter, HyperMesh readscharacters from the command file until it reaches a comma, space, or aninvalid integer character.

Real Real parameters can include the numbers 0 to 9 and ., +, -, E, or e.When executing a command with a real parameter, HyperMesh readsfrom the command file until it reaches a comma, space, or an invalid realcharacter.

String String parameters can include any characters. If the string contains ablank, an asterisk, or spans more than one line, it is enclosed in doublequotes. When executing a command with a string parameter,HyperMesh reads characters from the command file until it reaches acomma or space. If the string is enclosed in double quotes, HyperMeshreads from the opening quote to the closing quote.

Comments

HyperMesh allows you to include comments in the command file:

*shrink(0.2) - Shrink the elements by 20%

You can also place the comment before the command:

Shrink the elements by 20% - *shrink(0.20)

A command can be turned into a comment by removing the asterisk, *, preceding the command

Page 5: Commands

Altair Engineering, Inc. 3 Command File

Vectors and Planes

At times, it is necessary to define a vector or plane for a function. When processing a command file,HyperMesh allocates two vectors and two planes with the IDs 1 and 2. The vectors or planes can bedefined at any time during the processing of a command file. For example, if you want to translate anode along the x axis, use the following command to define the vector:

*createvector(1,1.0,0.0,0.0)

In this case, vector 1 is loaded with the components (1.0,0.0,0.0) and is ready for use in subsequentcommands.

A normal and base point are also required to define a plane. To define a plane that has a normalalong the x axis and a base point of (5.0,0.0,0.0), issue the following command:

*createplane(1,1.0,0.0,0.0,5.0,0.0,0.0)

Marks

Marks specify groups of entities that are transferred to the command processor. You can createmarks for most entities, and issue commands to perform operations on the mark. Command files arelimited to two marks. Marks are referenced by the mark ID 1 or 2.

The following example demonstrates how to delete elements using marks. Assume that you want todelete the elements 50, 51, and 52 from a database. To perform this operation, load a mark withelements 50, 51, and 52, and then instruct HyperMesh to delete the mark. The commands are shownbelow:

*readfile("dbname")*createmark(elements,1) 50 51 52*deletemark(elements,1)

The *readfile() command loads the database dbname into HyperMesh. The *createmark()command loads mark 1 with elements 50, 51, and 52. The *deletemark() command deletes theelements contained on mark 1.

Page 6: Commands

Command File 4 Altair Engineering, Inc.

Executing Command Files

Command files are run from the command panel.

As HyperMesh executes each command in the file, it places the current command on the menu andindicates the current file line. If an error occurs while executing the command file, HyperMeshprompts you to continue, quit or step through the remainder of the file. If a non-recoverable erroroccurs in the command file, HyperMesh stops execution and indicates where the error occurred.

Creating a Command File

In this example, you create a command file and execute it. This example uses thedemos/simple.hm file that is distributed with HyperMesh. If you are not sure where to find this file,consult your system administrator. Copy the file, simple.hm, to a local user directory where youhave read and write permission.

The command file used in this example shrinks the elements by 30 percent and then builds a meshbetween two rows of nodes. Use any text editor to create the following command file.

*readfile(simple.hm) Reads the file simple.hm intoHyperMesh and assumes that thefile is in the current directory.

*shrink(.3) Sets shrink to 30 percent.

*surfacemode(3) Sets the mesh mode to meshwithout surface.

*createlist(nodes,1) 17 18 19 20 Creates lists of nodes.

*createlist(nodes,2) 1 2 3 4

*linearsurfacebetweennodes(1,2,1) Enters the automesher.

*setedgemeshparams(0,3,0) Sets edge parameters.

*setedgemeshparams(1,3,0)

*setedgemeshparams(2,3,0)

*setedgemeshparams(3,3,0)

*linearmesh(1) Creates mesh.

*storeAMelemstodatabase(0) Stores mesh into the database.

*ameshclearsurface() Exits the automesher.

After the file is created, start HyperMesh and select the command sub-panel, found on the filespanel of the main menu.

Enter the name of the command file you created and select execute from the menu. HyperMeshprocesses the commands contained in the file. If an error occurs, check the syntax of the commandfile and ensure that the file named simple.hm is in the location specified in the command file.

Page 7: Commands

Altair Engineering, Inc. 5 Command File

To execute a command file:

1. Select the files panel on any main menu page.

2. Select the command subpanel.

3. Click file = and enter the name of the command file to execute.

4. Click execute.

Page 8: Commands

Command File 6 Altair Engineering, Inc.

The Commands

*alignnode()

Aligns a node to the imaginary line formed between two other nodes.

Syntax *alignnode(end point 1, end point 2, node)

Arguments end point 1 The first end of the line.

end point 2 The second end of the line.

node The node to be aligned.

Example To align node 6 so that it lies on the line formed from nodes 9 and 12:

*alignnode(9,12,6)

*ameshclearsurface()

Frees memory temporarily allocated for the automesher. Call at the completion of a session usingthe automeshing module.

Syntax *ameshclearsurface()

*analysiscurvecreate()

Creates a curve by extracting values from a binary results database.

Syntax *analysiscurvecreate(entity type, mark, xdatatype,ydatatype, xcomponent, ycomponent)

Arguments entity type The type of entities on the mark.

mark The ID of the mark that contains the entities.

xdatatype The name of the x data type from which toextract data.

ydatatype The name of the y data type from which toextract data.

Page 9: Commands

Altair Engineering, Inc. 7 Command File

xcomponent The name of the component to be extractedfrom the file if the data type is a displacement(set to “total,” “x comp,” “y comp,” or “zcomp”).

ycomponent The name of the component to be extractedfrom the file if the data type is a displacement(set to “total,” “x comp,” “y comp,” or “zcomp”).

Example To create a curve from the displacement results for node 12, starting with thesimulation simulation1:

*analysisfileset(test.res)

*createmark(node,1)12

*analysiscurvecreate(node,1,"displacements","simulationid",”total disp”, “ ”)

Comments A results file must be set before this command can be executed.

*analysiscurvecreatecomplex()

Creates a curve pair by extracting complex values from a binary results database.

Syntax *analysiscurvecreatecomplex(entity type, mark, xdatatype,ydatatype, xcomponent, ycomponent)

Arguments entity type The type of entities on the mark.

mark The ID of the mark that contains the entities.

xdatatype The name of the x data type from which to extract data.

ydatatype The name of the y data type from which to extract data.

xcomponent The name of the component to be extracted from thefile if the data type is a displacement (set to“xcomp/complex”, “y comp/complex”, “zcomp/complex”, or “complex”).

ycomponent The name of the component to be extracted from thefile if the data type is a displacement (set to“xcomp/complex”, “y comp/complex”, “zcomp/complex”, or “complex”).

Example To create a curve from the displacement results for node 12, starting with thesimulation simulation1:

Page 10: Commands

Command File 8 Altair Engineering, Inc.

*analysisfileset(test.res)

*createmark(node,1)12

*analysiscurvecreate(node,1,"displacements","simulationid",”total disp”, “ ”)

Comments A results file must be set before executing this command. Curves must be partof an extended (dual) plot and the y-values are assumed to be complex, eitherreal/imaginary or phase/magnitude.

*analysisfileset()

Sets the results file for subsequent results-based plots.

Syntax *analysisfileset(name)

Argument name The name of the HyperMesh results file database.

Comments This command must be executed before an analysis-based plot is generated.

*animatecycles()

Specifies the number of animation cycles to perform.

Syntax *animatecycles(cycles)

Argument cycles Number of animation cycles (-1 = infinite)

Example To display a transient animation through 10 complete cycles:

*analysisfileset(test.res)

*simulationset(1,1)

*animationcycles(10)

*animationtranscient(“”,1.0,0,1)

Comments There is no provision directly in HyperMesh to control the number of cycles foran animation. This command would need to be inserted manually into acommand file.

Page 11: Commands

Altair Engineering, Inc. 9 Command File

*animatelinear()

Creates and displays a linear animation sequence.

Syntax *animatelinear(title, maxdeflection, frames, hiddenline)

Arguments title The title to be displayed duringanimation.

maxdeflection The maximum deflection in modelunits to which the maximum analysisresult should be scaled.

Use a negative value for model units.

Use a positive value for the scalefactor.

frames The number of frames used duringthe animation sequence.

hiddenline Determines if the animationgenerated should be a hidden line (1for hidden line, 0 for wire frame).

Example To animate the current structure with the first simulation and the first data typewithin the simulation using the results from the file test.res and scaling themaximum deflection to 10 model units:

*analysisfileset(test.res)

*simulationset(1,1)

*animatelinear("",10.0,4,0)

Comments The maximum number of frames available for animation is hardwaredependent.

Page 12: Commands

Command File 10 Altair Engineering, Inc.

*animatemodal()

Creates and displays a modal animation sequence.

Syntax *animatemodal(title, maxdeflection, frames, hiddenline)

Arguments title The title displayed on the animationframes.

maxdeflection The maximum deflection (in modelunits) to which the maximum analysisresult should be scaled.

frames The number of frames used duringthe animation sequence.

hiddenline Determines if the animationgenerated should be a hidden line (1for hidden line, 0 for wire frame).

Example To animate the current structure with the first simulation and the first data typewithin the simulation using the results from the file test.res and scaling themaximum deflection to 10 model units:

*analysisfileset(test.res)

*simulationset(1,1)

*animatemodal("",10.0,4,0)

Comments The maximum number of frames available for animation is hardwaredependent.

*animatetransient()

Creates and displays a transient animation sequence.

Syntax *animatetransient(title, maxdeflection, hiddenline, by)

Arguments title The title displayed on the animationframes.

maxdeflection The maximum deflection in modelunits to which the maximum analysisresult should be scaled.

hiddenline Determines if the animationgenerated should be a hidden line (1for hidden line, 0 for wire frame).

Page 13: Commands

Altair Engineering, Inc. 11 Command File

by Simulation increment used. Thisallows you to skip simulations in theresults file.

Example To animate the current structure starting with the first simulation and the first datatype within the simulation and using the results from the file test.res andscaling the maximum deflection to 1 model unit (actual size):

*analysisfileset(test.res)

*simulationset(1,1)

*animatetransient("",1.0,0,1)

Comments The maximum number of frames available for animation is hardwaredependent. *lastsimulation() can be used to limit the animation to fewersimulations than available.

*answer()

Provides an answer to HyperMesh when a yes or no response is required before HyperMeshproceeds with a command.

Syntax *answer(answer)

Argument answer A string that contains the answer.Set to yes or no.

Example To delete the file junk.dat without having HyperMesh prompt the user forconfirmation:

*deletefile("junk.dat")

*answer(yes)

Page 14: Commands

Command File 12 Altair Engineering, Inc.

*appendmark()

Add additional entities to a mark.

Syntax *appendmark(entity type, mark id)

Arguments entity type The type of entities to be placed into the mark.

mark id The ID of the mark being created (1 or 2).

Example To place elements 1 and 35 on mark 1, and then add all elements of config type106 to it:

*createmark(elements, 1) 1, 35

*appendmark(elements, 1) “by config” 104

Comments A list of the entity IDs and/or the collector names must follow the*appendmark() command. The list must include the IDs and/or the collectornames of the entities separated by a space or comma.

The *appendmark() command may also be followed by one of the optionsbelow:

all

displayed

retrieve

reverse

“by comps” [ID or name]

“by id” ID

“by assems” [ID or name]

“by group” [ID or name]

“by config” [ID or name]

“by sets” [ID or name]

“by surface” ID

“by adjacent”

“by attached”

“by outputblock ” [ID or name]

Page 15: Commands

Altair Engineering, Inc. 13 Command File

“on plane” x y x i j k tol plane touching

plane: 0 = plane, 1 = normal of plane

touching: 0 = entities touching, 1 = entities on

*applydisplayattributes()

Sets the components on the performance mode component list (select/apply on the menu) to thespecified style and color.

Syntax *applydisplayattributes(style, colortype)

Arguments style Determines the type of graphical entities used todisplay the component. The options are:

0 wire frame

1 hidden line

2 hidden line with mesh

3 hidden line with features

4 hidden line transparent

colortype Determines how the components are colored. Theoptions are:

0 none

1 component color

2 assigned plots

3 contours

Page 16: Commands

Command File 14 Altair Engineering, Inc.

*applyresults()

Modifies the marked entities by adding the nodal displacements to their position in space.

Syntax *applyresults(entities, mark, multiplier,displacementvalue)

Arguments entities The type of entity that is offset by the valuescontained in the results file.

mark The number of the mark to be modified.

multiplier A scale factor used to magnify the resultvalues contained in the results file.

displacementvalue A string that identifies the component ofdisplacement used to offset the model.

Example To apply the total displacement to the displayed nodes in a model with a scalefactor of 150.0:

*analysisfileset("model.res")

*inputsimulation("subcase 1","displacements")

*createmark(nodes,1) displayed

*applyresults(nodes,1,150.0,"total disp")

*assemblymodify()

Creates or modifies an assembly.

Syntax *assemblymodify(assemblyname, mark, color)

Arguments assemblyname The name of the assembly.

mark The ID of the mark containing thecomponents that should be in theassembly.

color The index number of the color in theHyperMesh palette.

Example To create the assembly frontend that contains the components fender,hood, and hoodinr, and is colored blue, indicated by the number 9.

*createmark(components,1) fender hood hoodinr

*assemblymodify(frontend,1,9)

Comments The components in the mark will be the only components in the assembly after

Page 17: Commands

Altair Engineering, Inc. 15 Command File

this command is executed.

*assignedplot()

Generates an assigned plot with analysis data.

Syntax *assignedplot(title, mindef, minimum, maxdef, maximum, meshcolor, scale factor, full size, not used, disp type, mult,show min max, show plot info)

Arguments title The title displayed on the plot.

mindef Indicates if the minimum value found in the fileshould be used as the minimum value on thelegend, or if the following parameter minimumshould be used as the minimum value on thelegend (0 for file, 1 for minimum).

minimum The minimum value to display on the legend.This is only used if mindef is set to 1.

maxdef Indicates if the maximum value found in the fileshould be used as the maximum value on thelegend, or if the following parameter maximumshould be used as the maximum value on thelegend (0 for file, 1 for maximum).

maximum The maximum value displayed on the legend.This is only used if maxdef is set to 1.

mesh color The color used to plot the mesh.

scale factor The scale factor used for scaling a deformedplot.

full size A flag that indicates if the plot being generatedshould occupy the full screen (1 - yes, 0 - no).

not used Set to zero.

disp type Indicates the value of displacement to use ("x"for x displacement only, "y" for y displacementonly, "z" for z displacement only, "total" for totaldisplacement). This is only applicable todisplacement data.

mult A value used to multiply the results found in theresults file.

Page 18: Commands

Command File 16 Altair Engineering, Inc.

show min max Indicates if the minimum/maximum title shouldbe displayed. (1-yes, 0-no).

show plot info Indicates if the plot information title should bedisplayed. (1-yes, 0-no).

Example To generate an assigned plot using the maximum and minimum values defined inthe analysis file, a mesh color of black, and normal plot size:

*analysisfileset(example.res)

*inputsimulation("example simulation","stress")

*assignedplot("This is thetitle",0,0.0,0,0.0,0,0.0,0,0,x,1.0,0,0)

Comments The disp type parameter is only used if the results specified are indisplacement format.

*attributeupdatedouble()

Updates an attribute of type double.

Syntax *attributeupdatedouble(entity type, id, identifier,solver, status, behavior, value)

Arguments entity type The type of entity that owns the attribute.

id The ID of the entity.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

value The value for the attribute.

Example Update an attribute of type double to a value of 200 on an element with ID,100.

*attributeupdatedouble(elements,100,1241,6,2,0,200.0)

Page 19: Commands

Altair Engineering, Inc. 17 Command File

*attributeupdatedoublearray()

Updates an attribute of type double array.

Syntax *attributeupdatedoublearray(entity type, id, identifier,solver, status, behavior, data, length)

Arguments entity type The type of entity that owns the attribute.

id The ID of the entity.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

data Double array

length Double array length

Example Update an attribute of type double array to [1,2,3,4] on the material with ID, 7.

*createdoublearray(4) 1 2 3 4

*attributeupdatedoublearray(materials,7,615,2,2,0,1,1)

*attributeupdatedoublearray2d()

Updates an attribute of type 2D double array.

Syntax *attributeupdatedoublearray2d(entity type, id, identifier,solver, status, behavior, data, rows, cols)

Arguments entity type The type of entity that owns the attribute.

id The ID of the entity.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

Page 20: Commands

Command File 18 Altair Engineering, Inc.

data 2D array of doubles.

rows The number of rows in the array.

cols The number of columns in the array.

Example Update an attribute of type 2D double array to [1,2,3] on the material with ID 7.

[4,5,6]

*createdoublearray2d(2,3) 1 2 3 5 6 7

*attributeupdatedoublearray2d(materials,7,615,2,2,0,1,1)

*attributeupdatedoublearray2dmark()

Updates an attribute of type 2D double array on a set of entities.

Syntax *attributeupdatedoublearray2dmark(entity type, mark,identifier, solver, status, behavior, data,rows, cols)

Arguments entity type The type of entity that owns the attribute.

mark The number of the mark.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

data 2D array of doubles.

rows The number of rows in the array.

cols The number of columns in the array.

Example Update an attribute of type 2D double array to [1,2,3] on materials with IDs 7and 8. [4,5,6]

*createmark(materials,1) 7 8

*createdoublearray2d(2,3) 1 2 3 5 6 7

*attributeupdatedoublearray2dmark(materials,1,615,2,2,0,1,1)

Page 21: Commands

Altair Engineering, Inc. 19 Command File

*attributeupdatedoublearraymark()

Updates an attribute of type double array on a set of entities.

Syntax *attributeupdatedoublearraymark(entity type, mark,identifier, solver, status, behavior, data, length)

Arguments entity type The type of entity that owns the attribute.

mark The number of the mark.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

data Double array.

length Double array length.

Example Update an attribute of type double array to [1,2,3,4] on the materials with IDs7 and 8.

*createmark(materials,1) 7 8

*createdoublearray(4) 1 2 3 4

*attributeupdatedoublearraymark(materials,1,615,2,2,0,1,4)

Page 22: Commands

Command File 20 Altair Engineering, Inc.

*attributeupdatedoublemark()

Updates an attribute of type double on a set of entities.

Syntax *attributeupdatedoublemark(entity type, mark, identifier,solver, status, behavior, value)

Arguments entity type The type of entity that owns the attribute.

mark The number of the mark.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

value The value for the attribute.

Example Update an attribute of type double to 100.0 on the materials with IDs of 7 and 8.

*createmark(materials,1) 7 8

*attributeupdatedoublemark(materials,1,615,2,2,0,1,1)

*attributeupdateentity()

Updates an attribute of type entity.

Syntax *attributeupdateentity(entity type, id, identifier,solver, status, behavior, targetentity, targetentityid)

Arguments entity type The type of entity that owns the attribute.

id The ID of the entity.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

targetentity The type of entity to which the attribute points.

targetentityid The ID of the entity to which the attribute points.

Page 23: Commands

Altair Engineering, Inc. 21 Command File

Example Update an attribute of type entity (on element 17) to point to a node with ID 1.

*attributeupdateentity(elements,17,1247,6,0,0,nodes,1)

*attributeupdateentitymark()

Updates an attribute of type entity on a set of entities.

Syntax *attributeupdateentitymark(entity type, mark, identifier,solver, status, behavior, targetentity, targetentityid)

Arguments entity type The type of entity that owns the attribute.

mark The number of the mark.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

targetentity The type of entity to which the attribute points.

targetentityid The ID of the entity to which the attribute points.

Example Update an attribute of type entity (on elements 17 and 18) to point to a nodewith ID 1.

*createmark(elements,1) 17 18

*attributeupdateentitymark(elements,1,1247,6,0,0,nodes,1)

*attributeupdateint()

Updates an attribute of type int.

Syntax *attributeupdateint(entity type, id, identifier, solver,status, behavior, value)

Arguments entity type The type of entity that owns the attribute.

id The ID of the entity.

identifier The identifier of the attribute.

Page 24: Commands

Command File 22 Altair Engineering, Inc.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

value The value for the attribute.

Example Update an attribute of type int to a value of 200 on an element with ID 100.

*attributeupdateint(elements,100,1241,6,2,0,200)

*attributeupdateintarray()

Updates an attribute of type int array.

Syntax *attributeupdateintarray(entity type, id, dentifier,solver, status, behavior, data, length)

Arguments entity type The type of entity that owns the attribute.

id The ID of the entity.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

data The int array.

length The int array length.

Example Update an attribute of type int array to [1,2,3,4] on the material with ID 7.

*createintarray(4) 1 2 3 4

*attributeupdateintarray(materials,7,615,2,2,0,1,1)

Page 25: Commands

Altair Engineering, Inc. 23 Command File

*attributeupdateintarray2d()

Updates an attribute of type 2D int array.

Syntax *attributeupdateintarray2d(entity type, id, identifier,solver, status, behavior, data, rows, cols)

Arguments entity type The type of entity that owns the attribute.

id The ID of the entity.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

data The 2-D array of ints.

rows The number of rows in the array.

cols The number of columns in the array.

Example Update an attribute of type 2D int array to [1,2,3] on the material with ID 7.

[4,5,6]

*createintarray2d(2,3) 1,2,3,5,6,7

*attributeupdateintarray2d(materials,7,615,2,2,0,1,1)

*attributeupdateintarray2dmark()

Updates an attribute of type 2D int array on a set of entities.

Syntax *attributeupdateintarray2dmark(entity type, mark,identifier, solver, status, behavior, data, rows, cols)

Arguments entity type The type of entity that owns the attribute.

mark The number of the mark.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

Page 26: Commands

Command File 24 Altair Engineering, Inc.

behavior The behavior for the attribute.

data The 2-D array of ints.

rows The number of rows in the array.

cols The number of columns in the array.

Example Update an attribute of type 2D int array to [1,2,3] on materials with IDs 7 and8. [4,5,6]

*createmark(materials,1) 7 8

*createintarray2d(2,3) 1,2,3,5,6,7

*attributeupdateintarray2dmark(materials,1,615,2,2,0,1,1)

*attributeupdateintarrayelementmark()

Updates one element of an attribute of type int array.

Syntax *attributeupdateintarrayelementmark(entity type, mark,identifier, solver, status, behavior, index, value)

Arguments entity type The type of entity that owns the attribute.

mark The number of the mark.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

index Index into the array (first index is zero).

value The value for the array element.

Example Update the first element (index 0) of some int array attributes to 10.

The attributes are found on materials with IDs 7 and 8.

*createmark(materials,1) 7 8

*attributeupdateintarrayelementmark(materials,1,615,2,2,0,0,10)

Page 27: Commands

Altair Engineering, Inc. 25 Command File

*attributeupdatedoublearrayelementmark()

Updates one element of an attribute of type double array.

Syntax *attributeupdatedoublearrayelementmark(entity type, mark,identifier, solver, status, behavior, index, value)

Arguments entity type The type of entity that owns theattribute.

mark The number of the mark.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

index Index into the array (first index iszero).

value The value for the array element.

Example Update the first element (index 0) of some double array attributes to 10.5.

The attributes are found on materials with IDs 7 and 8.

*createmark(materials,1) 7 8

*attributeupdatedoublearrayelementmark(materials,1,615,2,2,0

,0,10.5)

*attributeupdateintarraymark()

Updates an attribute of type int array on a set of entities

Syntax *attributeupdateintarraymark(entity type, mark,identifier, solver, status, behavior, data, length)

Arguments entity type The type of entity that owns the attribute.

mark The number of the mark.

identifier The identifier of the attribute.

solver The solver number for the attribute.

Page 28: Commands

Command File 26 Altair Engineering, Inc.

status The status for the attribute.

behavior The behavior for the attribute.

data The int array.

length The int array length.

Example Update an attribute of type int array to [1,2,3,4] on the materials with IDs 7and 8.

*createmark(materials,1) 7 8

*createintarray(4) 1 2 3 4

*attributeupdateintarraymark(materials,1,615,2,2,0,1,4)

*attributeupdateintmark()

Updates an attribute of type int on a set of entities.

Syntax *attributeupdateintmark(entitytype,mark,identifier,solver,status,behavior,value)

Arguments entity type The type of entity that owns the attribute.

mark The number of the mark.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

value The value for the attribute.

Example Update an attribute of type int array to 123 on the materials with IDs 7 and 8.

*createmark(materials,1) 7 8

*attributeupdateintmark(materials,1,615,2,2,0,1,123)

Page 29: Commands

Altair Engineering, Inc. 27 Command File

*attributeupdatestring()

Updates an attribute of type string.

Syntax *attributeupdatestring(entity type, id, identifier,solver, status, behavior, value)

Arguments entity type The type of entity that owns the attribute.

id The ID of the entity.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

value The value for the attribute.

Example Update an attribute of type string to a value of composite on an element withID, 100.

*attributeupdatestring(elements,100,1241,6,2,0,"composite")

*attributeupdatestringarray()

Updates an attribute of type string array.

Syntax *attributeupdatestringarray(entity type, id, identifier,solver, status, behavior, data, length)

Arguments entity type The type of entity that owns the attribute.

id The ID of the entity.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

data The string array.

Page 30: Commands

Command File 28 Altair Engineering, Inc.

length The string array length.

Example Update an attribute of type string array to [layer1, layer2] on the materialwith ID 7.

*createstringarray(2) "layer1" "layer2"

*attributeupdatestringarray(materials,7,615,2,2,0,1,2)

*attributeupdatestringarrayelementmark()

Updates one element of an attribute of type string array.

Syntax *attributeupdatestringarrayelementmark(entity type, mark,identifier, solver, status, behavior, index, value)

Arguments entity type The type of entity that owns theattribute.

mark The number of the mark.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

index Index into the array (first index iszero).

value The value for the array element.

Example Update the first element (index 0) of some string array attributes to steel.The attributes are found on materials with IDs 7 and 8.

*createmark(materials,1) 7 8

*attributeupdatestringarrayelementmark(materials,1,615,2,2,0,0,"steel")

Page 31: Commands

Altair Engineering, Inc. 29 Command File

*attributeupdatestringarraymark()

Updates an attribute of type string array on a set of entities.

Syntax *attributeupdatestringarraymark(entity type, mark,dentifier, solver, status, behavior, data, length)

Arguments entity type The type of entity that owns the attribute.

mark The number of the mark.

identifier The identifier of the attribute.

solver The solver number for the attribute.

status The status for the attribute.

behavior The behavior for the attribute.

data The string array.

length The string array length.

Example Update an attribute of type string array to [layer1, layer2] on thematerials with IDs, 7 and 8.

*createmark(materials,1) 7 8

*createstringarray(2) "layer1" "layer2"

*attributeupdatestringarraymark(materials,1,615,2,2,0,1,2)

*attributeupdatestringmark()

Updates an attribute of type string on a set of entities.

Syntax *attributeupdatestringmark(entity type, mark, identifier,solver, status, behavior, value)

Arguments entity type The type of entity that owns the attribute.

mark The number of the mark.

identifier The identifier of the attribute.

solver The solver number for the attribute.

Page 32: Commands

Command File 30 Altair Engineering, Inc.

status The status for the attribute.

behavior The behavior for the attribute.

value The value for the attribute.

Example Update an attribute of type string to steel on the materials with ID 7 and 8.

*createmark(materials,1) 7 8

*attributeupdatestringmark(materials,1,615,2,2,0,"steel")

*autocolor()

Automatically colors any collectors that are currently set to gray (color 7).

Syntax *autocolor(entity type)

Argument entity type The type of collector which should be colored.Valid entries are components, load collectors,or system collectors.

Example To automatically color all of the components that are gray (color 7):

*autocolor(components)

*automesh()

Employs a surface-based automeshing algorithm to generate a mesh of plate or shell elements forthe given face.

Syntax *automesh(faceindex, algorithm, quads)

Arguments faceindex The index of the face into the particular surfaceunder consideration.

algorithm Which surface-based mesh generationalgorithm to use to create elements for thegiven face. Possible values are:

1, autodecide

2, map as rectangle

3, map as triangle

Page 33: Commands

Altair Engineering, Inc. 31 Command File

4, map as pentagon

5, advancing front

quads Whether quad elements (1) or tria elements (0)should be generated.

*bar3element()

Creates a bar3 element.

Syntax *bar3element(node1,node2,node3,vector id,orientationnode,ydir,pin flags a,pin flags b,property name)

Arguments node1 The first node of the bar (end a).

node2 The second node of the bar.

node3 The third node of the bar (end b).

vector id The ID of the vector used to define the local yaxis. This argument is only used if orientationnode is zero.

orientation node The ID of the orientation node for the bar. If setto zero, then vector id is used. If not zerothen ydir is used to determine if the nodedefines the local y or local z. If ydir is 1, thenthe orientation node defines the local y.

ydir If set to 1, then the orientation node defines thelocal y axis of the bar (otherwise it is the local zaxis).

pin flags a The pin flags at end a.

pin flags b The pin flags at end b.

property name The name of the property collector to which thebar should point.

Example To create a bar3 element betweens nodes 101,102 and 103 with its local y axisdefined by the vector (1,0,0) and a property pointer which points to the propertycollector crossmem:

*createvector(1,1.0000,0.0000,0.0000)

*bar3element(101,102,103,1,0,0,0,0,"crossmem")

Comments A pin flag of 0 determines that the bar passes force in all degrees of freedom.

Page 34: Commands

Command File 32 Altair Engineering, Inc.

*bardirectionupdate()

Updates the direction node of a group of bar elements.

Syntax *bardirectionupdate(mark, orientation node, ydir)

Arguments mark The ID of the mark containingelements to be updated.

orientation node The ID of the orientation node.

ydir If ydir is 1, then the orientation nodedefines the local y axis of the bar.Otherwise, it defines the local z axis.

Example To update bar element 17 with orientation node 5:

*createmark(elements,1) 17

*bardirectionupdate(1,5,1)

*barelement()

Creates a bar element.

Syntax *barelement(node1, node2, vector id, orientation node,ydir, pin flags a, pin flags b, property name)

Arguments node1 The first node of the bar element (end a).

node2 The second node of the bar element (endb).

vector id The ID of the vector used to define thelocal bar y axis (if orientation nodeis 0).

orientation node An optional node defining the orientationof the local bar axis. If ydir is 1, this isthe local y axis. If ydir is 0, this is thelocal z axis. If orientation node is 0,use vector id to define the local y axis.

ydir A direction flag for orientation node.

pin flags a The pin flags at end a.

pin flags b The pin flags at end b.

Page 35: Commands

Altair Engineering, Inc. 33 Command File

property name The name of the property collector towhich the bar should point.

Example To create a bar element between nodes 100 and 101 with its y axis defined bythe vector (1.0, 0.0, 0.0) and a property pointer which points to the propertycollector crossmem:

*createvector(1,1.0,0.0,0.0)

*barelement(100,101,1,0,0,crossmem)

Comments A pin flag of 0 determines that the bar passes force in all degrees of freedom.

*barelementupdate()

Updates a group of bar elements.

Syntax *barelementupdate(mark, local, vector id, pins, pin flagsa, pin flags b, property, property name)

Arguments mark The ID of the mark containing the barelements.

local A logical indicating if the local y axis of thebars should be updated.

vector id The ID of the vector used to define the localbar y axis.

pins A logical indicating if the pin flags of the barsshould be updated.

pin flags a The pin flags at end a.

pin flags b The pin flags at end b.

property A logical indicating if the property of the barsshould be updated.

property name The name of the property collector to whichthe bars should point.

Example To update bar element 10 and 12 so that their y axis is defined by the vector (1.0,0.0, 0.0), and their property pointers point to crossmem:

*createvector(1,1.0,0.0,0.0)

*createmark(element,1) 10 12

*barelementupdate(1,1,1,0,0,1,crossmem)

Comments A pin flag of 0 determines that the bar passes force in all degrees of freedom.

Page 36: Commands

Command File 34 Altair Engineering, Inc.

*baroffset()

Updates the offsets of a bar element.

Syntax *baroffset(element id, x offset at a, y offset at a, zoffset at a, x offset at b, y offset at b, z offset at b)

Arguments element id The ID of the element.

x offset at a The x offset at end a of the bar element.

y offset at a The y offset at end a of the bar element.

z offset at a The z offset at end a of the bar element.

x offset at b The x offset at end b of the bar element.

y offset at b The y offset at end b of the bar element.

z offset at b The z offset at end b of the bar element.

Example To update the bar element 23 with the offset vector at end a defined as (1.0, 2.0,3.0) and end b as (4.0, 5.0, 6.0):

*baroffset(23,1.0,2.0,3.0,4.0,5.0,6.0)

*baroffsetupdate()

Updates the offsets of a group of bar elements.

Syntax *baroffsetupdate(mark, updatea, x offset at a, y offset ata, z offset at a, updateb, x offset at b, y offset at b, zoffset at b)

Arguments mark The ID of the mark containing elements tobe updated.

updatea A logical indicating if the offset at end a ofthe bars is to be updated.

x offset at a The x offset at end a of the bar element.

y offset at a The y offset at end a of the bar element.

z offset at a The z offset at end a of the bar element.

updateb A logical indicating if the offset at end b ofthe bars is to be updated.

Page 37: Commands

Altair Engineering, Inc. 35 Command File

x offset at b The x offset at end b of the bar element.

y offset at b The y offset at end b of the bar element.

z offset at b The z offset at end b of the bar element.

Example To update the bar element 23 with the offset vector at end a defined as (1.0, 2.0,3.0) and at end b as (4.0, 5.0, 6.0):

*createmark(elements,1) 23

*baroffsetupdate(1,1,1.0,2.0,3.0,1,4.0,5.0,6.0)

*begin()

Indicates the beginning of a session in a command file.

Syntax *begin(string)

Argument string A string which although ignored byHyperMesh can be used as a usercomment.

Example To add a string to an output file:

*begin("This is a comment")

Comments When a command file is written by HyperMesh, the parameter string will be setto the version of HyperMesh being run, the date, and the time all enclosed indouble quotes.

*blockcontrollines()

Controls the lines on a block.

Syntax *blockcontrollines(index, on)

Arguments index The index to be modified.

on Set to 1, if the block lines should bedisplayed.

Page 38: Commands

Command File 36 Altair Engineering, Inc.

*blockcontrolplanes()

Controls the planes on a block.

Syntax *blockcontrolplanes(index, on)

Arguments index The index to be modified.

on Set to 1 to display the block lines.

*blockcreate()

Creates a finite difference block.

Syntax *blockcreate(name, color)

Arguments name The name of the block.

color The color of the block.

Comments The size of the newly created block is determined by the existing finite elementmodel.

*blocknodeupdate()

Updates the finite difference nodes in a finite difference block.

Syntax *blocknodeupdate(name, function, type, start, end, number,factor)

Arguments name The name of the block.

function Set to 0 to add nodes, 1 to remove nodes,and 2 to remove all nodes from an index.

type The index. Set to 0 for i, 1 for j, and 2 for k.Not used if function is 2.

start The starting position of the nodes to beadded or removed. Not used if function is2.

end The ending position of the nodes to be

Page 39: Commands

Altair Engineering, Inc. 37 Command File

added or removed. Not used if function is2.

number The number of nodes to add. Not used iffunction is 1 or 2.

factor The expansion factor. Not used if functionis 1 or 2.

Example To add 50 nodes uniformly in the k direction to an existing block named block1:

*blocknodeupdate(block1,0,2,-10.0,110.0,50,1.0)

*blocksetcurrent()

Sets the current block.

Syntax *blocksetcurrent(name)

Argument name The name of the block.

*blockupdate()

Updates the size and/or color of a finite difference block.

Syntax *blockupdate(name, color, imin, imax, jmin, jmax, kmin,kmax)

Arguments name The name of the block.

color The new color of the block.

imin The new minimum value in the i direction.

imax The new maximum value in the i direction.

jmin The new minimum value in the j direction.

jmax The new maximum value in the j direction.

kmin The new minimum value in the k direction.

kmax The new maximum value in the k direction.

Page 40: Commands

Command File 38 Altair Engineering, Inc.

*blockvisualize()

Creates a fill hide plot of a finite difference block.

Syntax *blockvisualize(name, iplane, jplane, kplane, icolor,jcolor, kcolor, usewallcolor)

Arguments name The name of the block.

iplane The i plane to display.

jplane The j plane to display.

kplane The k plane to display.

icolor The color in which to display the i plane. Notused if iplane is 0.

jcolor The color in which to display the j plane. Notused if jplane is 0.

kcolor The color in which to display the k plane.Not used if kplane is 0.

usewallcolor Set to 1 if the colors of the walls are to beused; 0, if the colors specified by icolor,jcolor, and kcolor are to be used.

Example To display the entire finite difference block named block1:

*blockvisualize(block1,0,0,0,0,0,0)

Comments The color values are not used and the block is visualized using the wall colorsunless the planes are nonzero, in which case the plane is visualized using thecolor provided.

*blockwalladdcell()

Adds one cell to a finite difference wall.

Syntax *blockwalladdcell(wallname, cellid)

Arguments wallname The name of the wall into which the cell is tobe added.

cellid The ID of the cell to be added.

Comments The ID of any cell, knowing the (i,j,k) location, may be found by the formula(i*divj*divk)+(j*divk)+k, where divj and divk are the number of divisions in the jand k directions, respectively. All cells do not have to be members of a wall.

Page 41: Commands

Altair Engineering, Inc. 39 Command File

*blockwallcreate()

Creates a wall in a finite difference block.

Syntax *blockwallcreate(blockname, wallname, color)

Arguments blockname The name of the block.

wallname The name of the wall to be created.

color The color of the new wall.

*blockwalldelete()

Deletes a wall from a finite difference block.

Syntax *blockwalldelete(blockname, wallname)

Arguments blockname The name of the block.

wallname The name of the wall to be deleted.

*blockwalleditrange()

Adds or deletes a range of cells in a finite difference wall.

Syntax *blockwalleditrange(blockname, wallname, imin, imax, jmin,jmax, kmin, kmax, del)

Arguments blockname The name of the block.

wallname The name of the wall to be edited.

imin The minimum value in the i direction, inclusive.

imax The maximum value in the i direction, inclusive.

jmin The minimum value in the j direction, inclusive.

jmax The maximum value in the j direction, inclusive.

kmin The minimum value in the k direction, inclusive.

kmax The maximum value in the k direction, inclusive.

del Set to 0 to add cells, 1 to delete cells.

Page 42: Commands

Command File 40 Altair Engineering, Inc.

*blockwallfill()

Fills an enclosed plane of cells in a finite difference wall.

Syntax *blockwallfill(wallname, cellid)

Arguments wallname The name of the wall to be edited.

cellid The ID of the cell from which to start thefilling.

Comments The ID of any cell, knowing the (i,j,k) location, may be found by the formula(i*divj*divk)+(j*divk)+k, where divj and divk are the number of divisions in the jand k directions, respectively.

Display must be in planar mode for this function to work, and only one planecan be displayed. The displayed plane is the plane that is filled.

*blockwallfindintersect()

Intersects one- and two-dimensional finite elements with cells in a finite difference block.

Syntax *blockwallfindintersect(blockname, wallname, entity type,mark)

Arguments blockname The name of the block.

wallname The name of the wall into which cells areto be inserted.

entity type The type of entity in the mark (eitherelements or components).

mark The ID of the mark.

*blockwallremove()

Removes all cells from the given finite difference wall.

Syntax *blockwallremove(blockname, wallname)

Arguments blockname The name of the block.

wallname The name of the wall from which all cells areto be removed.

Page 43: Commands

Altair Engineering, Inc. 41 Command File

*blockwallremovecell()

Removes one cell from a finite difference wall.

Syntax *blockwallremovecell(wallname, cellid)

Arguments wallname The name of the wall from which the cellis to be removed.

cellid The ID of the cell to be removed.

Comments The ID of any cell, knowing the (i,j,k) location, may be found by the formula(i*divj*divk)+(j*divk)+k, where divj and divk are the number of divisions in the jand k directions, respectively.

*blockwallreset()

Deletes all walls from a finite difference block.

Syntax *blockwallreset(name)

Argument name The name of the block from which all walls are tobe removed.

*blockwallupdate()

Updates the color of a wall in a finite difference block.

Syntax *blockwallupdate(blockname, wallname, color)

Arguments blockname The name of the block.

wallname The name of the wall.

color The new color of the new wall.

Page 44: Commands

Command File 42 Altair Engineering, Inc.

*bullet()

Places a bullet on a slide.

Syntax *bullet( )

Example To place a bullet on a slide:

*bullet() First important point.

*bullet() Second important point.

Comments This command is only available while the system is in *slide() mode.

*calculatecuttingplane()

Calculates the intersection of the cutting plane with the current model.

Syntax *calculatecuttingplane()

*call()

Used to call a user-defined function.

Syntax *call(function name)

Argument function name The name of the user-defined function to becalled.

Example To call the function makeplot:

*call(makeplot)

*function(makeplot)

<user commands>

*return()

Comments Requires a *function() and *return() command.

Page 45: Commands

Altair Engineering, Inc. 43 Command File

*cardcreate()

Creates a control card.

Syntax *cardcreate(name)

Argument name The name of the control card tocreate.

*carddelete()

Deletes a control card.

Syntax *carddelete(name)

Argument name The name of the control card to delete.

*carddisable()

Disables an existing control card's from being output through the template system.

Syntax *carddisable(name)

Argument name The name of an existing card to disable.

*cardenable()

Enables an existing control card to be output through the template system.

Syntax *cardenable(name)

Argument name The name of an existing card to enable.

Page 46: Commands

Command File 44 Altair Engineering, Inc.

*cleanuptoleranceset()

Sets the default tolerance to use during topological operations.

Syntax *cleanuptoleranceset(tolerance)

Argument tolerance The new tolerance.

Comments Describes when to consider two separate geometric entities the same. Thevalue should not be less than 10 times the geometric tolerance.

*clearcuttingplane()

Clears the cutting plane.

Syntax *clearcuttingplane()

*collectorcreate()

Creates a collector.

Syntax *collectorcreate(type, name, material, color)

Arguments type The type of collector being created. Thisvalue should be set to component, property,material, loadcols, or systcols.

name The name of the collector.

material The name of the material collector to whichthe new collector should point. Thisparameter is ignored unless a component orproperty collector is being created.

color The color of the new collector. Thisparameter is ignored unless a component,load collector, or system collector is beingcreated.

Example To create a component fender, with materials contained in the materialcollector mat1, and a color of 9:

*collectorcreate(component,fender,mat1,9)

Page 47: Commands

Altair Engineering, Inc. 45 Command File

*collectorcreatesameas()

Creates a collector using an existing collectors dictionary/attribute data.

Syntax *collectorcreatesameas(type, newname, existingname,material, color)

Arguments type The type of collector being created. Thisvalue should be set to component, property,material, loadcols, or systcols.

newname The name of the collector to be created.

existingname The name of the collector to copy dictionaryattribute information from

material The name of the material collector to whichthe new collector should point. Thisparameter is ignored unless a component orproperty collector is being created.

color The color of the new collector. Thisparameter is ignored unless a component,load collector, or system collector is beingcreated.

Example To create a new property left using the attributes in the component right,the material matl3 and color 12:

*collectorcreatesameas(property,"left","right","matl3",12)

Comments Elements and geometry contained in componets are not copied to the newcollector using this command. Only the attributes/dictionary information iscopied.

Page 48: Commands

Command File 46 Altair Engineering, Inc.

*collectormarkmove()

Moves and/or sorts the entities on a mark. This affects their order within the display menu and theadvanced entity selection menus.

Syntax *collectormarkmove(entity type, mark, front, sort)

Arguments entity type The type of entities contained on the mark.Valid entity types are components, loadcollectors, system collectors, properties,groups, plots, blocks, materials, assemblies,and titles.

mark The ID of the mark.

front 1, the marked entities are moved to the frontof the list; 0, the marked entities are movedto the back of the list.

sort 0, the marked entities are not be sorted; 1,the marked entities are sorted by name; 2,the marked entities are sorted by ID.

*color()

Changes the color used to display text in slide mode.

Syntax *color(color)

Argument color The number of the color to be used todisplay text.

Example To place the following colored text on a slide:

*slide(1,1,1)

*color(12) This is the text which will be red.

*color(14) This is the text which will be yellow.

*color(10) This is the text which will be green.

Comments This command is only available while the system is in slide mode.

Page 49: Commands

Altair Engineering, Inc. 47 Command File

*colormapedit()

Modifies a color in the color map.

Syntax *colormapedit(color, red, green, blue)

Arguments color The index of the color in the color map.

red The red component of color.

green The green component of color.

blue The blue component of color.

*colormark()

Colors the entities on a mark a specified color.

Syntax *colormark(entity type, mark, color)

Arguments entity type The type of entities contained on the mark.Valid entity types are components, systemcollectors, and load collectors.

mark The ID of the mark.

color The color which the selected entities shouldbe colored. Valid colors are 0 through 15.

Example To color the component frame red:

*createmark(components,1) frame

*colormark(components,1,12)

*combineelements()

Combines the selected elements into one.

Syntax *combineelements(mark, tolerance, angle)

Arguments mark The ID of the mark containing the elementsto be combined.

tolerance The maximum tolerance allowed before anode within the group of selected elements

Page 50: Commands

Command File 48 Altair Engineering, Inc.

is considered to be not on the plane formedby any three nodes attached to the group ofselected elements.

angle The maximum angle between three nodeswhich is considered to be a flat side.

Example To combine elements 10, 13, and 15 with an off plane tolerance of 0.1 and a flatangle of 150.0 degrees:

*createmark(elements,1) 10 13 15

*combineelements(1,0.1,150.0)

Comments This command is obsolete and is provided only for backward compatibility.

*combineelements() only works with two-dimensional elements.

*combineplotels()

Creates a line from a group of plot elements.

Syntax *combineplotels(mark)

Argument mark The mark containing the plot elements.

*complexanimatemodal()

Creates and displays a complex modal animation sequence.

Syntax *complexanimatemodal(title, maxdeflection, frames,hiddenline)

Arguments title The title which should appear on theanimation frames.

maxdeflection The maximum deflection in model units towhich the maximum analysis result shouldbe scaled.

frames The number of frames which should beused during the animation sequence.

hiddenline Determines if the animation generatedshould be hidden line (1 for hidden line, 0

Page 51: Commands

Altair Engineering, Inc. 49 Command File

for wire frame).

Example To animate the current structure with the first simulation and the first data typewithin the simulation using the results from the file test.res and scaling themaximum deflection to 10 model units:

*analysisfileset(test.res)

*simulationset(1,1)

*complexanimatemodal("",10.0,4,0)

Comments The maximum number of frames available for animation is hardwaredependent.

*configedit()

Edits the configuration of a group of elements.

Syntax *configedit(mark, newconfig)

Arguments mark The mark containing the elements to bemodified.

newconfig The new configuration for the elements.

*contourplot()

Creates a contour plot of analysis results.

Syntax *contourplot(title, mindef, minimum, maxdef, maximum, meshcolor, scale factor, not used, full color, disp type,mult, show min max, show plot info)

Arguments title The title which should appear on the plot.

mindef Indicates if the minimum value found in thefile should be used as the minimum valueon the legend or if the following parameterminimum should be used as the minimumvalue on the legend (0 for file, 1 forminimum).

minimum The minimum value which should appearon the legend. This is only used if mindef is

Page 52: Commands

Command File 50 Altair Engineering, Inc.

set to 1.

maxdef Indicates if the maximum value found in thefile should be used as the maximum valueon the legend or if the following parametermaximum should be used as the maximumvalue on the legend (0 for file, 1 formaximum).

maximum The maximum value which should appearon the legend. This is only used if maxdefis set to 1.

mesh color The color which should be used to plot themesh.

scale factor The scale factor used for scaling adeformed plot.

full size A flag that indicates if the plot beinggenerated should occupy the full screen (1-yes, 0-no).

full color Indicates if full color or smoothing betweenthe colors in the legend should beperformed (1 for smoothing, 0 otherwise).

disp type Indicates which value of displacementshould be used ("x" for x displacement only,"y" for y displacement only, "z" for zdisplacement only, "total" for totaldisplacement). This is only applicable todisplacement data.

mult A value used to multiply the results found inthe results file.

show min max Indicates if the minimum/maximum titleshould be displayed. (1-yes, 0-no).

show plot info Indicates if the plot information title shouldbe displayed. (1-yes, 0-no).

Comments Either *inputsimulation() or *simulationset() is required.

Page 53: Commands

Altair Engineering, Inc. 51 Command File

*copymark()

Copies entities from one component to another.

Syntax *copymark(entity type, mark, collector name)

Arguments entity type The type of entities on the mark.

mark The ID of the mark containing theentities.

collector name The name of the collector into whichthe elements are copied.

Example To copy element 20, 21, and 22 into component junk:

*createmark(elements,1) 20 21 22

*copymark(elements,1,junk)

Comments This command can be used with lines, elements, systems, or loads.

*createarray()

Creates an array of integers.

Syntax *createarray(len)

Argument len The length of the array.

Example *createarray(2) 1 2

*createcenternode()

Creates a node at the center of a circle formed by node1, node2, and node3.

Syntax *createcenternode(node1, node2, node3)

Arguments node1 The first node on the circle.

node2 The second node on the circle.

node3 The third node on the circle.

Page 54: Commands

Command File 52 Altair Engineering, Inc.

*createcirclefromcenterradius()

Creates circles when supplied with the center and radius.

Syntax *createcirclefromcenterradius(list id, vector id, radius,angle, offset)

Arguments list id The ID of the list which contains the nodesto be used as the center points.

vector id The ID of the vector which is normal to theplane in which the circles should becreated.

radius The radius of the circles.

angle The angle through which the arc beinggenerated should pass. To create circles,the angle should be set to 360.0.

offset May be used to offset the starting point ofthe circles.

Example To create a circle centered at node 18, with radius 3.0, and in the plane whosenormal is defined by (0.0, 0.0, 1.0):

*createvector(1,0.0,0.0,1.0)

*createmark(nodes,1) 18

*createcirclefromcenterradius(1,1,3.0,360.0,0.0)

Comments *createvector() and *createmark() are required.

*createcirclefrompointplane()

Creates a circle by spinning a node about a plane normal.

Syntax *createcirclefrompointplane(list id, plane id, angle,offset)

Arguments list id The ID of the mark which contains thenodes to be spun.

plane id The ID of the plane whose normal shouldbe used to spin the nodes about. Thecenter of the circle is located at the base ofthe plane.

Page 55: Commands

Altair Engineering, Inc. 53 Command File

angle The angle through which the nodes shouldbe spun.

offset The offset angle from the original positionof the nodes.

Example To create a circle by spinning nodes 4 and 12 about the plane normal defined by(0.0, 0.0, 1.0), and based at (0.0, 0.0, 0.0):

*createplane(1,0.0,0.0,1.0,0.0,0.0,0.0)

*createmark(nodes,1) 4 12

*createcirclefrompointplane(1,1,360,0)

Comments *createplane() and *createmark() are required.

*createcirclefrompoints()

Creates a circle from three points.

Syntax *createcirclefrompoints(list id, circle)

Arguments list id The list containing the three nodes whichshould be used to create the circle.

circle Determines if a circle or an arc is to becreated (1 for circle, 0 for arc).

Example To create a circle which runs though nodes 11, 22, and 33:

*createlist(nodes,1) 11 22 33

*createcirclefrompoints(1,1)

*createdoublearray()

Creates an array of doubles.

Syntax *createdoublearray(len)

Argument len The length of the array.

Example *createdoublearray(2) 1.5 2.5

Page 56: Commands

Command File 54 Altair Engineering, Inc.

*createdoublearray2d()

Creates a 2-D array of doubles.

Syntax *createdoublearray(rows,cols)

Arguments rows The number of rows in the array.

cols The number of columns in the array.

Example *createdoublearray2d(2,3) 1.5 2.5 3.5 5.5 6.5 7.5

*createintarray2d()

Creates a 2-D array of ints.

Syntax *createintarray(rows,cols)

Arguments rows The number of rows in the array.

cols The number of columns in the array.

Example *createintarray2d(2,3) 1,2,3,5,6,7

*createelement()

Creates an element.

Syntax *createelement(config, type, nodelist, auto order)

Arguments config The configuration of the element.

type The type of the element.

nodelist The ID of a list containing the nodes ofthe element.

auto order 1, to auto order; 0, to use user-definednode order.

Example To create a quad with nodes 14, 15, 16, and 17:

*createlist(node,1) 14 15 16 17

*createelement(104,104,1

Page 57: Commands

Altair Engineering, Inc. 55 Command File

*createfillet()

Creates a fillet between two lines.

Syntax *createfillet(line1 id, line2 id, radius, trim,quadselected)

Arguments line1 id The ID of the first line to which the filletline is to be created.

line2 id The ID of the second line to which thefillet line is to be created.

radius The radius of the fillet.

trim 1, to trim line1 and line2 at the filletboundary; 0, to leave the lines intact.

quadselected The quadrant to select, if more than onepossible fillet location exists.

Example To create a fillet between line 1 and line 2 with radius 5.4:

*createfillet(1,2,5.4,0,0)

Comments If more than one possible fillet line exists, you must select the fillet quadrant.The number of this quadrant is then used in the quadselected argument.

*createlist()

Creates a list of entities.

Syntax *createlist(entity type, list id)

Arguments entity type The type of entities to be in the list.

list id The ID of the list (1 or 2).

Example To make list 1 a list of nodes with IDs 1, 4, 6, and 8:

*createlist(nodes,1) 1 4 6 8

Comments A list of the entity IDs must follow the *createlist() command; the list mustinclude the IDs of the entities separated by a space or comma.

Nodes are the only entity which are currently supported on the*createlist() command.

Page 58: Commands

Command File 56 Altair Engineering, Inc.

*createmark()

Creates a mark.

Syntax *createmark(entity type, mark id)

Arguments entity type The type of entities to be placed into themark.

mark id The ID of the mark being created (1 or 2).

Example To place elements 1 and 35 on mark 1:

*createmark(elements,1) 1 35

Comments A list of the entity IDs and/or the collector names must follow the*createmark() command. The list must include the IDs or the collectornames of the entities separated by a space or comma.

The *createmark() command can also be followed by one of the followingoptions:

all

displayed

retrieve

reverse

“by comps” [ID or name]

“by id” ID

“by assems” [ID or name}

“by group” [ID or name]

“by config” [ID or name]

“by sets” [ID or name]

“by surface” ID

“by adjacent”

“by attached”

“by outputblock ” [ID or name]

“on plane” x y x i j k tol plane touching

plane: 0 = plane, 1 = normal of plane

touching: 0 = entities touching, 1 = entities on

Page 59: Commands

Altair Engineering, Inc. 57 Command File

*createnode()

Creates a node in space.

Syntax *createnode(x, y, z, system id, surface id, geometryindex)

Arguments x The x coordinate of the node.

y The y coordinate of the node.

z The z coordinate of the node.

system id The ID of the system which the nodeshould reference.

surface id The ID of the surface to which the node isassociated.

geometry index The index into the HyperMesh geometrystructure which identifies the face, edge, orvertex to which the node is associated.

Example To create a node at (12.0, 13.5, 16.3):

*createnode(12.0,13.5,16.3,0,0,0)

*createnodesbetweennodelist()

Creates nodes between each pair of nodes along a list.

Syntax *createnodesbetweennodelist(list, numberofnodes)

Arguments list The ID of the list of nodes.

numberofnodes The number of new nodes to createevenly spaced between each pair.

Example To create 3 nodes between nodes 166 and 170, and 3 more between nodes 170and 174, and so on:

*createlist(nodes,1) 166 170 174 178 183 187 191

*createnodesbetweennodelist(1,3)

Page 60: Commands

Command File 58 Altair Engineering, Inc.

*createnodesbetweennodes()

Creates a user-specified number of nodes between two nodes.

Syntax *createnodesbetweennodes(node1, node2, number)

Arguments node1 The first node between which nodesshould be created.

node2 The second node between which nodesshould be created.

number The number of nodes which should becreated between node1 and node2.

Example To create 5 nodes between nodes 100 and 101:

*createnodesbetweennodes(100,101,5)

*createplane()

Creates a plane for use in future commands.

Syntax *createplane(plane id, normal x, normal y, normal z, basex, base y, base z)

Arguments plane id The ID of the plane being defined (1 or 2).

normal x The x component of the normal of theplane.

normal y The y component of the normal of theplane.

normal z The z component of the normal of theplane.

base x The x component of the base point of theplane.

base y The y component of the base point of theplane.

base z The z component of the base point of theplane.

Example To create plane 1 with a normal along the x axis and a base point of (2.0,3.0,4.0):

*createplane(1,1.0,0.0,0.0,2.0,3.0,4.0)

Page 61: Commands

Altair Engineering, Inc. 59 Command File

*createstringarray()

Creates an array of strings.

Syntax *createstringarray(len)

Argument len Length of the array

Example *createstringarray(2) "one","two"

*createvector()

Defines a vector for use in other commands.

Syntax *createvector(vector id, x component, y component, zcomponent)

Arguments vector id The ID of the vector being defined (1 or 2).

x component The x component of the normal of thevector.

y component The y component of the normal of thevector.

z component The z component of the normal of thevector.

Example To define a vector along the y axis:

*createvector(1,0.0,1.0,0.0)

Comments Use this command to define a vector for use in other commands.

Use the *vectorcreate() command to create a vector entity.

Page 62: Commands

Command File 60 Altair Engineering, Inc.

*currentcollector()

Sets the current collector.

Syntax *currentcollector(entity type, name)

Arguments entity type The type of collector which the currentcollector should be set to. Valid types arecomponent, systcol, or loadcol.

name The name of the collector which should bemade current.

Example To set the current component to be the component named stuff:

*currentcollector(component,stuff)

*curvemathexternalfilter()

Runs an external filter on a curve.

Syntax *curvemathexternalfilter(outputcurve, xbased, filter,parameter)

Arguments outputcurve The name of the curve to be generated.

xbased 1, if the function should operate on the xcoordinate; 0, if the function shouldoperate on the y coordinate.

filter The name of the filter.

parameter The user-defined parameters for the filter.

Page 63: Commands

Altair Engineering, Inc. 61 Command File

*defaultmesh()

Generates meshes using saved or default parameters for all the surfaces on the given mark.

Syntax *defaultmesh(markmask, elementsize, trias, forcing,elemstosurfcomp, triatransitions, size_control,skew_control, elem_type_change, edge_mesh_type, min_size,max_size, chordal_div, max_angle)

Arguments markmask The surfaces to be meshed.

elementsize The default element edge size to usefor calculating element densities alongthe edges where necessary.

trias Determines if the generated elementsshould be quads (0) or trias (1).

forcing If forcing is set to a nonzero value, anysaved parameters from a previous useof the automesher for this surface areignored.

elemstosurfcomp If nonzero, new elements are created inthe component of the surface to whichthey belong. Otherwise, they arecreated in the current component.

triatransitions Determines if triangles should be usedfor element transitions in mappingalgorithms.

1 - yes, 0 - no.

size_control Determines if uniform size elements inmapping algorithms should be created.

1 - yes, 0 - no.

skew_control Determines if optimal shape elementsin mapping algorithms should becreated.

1 - yes, 0 - no.

elem_type_change Determines if the same or differentelement types for mapping andadvancing front algorithms should beused.

0 - same, 1 - different.

Page 64: Commands

Command File 62 Altair Engineering, Inc.

If 1, argument trias defines theelement type for mapping algorithms.For advancing front algorithm, the typewould be opposite to the value oftrias.

edge_mesh_type Determines if you should use chordaldeviation edge meshing (2) or standardedge meshing (1).

min_size Minimum edge size for chordaldeviation edge meshing.

max_size Maximum edge size for chordaldeviation edge meshing.

chordal_div Chordal deviation for chordal deviationedge meshing.

max_angle Maximum angle value (in degrees)between edges for chordal deviationedge meshing.

Example To create quads of default edge size 1.0 for the surface with ID 3:

*createmark(surfaces,1) 3

*defaultmesh(1,1,0,1,0,0,0,0,0,1,0,0,0,0)

To create quads for size controlled mapping algorithm with triatransitions andtrias for advancing front with chordal deviation edge meshing for surfaces withID’s 3, 5, 6:

*createmark(surfaces,1) 3 5 6

*defaultmesh(1,1,0,1,0,1,1,0,1,2,0.5,30,0.1,15)

Comments The *createmark() command is required for this command.

The function *defaultmesh() writes a comment to the command fileindicating what surface it has started processing so that, if there is a problem,you can rerun the command file and stop it before it reaches that surface.

Page 65: Commands

Altair Engineering, Inc. 63 Command File

*deformedshape()

Plots the deformed shape of the structure based on analysis results.

Syntax *deformedshape(title, undef color, deformed color, maxdef,hidden line, full size)

Arguments title The title to be displayed on the plot.

undef color The color to be used for theundeformed structure (0 through 15or -1 to use the color of theelements).

deformed color The color to be used for the deformedstructure (0 through 15 or -1 to usethe color of the elements).

maxdef The maximum deflection in modelunits to which the results should bescaled.

hidden line A flag which determines if thedeformed plot should be hidden line.

full size Determines if the plot beinggenerated is plotted without the menusystem showing (1 for full size,otherwise 0).

Example To plot the deformed structure in red, and the undeformed structure in blue, witha scale factor of 50 model units, and using the first simulation and first data typefrom the file test.res:

*analysisfileset(test.res)

*simulationset(1,1)

*deformedshape("",9,12,50,0,0)

Comments *analysisfileset() must be used to specify a results file and*inputsimulation() or *simulationset() must be used to specify theappropriate simulation and data type.

Page 66: Commands

Command File 64 Altair Engineering, Inc.

*deleteedges()

Deletes the edges if any in the current database.

Syntax *deleteedges()

Example To delete the edges in a model:

*deleteedges()

Comments This operation deletes the component named ^edges.

*deletefeatures()

Deletes the features in a model.

Syntax *deletefeatures()

Comments This function can also be performed by using the function *deletemark() .

*deletefile()

Deletes a file.

Syntax *deletefile(name)

Argument name The name of the file to be deleted.

Example To delete the file named junk:

*deletefile(junk)

*deletefillet()

Deletes a fillet from a line.

Syntax *deletefillet(line id)

Argument line id The ID of the line from which the fillet line is tobe deleted.

Page 67: Commands

Altair Engineering, Inc. 65 Command File

*deletemark()

Deletes entities from the database.

Syntax *deletemark(entity type, mark)

Arguments entity type The type of entity contained on the mark.

mark The ID of the mark to be deleted.

Example To delete lines 12, 13, and 14:

*createmark(lines,1) 12 13 14

*deletemark(lines,1)

*deletemodel()

Deletes all of the entities in a database.

Syntax *deletemodel()

*dependencycheck()

Checks nodes for multiple dependence.

Syntax *dependencycheck(entities, mark)

Arguments entities The entities contained on the mark.

mark The ID of the mark which contains theentities.

Page 68: Commands

Command File 66 Altair Engineering, Inc.

*descriptormove()

Moves the plot descriptor.

Syntax *descriptormove(xmin, ymin, xmax, ymax)

Arguments xmin The x value of the upper left corner of theplot descriptor (0.0 - 1.0).

ymin The y value of the upper left corner of theplot descriptor (0.0 - 1.0).

xmax The x value of the lower right corner of theplot descriptor (0.0 - 1.0).

ymax The y value of the lower right corner of theplot descriptor (0.0 - 1.0).

*descriptorsetcolor()

Sets the color of the plot descriptor.

Syntax *descriptorsetcolor(color)

Argument color The color of the descriptor.

*descriptorsetfont()

Sets the font for the plot descriptor.

Syntax *descriptorsetfont(font)

Argument font The font number for the descriptor (1-4).

Page 69: Commands

Altair Engineering, Inc. 67 Command File

*descriptorsettext()

Sets the text which should be displayed in the plot descriptor.

Syntax *descriptorsettext(text)

Argument text The text which should be displayed in the plotdescriptor.

*detachelements()

Detaches the elements contained on the mark as a unit from the rest of the structure by thespecified offset value.

Syntax *detachelements(mark,offset value)

Arguments mark The ID of the mark containing theelements to be detached.

offset value The distance by which the elementsshould be offset.

Example To detach elements 10, 20, 30, and 40:

*createmark(elements,1) 10 20 30 40

*detachelements(1,0)

*dictionaryload()

Loads a dictionary from the template file into a collector dictionary.

Syntax *dictionaryload(entity type, mark, template, dictionary)

Arguments entity type The type of the collector contained onthe mark.

mark The ID of the mark which contains thecollectors to be updated.

template The name of the template whichcontains the dictionary.

dictionary The name of the dictionary to be

Page 70: Commands

Command File 68 Altair Engineering, Inc.

loaded into the components.

Example To load the dictionary named NAST_PSHELL from the NASTRAN templategeneral into component plate:

*createmark(component,1) plate

*dictionaryload(component,1,nastran/general,NAST_PSHELL)

*dictionaryreset()

Resets a collector’s dictionary.

Syntax *dictionaryreset(entity type, name)

Arguments entity type The type of the collector contained on themark.

name The collector name.

Example To reset the dictionary named steel.

*dictionaryreset(materials, “steel”)

*dictionaryupdatebymark()

Updates a dictionary item in a group of collectors.

Syntax *dictionaryupdatebymark(entity type, mark, name, type,string, value, active)

Arguments entity type The type of entity in the mark.

mark The ID of the mark.

name The name of the dictionary item to be modified.

type The type of the dictionary item:

0 none

1 string

2 integer

Page 71: Commands

Altair Engineering, Inc. 69 Command File

3 real

string The string value of the dictionary item. This is onlyused when the type is set to real.

value The value of the dictionary item. This is only usedwhen the type is set to integer or real.

active Determines if the dictionary item is active:

-1 Always active.

0 Not active. This may be changed bythe user.

1 Active. This may be changed by theuser.

*dictionaryupdateentry()

Updates a dictionary item.

Syntax *dictionaryupdateentry(entity type, collector, name, type,string, value, active)

Arguments entity type The type of entity in the mark.

collector The name of the collector.

name The name of the dictionary item to be modified.

type The type of the dictionary item:

0 none

1 string

2 integer

3 real

string The string value of the dictionary item. This is onlyused when the type is set to real.

value The value of the dictionary item. This is only usedwhen the type is set to integer or real.

active Determines if the dictionary item is active:

Page 72: Commands

Command File 70 Altair Engineering, Inc.

-1 Always active.

0 Not active. This may be changed bythe user.

1 Active. This may be changed by theuser.

*displaycollector()

Changes the active state of a collector.

Syntax *displaycollector(entity type, function, name, elements,lines)

Arguments entity type The type of collector. Valid types for thisfunction are components, loadcols, andsystcols.

function The function being performed defined bythe following:

If function is set to on, then the collectorspecified by name is turned on.

If function is set to off, then the collectorspecified by name is turned off.

If function is set to toggle, then thecollector specified by name is toggled.

If function is set to all, then all of thecollectors of type entity type is turned on.

If function is set to none, then all of thecollectors of type entity type is turned off.

If function is set to reverse, then all of thecollectors of type entity type will betoggled.

name The name of the collector to be used inthe above functions. This parameter maybe left blank if function is set to all, none,or toggle.

elements Indicates if elements within componentsare to be turned on or off (1 for yes, 0 forno).

Page 73: Commands

Altair Engineering, Inc. 71 Command File

lines Indicates if lines within components are tobe turned on or off (1 for yes, 0 for no).

Example To turn the elements and lines on in component fender:

*displaycollector(component,on,fender,1,1)

*displaylistdisplaycollector()

Toggles the display status of components while a display list is active.

Syntax *displaylistdisplaycollector(entity type, function, name,transparency)

Arguments entity type The type of collector. Valid types for thisfunction are components.

function The function being performed defined bythe following:

If function is set to on, then the collectorspecified by name will be turned on.

If function is set to off, then the collectorspecified by name will be turned off.

If function is set to toggle, then the collectorspecified by name will be toggled.

If function is set to all, then all of thecollectors of type entity type will be turnedon.

If function is set to none, then all of thecollectors of type entity type will be turnedoff.

If function is set to reverse, then all of thecollectors of type entity type is toggled.

name The name of the collector to be used in theabove functions. This parameter may beleft blank if function is set to all, none, ortoggle.

transparency Indicates if the components should bemade transparent or turned off or on (1 fortransparent, 0 for off/on).

Comments This function works only if a display list is active.

Page 74: Commands

Command File 72 Altair Engineering, Inc.

*displaylistoff()

Turns off and frees the display list.

Syntax *displaylistoff()

*draglinetoformsurface()

Drags a trimmed line to create a surface, and optionally, prepares it for immediate use within theautomesher. It can also identify a region in the shape of a dragged surface for the automesher touse under the mesh without surface option.

Syntax *draglinetoformsurface(linelist, list, direction_vector,distance)

Arguments linelist The ID of the list of lines to bedragged.

list The list ID of the list of zero or twonodes which lie on the lines in the linelist which will be used to trim the lineduring surface creation.

direction_vector The direction to drag the lines.

distance The distance to drag the lines.

Example To drag two lines, trimmed by two points, -100 units in the direction of the y-axis,creating a surface but no elements:

*surfacemode(4)

*createlist(lines,1) 1 2

*createlist(nodes,1) 29 30

*createvector(1,0.0000,1.0000,0.0000)

*draglinetoformsurface(1,1,1,-100.0000)

Comments The *surfacemode(4) directive tells HyperMesh not to pass the informationon to the automesher for element creation.

*createlist() and *createvector() are required for this command.

Page 75: Commands

Altair Engineering, Inc. 73 Command File

*dragnodestoformsurface()

Drags a list of nodes to create a surface, and optionally, prepares it for immediate use within theautomesher. It can also identify a region in the shape of a dragged surface for the automesher touse under the mesh without surface option.

Syntax *dragnodestoformsurface(list, direction_vector, distance)

Arguments list The nodes to be dragged.

direction_vector The direction to drag the nodes.

distance The distance to drag the nodes.

Example To drag six nodes -100 units in the direction of the y-axis, creating a surface butno elements:

*surfacemode(4)

*createlist(nodes,1) 5 10 6 11 12 7

*createvector(1,0.0000,1.0000,0.0000)

*dragnodestoformsurface(1,1,-100.0000)

Comments The *surfacemode(4) directive tells HyperMesh not to pass the informationon to the automesher for element creation.

*createlist() and *createvector() are required for this command.

If one of the surface creation modes has been set, a smooth is put through thenodes to create the surface.

*drawlistreset()

Resets the post-processing values used in performance graphics mode.

Syntax *drawlistreset()

*drawlistresetstyle()

Resets the display mode on the draw list to the default when you are using performance graphicsmode.

Syntax *drawlistresetstyle()

Page 76: Commands

Command File 74 Altair Engineering, Inc.

*duplicatemark()

Duplicates a mark.

Syntax *duplicatemark(entity type, mark, current)

Arguments entity type Indicates the type of entity in the mark(elements or lines).

mark The ID of the mark to be duplicated.

current Indicates if the new entities should beplaced in the current component or inthe component in which it currentlyexists (1 - current, 0 - original).

Example To duplicate the elemenarkts on mark 1 and place the new elements in theoriginal components:

*duplicatemark(elements,1,0)

*dynamicviewbegin()

Begins a block of *rotate(), *window(), or *quatrotate() commands.

Syntax *dynamicviewbegin()

*dynamicviewend()

Ends a block of *rotate(), *window(), or *quatrotate() commands.

Syntax *dynamicviewend()

*edgerestore()

Unsuppress the selected edge.

Syntax *edgerestore(edge)

Argument edge The edge to unsuppress.

Page 77: Commands

Altair Engineering, Inc. 75 Command File

Example To unsuppress edge 5:

*edgerestroe(5)

Comments Only face edges that are interior to a surface or shared between two surfacesmay be suppressed and unsuppressed. Unsuppressing an edge can split asurface into two new surfaces, and causes it to affect the mesh.

*edgesmarkrestore()

Unsuppresses a group of edges.

Syntax *edgesmarkrestore(mark)

Argument mark The ID of the mark which contains the edges tounsuppressed.

Example To unsuppress edges 5, 14, 21, and 30:

*createmark(lines,1) 5 14 21 30

*edgesmarkrestore(1)

Comments Only face edges which are interior to a surface or shared between two surfacesmay be suppressed and unsuppressed. Unsuppressing an edge can split asurface into two new surfaces, and causes it to affect the mesh. The*createmark() command is required.

*edgesmarksuppress()

Suppresses a group of edges.

Syntax *edgesmarksuppress(mark)

Argument mark The ID of the mark which contains the edges tosuppressed.

Example To suppress edges 5, 14, 21, and 30:

*createmark(lines, 1) 5 14 21 30

*edgesmarksuppress(1)

Comments Only face edges which are interior to a surface or shared between two surfacesmay be suppressed and unsuppressed. Suppressing an edge can combine twoseparate surfaces, and removes its affect on the mesh. The createmark()command is required.

Page 78: Commands

Command File 76 Altair Engineering, Inc.

*edgesmarkuntrim()

Removes the specified trimming lines from their surface.

Syntax *edgesmarkuntrim(mark)

Argument mark The ID of the mark containing trimming edges toremove.

*edgesuppress()

Suppresses the selected edge.

Syntax *edgesuppress(edge)

Argument edge The edge to suppress.

Example To suppress edge 5:

*edgesuppress(5)

Comments Only face edges which are interior to a surface or shared between two surfacesmay be suppressed and unsuppressed. Suppressing an edge can combine twoseparate surfaces, and removes its affect on the mesh.

*element1dswitch()

Switches the order of one-dimensional elements.

Syntax *element1dswitch(mark)

Argument mark The ID of the mark that contains the one-dimensional elements to be switched.

Example To switch the order of the one-dimensional elements 5, 6, and 7:

*createmark(elements,1) 5 6 7

*element1dswitch(1)

Comments *createmark() is required.

Page 79: Commands

Altair Engineering, Inc. 77 Command File

*elementhandle()

Turns element handles on and off.

Syntax *elementhandle(on)

Argument on Indicates whether element handles should be on oroff (1 for on, 0 for off).

Comments Element handles display the location on the screen where elements may bepicked.

*elementmarksplit()

Splits a group of elements.

Syntax *elementmarksplit(mark, crosscode, crosscodesize)

Arguments mark The mark containing the elements to be split.

crosscode The ID of the array containing the crossingcodes.

crosscodesize The size of the crosscode array.

*elementorder()

Sets the element order when new elements are created.

Syntax *elementorder(order)

Argument order The order of the elements to be built.

1 New elements will be first order.

2 New elements will be second order.

Page 80: Commands

Command File 78 Altair Engineering, Inc.

*elementsettypes()

Sets the element types to the current global value.

Syntax *elementsettypes(mark)

Argument mark The ID of the mark that contains theelements to be set.

Example To set the displayed elements to the current global types:

*createmark(element,1) displayed

*elementsettypes(1)

Comments Each of the HyperMesh element configurations has a global type associatedwith it which is stored in a variable. When a new element is created, the typewill be set to the current value of the global type.

Types are how different analysis elements are assigned to the sameHyperMesh element configuration.

*elementsizeset()

Sets the default element size to be used when calculating element densities in the automeshingmodule.

Syntax *elementsizeset(elementsize)

Argument elementsize The default element edge size (must begreater than zero).

Example To set the default element size to 7.5 model units:

*elementsizeset(7.50)

*elementtype()

Sets the global element type variable.

Syntax *elementtype(config, type)

Arguments config The configuration whose global type is setwith this command.

type The type whose global type is set with thiscommand.

Example To set the global element type of configuration 103 to 3:

*elementtype(103,3)

Page 81: Commands

Altair Engineering, Inc. 79 Command File

*elemoffset()

Offsets plate elements to create solids.

Syntax *elemoffset(mark, density, biasstyle, biasing, thickness,offset, elementbasedT, shellsonly)

Arguments mark The ID of the mark which contains theplate elements to be offset.

density The number of solid elements to becreated through the thickness.

biasstyle The type of biasing to use.

biasing The biasing intensity value.

thickness The total thickness of the new solids.

offset The starting offset.

elementbasedT Set to 0 if the elements should be offsetthe value of thickness. Set to 1 if theelements should be offset by thethickness of the selected elements.

shellsonly Set to 0 to create hexas and pentas fromquads and trias, and to create quadsfrom plot elements. Set to 1 to createoffset quads, trias, and plot elements.

*entitysetcreate()

Creates an entity set.

Syntax *entitysetcreate(name, entities, mark)

Arguments name The name of the entity set.

entities The type of entity set being created (nodesor elements).

mark The mark which contains the entities to beplaced into the set.

Page 82: Commands

Command File 80 Altair Engineering, Inc.

*entitysetupdate()

Updates an entity set.

Syntax *entitysetupdate(name, entities, mark)

Arguments name The name of the entity set.

entities The type of the entity set (nodes or elements).

mark The mark which contains the entities to beplaced into the set.

Comments This command replaces the entities in the set with the entities on the mark.

*equationcreate()

Creates an equation between a dependent node and mulitple independent nodes.

Syntax *equationcreate(mark, independentdofs, dofsize,independentweights, weightsize, dependent, dof, weight,constant).

Arguments mark The ID of the mark containing theindependent nodes.

independentdofs The ID of the array containing thedegrees of freedom for which eachrespective independent node of theequation is active (any one of thedigits 1-6).

dofsize The size of the independentdofsarray.

independentweights The ID of the array containing theweight for each respectiveindependent node.

weightsize The size of the independentweightsarray.

dependent The dependent node of the equation.

dof The degree of freedom code forwhich the dependent node of theequation is active (any one of thedigits 1-6).

Page 83: Commands

Altair Engineering, Inc. 81 Command File

weight The weight assiged to the dependentnode.

constant A constant value assigned to thedependent and independent nodes.

Example To create an equation with dependent node 100 and independent nodes 101,102, and 103 with all of the nodes having one of the six degrees of freedom, aweight of 1.23, and a constant of 5.0:

*createmark(nodes,1) 101 102 103

*createarray(3) 1 3 4

*createdoublearray(3) 1.230000 1.230000 1.230000

*equationcreate(1,1,3,1,3,100,5,1.23,5.00)

Comments A *createmark() command is required to define the mark. A*createarray() and *createdoublearray() are required to define thedegree of freedom codes and weights for the independent nodes.

*equationupdate()

Updates the connectivity and properties of an equation.

Syntax *equationupdate(equation, mark, independentdofs, dofsize,independentweights, weightsize, dependent, dof, weight,constant).

Arguments equation The ID of the equation to update.

mark The ID of the mark containing the(possibly new) independent nodes.

independentdofs The ID of the array containing thedegree of freedom code for whicheach respective independent node ofthe equation is active (any one of thedigits 1-6).

dofsize The size of the independentdofsarray.

independentweights The ID of the array containing theweight for each respectiveindependent node.

weightsize The size of the independentweightsarray.

Page 84: Commands

Command File 82 Altair Engineering, Inc.

dependent The (possibly new) dependent nodeof the equation.

dof The degree of freedom code forwhich the dependent node of theequation is active (any one of thedigits 1-6).

weight The weight for the dependent node.

constant A constant for the dependent andindependent nodes.

Example To update equation 18 with dependent node 104 and independent nodes 100,101, 102, and 103 with all of the nodes having a degree of freedom code of 2and a weight of 2.31 and a constant of 5.0:

*createmark(nodes,2) 100 101 102 103

*createarray(4) 2 2 2 2

*createdoublearray(4) 2.310000 2.310000 2.310000 2.310000

*equationupdate(18,2,1,4,1,4,104,2,2.31,5.0)

Comments A *createmark() command is required to define the mark. A*createarray()and *createdoublearray() are required to define thedegree of freedom codes and weights for the independent nodes.

*equationupdateallconstant()

Updates the constant values for the independent nodes and the dependent node.

Syntax *equationupdateallconstant(equation, constant)

Arguments equation The ID of the equation to update.

constant The constant value assigned to all the independentnodes and the dependent node.

Example To update equation 18 with the independent nodes and the dependent nodehaving a constant value of 20:

*equationupdateallconstant (18, 20).

Page 85: Commands

Altair Engineering, Inc. 83 Command File

*equationupdatealldofs()

Updates all of the independent nodes degree of freedom code to one value and the dependentnodes degrees of freedom code to another value for an equation.

Syntax *equationupdatealldofs(equation, idofs, ddof)

Arguments equation The ID of the equation to update.

idofs The degree of freedom code forwhich all independent nodes of theequation is active (any one of thedigits 1-6).

ddof The degree of freedom code forwhich the dependent node of theequation is active (any one of thedigits 1-6).

Example To update equation 18 with all of the independent nodes having a degree offreedom code of 6 and the dependent node having a degree of freedom code of2:

*equationupdatealldofs(18,6,2)

*equationupdateallwts()

Updates the weight of all independent nodes to one value and the weight of the dependent node toanother value for an equation.

Syntax *equationupdateallwts(equation, iweights, dweight)

Arguments equation The ID of the equation to update.

iweights The weight assigned for allindependent nodes of the equation.

dweight The weight assigned for thedependent node of the equation.

Example To update equation 18 with all of the independent nodes having a weight of1.432 and the dependent node having a weight of 0.000:

*equationupdateallwts(18,1.432,0.0)

Page 86: Commands

Command File 84 Altair Engineering, Inc.

*equationupdatedofs()

Updates the degree of freedom codes for the specified independent nodes and the dependent nodefor an equation.

Syntax *equationupdatedofs(equation, changed_dofs, nrows, ncols,ddof)

Arguments equation The ID of the equation to update.

changed_dofs The ID of a 2 dimensional array.Each row contains the ID of anindependent node of the equationand the degree of freedom code forwhich that node is active (any one ofthe digits 1-6).

nrows The number of rows in thechanged_dofs array.

ncols The number of columns in thechanged_dofs array (must always be2).

ddof The degree of freedom code forwhich the dependent node of theequation is active (any one of thedigits 1-6).

Example To update equation 18 with the independent nodes 100, and 101 having adegree of freedom code of 2 and independent node 102 having a degree offreedom code of 4 and the dependent node having a degree of freedom code of1:

*createintarray2d(3,2) 100 2 101 2 102 4

*equationupdatedofs(18,1,3,2,1)

Comments A *createintarray2d() command is required to define the pairing ofindependent node and new degree of freedom code for that node.

Page 87: Commands

Altair Engineering, Inc. 85 Command File

*equationupdatewts()

Updates the weights for the specified independent nodes and the dependent node for an equation.

Syntax *equationupdatewts(equation, changed_nodes, nodesize,changed_weights, weightsize, dweight)

Arguments equation The ID of the equation to update.

changed_nodes The ID of an array containing theindependent nodes of an equationwhose weights are to be updated.

nodesize The size of the changed_nodesarray.

changed_weights The ID of an array containing theweights for the respectiveindependent nodes specified in thechanged_nodes array.

weightsize The size of the changed_weightsarray.

dweight The weight assigned for thedependent node of the equation.

Example To update equation 18 with the independent nodes 100, and 101 having a weightof 1.0 and independent node 102 having a weight of 1.5 and the dependent nodehaving a weight of 1.0:

*createarray(3) 100 101 102

*createdoublearray(3) 1.0 1.0 1.5

*equationupdatewts(18,1,3,1,3,1.0)

Comments A *createarray() and *createdoublearray() command are required todefine the pairing of independent node and new weight for that node.

Page 88: Commands

Command File 86 Altair Engineering, Inc.

*equivalence()

Equivalences the nodes in a selected group of elements.

Syntax *equivalence(entity type, mark, tolerance,equivalence, location, retain)

Arguments entity type The type of entities on the mark. Valid typesfor this operation are components orelements.

mark The ID of the mark.

tolerance The tolerance to be used before a node isconsidered for equivalencing.

equivalence Determines whether the command will flagthe duplicate nodes or equivalence them (1for equivalence, 0 for find duplicates).

location Decides where to locate the retained node. Ifthe duplicate nodes are coincident, all ofthese options achieve the same result. Use:

0 to locate it at the node with thelowest ID.

1 to locate it at the node with thehighest ID.

2 to locate it midway between theduplicate nodes.

retain Decides which node to keep. Use:

0 to keep the node with the lowestID.

1 to keep the node with the highestID.

Example To equivalence the nodes contained in component cover with atolerance of 0.1:

*createmark(components,1) cover

*equivalence(components,1,0.1,1,0,0)

Page 89: Commands

Altair Engineering, Inc. 87 Command File

*exponentialdisplay()

Changes the way floating-point numbers are displayed in the menu.

Syntax *exponentialdisplay(on)

Argument on 1, if floating-point numbers should be displayed inexponential format; otherwise, 0.

*facesdelete()

Deletes the component ^faces.

Syntax *facesdelete()

*facedeleteduplicates()

Deletes duplicate faces.

Syntax *facesdeleteduplicates(mark, tol)

Arguments mark The ID of the mark which contains the faces tocompare for and delete duplicates.

tol The tolerance used to find duplicate faces.

Example To find and delete duplicates within a tolerance of 0.1, among the faces 2, 4, 7,14, and 23:

*createmark(faces,1) 2 4 7 14 23

*facedeleteduplicates(1,0.1)

Comments The *createmark() command is required.

Page 90: Commands

Command File 88 Altair Engineering, Inc.

*facepreviewduplicates()

Finds duplicate faces.

Syntax *facepreviewduplicates(mark, tol)

Arguments mark The ID of the mark which contains the faces tocompare for and delete duplicates.

tol The tolerance used to find duplicate faces.

Example To find duplicates within a tolerance of .1, among the faces 2, 4, 7, 14, and 23:

*createmark(faces,1) 2, 4, 7, 14, 23

*facepreviewduplicates(1, 0.1)

Comments This command removes any non-duplicate faces from the mark. The*createmark() command is required.

*facesmarktosurface()

Assigns a group of faces to a different surface.

Syntax *facesmarktosurface(mark, surface)

Arguments mark The ID of the mark containing the faces to assign to adifferent surface.

surface The surface to which the selected faces are to beassigned.

0 A new surface is created.

Example To create a new surface which contains the faces 13, 18, 20, and 21:

*createmark(faces,1) 13 18 20 21

*facesmarktosurface(1,0)

Comments The faces are removed from the surfaces that previously contained them. If thisempties a surface of faces, the surface is automatically deleted. On the geomcleanup panel, this command corresponds to the moving faces tool.

Page 91: Commands

Altair Engineering, Inc. 89 Command File

*fatiguewrite()

Creates a fatigue analysis input file in the format specified.

Syntax *fatiguewrite(entities, markmask, filename, datagroup,filetype, analysistype, simulationtype, sim1, sim2, sim3)

Arguments entities The type of entities on the mark (elements ornodes).

markmask The ID of the mark containing the entities.

filename The specified file name into which the fatigueanalysis results are written.

datagroup The type of data group chosen (dependingupon the solver).

filetype The file type (binary or ASCII).

analysistype The analysis type (linear or transient).

simulationtype The three simulation types: 0, 1, and 2.

sim1 If simulation = 0, writes all simulations for thespecified entities.

sim2 If simulation = 1, writes only the simulationvalues for a specific simulation.

sim3 If simulation = 2, writes only the simulations inthe specified range, given start and endsimulation values.

Example *fatiguewrite(

entities element (entity selected)

markmask 200 (element number(s))

filename c:\temp\fatg, (file name)

datagroup Stress TOP SURFACE

filetype ascii

analysistype linear

simulationtype 0

sim1 all

sim2 NULL

sim3 NULL

Page 92: Commands

Command File 90 Altair Engineering, Inc.

Comments Load the HyperMesh model or solver input data and results files prior to usingthis command.

*features()

Generates plot elements between two-dimensional elements whose normals exceed the user-specified angle.

Syntax *features(entity type, mark, angle, ignorenormals)

Arguments entity type The entity type on the mark. Valid entriesare components or elements.

mark The ID of the mark which contains theabove entities.

angle The angle specifying the maximum angleallowed between any two plate elements,before a plot element is generatedbetween the shared sides of the twoelements.

ignorenormals 1, if normals which are more than 90degrees should have features generatedon them; otherwise, 0.

Example To create features on the component hood based on 30.0 degrees:

*createmark(components,1) hood

*features(component,1,30.0)

Comments *features() can be used to reduce the time it takes to generate ananimation sequence, by reducing the number of active elements. All featuresgenerated are placed into a component named ^feature which HyperMeshwill create if necessary.

Page 93: Commands

Altair Engineering, Inc. 91 Command File

*feinput()

Inputs an ASCII analysis input deck.

Syntax *feinput(programname, filename, overwrite,min_edge_length, blanked_component, offsetflag)

Arguments programname The name of the translator program.

filename The name of the file containing aninput deck.

overwrite 1, if HyperMesh should overwrite anyexisting IDs; 0, if HyperMesh shouldoffset.

min_edge_length Not used

blanked_component Create an empty component for data.

offsetflag Apply a user-defined offset.

Example To read the ABAQUS input file called model:

*feinput(“feinput/abaqus”,”model”,0, 10.0, 0)

*feinputoffsetid()

Sets the value to offset the IDs of the entity type during feinput.

Syntax *feinputoffsetid(entity_type, offsetvalue)

Arguments entity_type The type of the entity to be offset

offsetvalue The number added to each entity of the type passed toHyperMesh during feinput.

Page 94: Commands

Command File 92 Altair Engineering, Inc.

*feoutput()

Creates an ASCII analysis deck using an output template.

Syntax *feoutput(template file, output file, lines, autoprops,all)

Arguments template file The name of the template file to be used.

output file The name of the output file.

lines Determines if lines will be written to the analysisdeck.

autoprops Determines if the properties and materials will bewritten. Automatically generated if they do notexist.

all Determines which entities are used to create theoutput deck. Use:

1 to specify that all entities are used.

0 to specify that only the visable entitiesare used.

Example To create a NASTRAN analysis deck using the template file mynast and createthe outfile run1:

*feoutput(mynast,run1,1,1,1)

*fillplot()

Generates a fill plot of the displayed structure.

Syntax *fillplot(title, mesh color, fill color, full size,blocks)

Arguments title The title to be displayed on the plot.

mesh color The color of the mesh (0 through 15, or -1to color the mesh the color of the element).

fill color The color of the center of the elements (0through 15, or -1 to color the center of theelements the color of the element).

Page 95: Commands

Altair Engineering, Inc. 93 Command File

full size Determines whether the plot will fill theentire screen.

blocks Determines if FD blocks should alsoappear on the plot.

Example To generate a normal size fill plot of the structure with the title This is thetitle, a mesh color of black, and a fill color equal to that of each element:

*fillplot("This is the title",0,-1,0,0)

Comments If full size is set to 1, then the plot will be displayed on the screen until amouse button is pressed.

*findedges()

Finds free or T-connected edges in a group of elements.

Syntax *findedges(entity type, mark, edgetype)

Arguments entity type The type of entity contained on the mark. The validtypes for this operation are components andelements.

mark The ID of the mark.

edgetype The type of edge you want to find. Use:

0 to find free edges.

1 to find T-connected edges.

Example To check the free edges on all of the elements contained in the componentfender:

*createmark(components,1) fender

*findedges(components,1,0)

Page 96: Commands

Command File 94 Altair Engineering, Inc.

*findfaces()

Finds the free faces in a group of elements.

Syntax *findfaces(entity type, mark)

Arguments entity type The type of entity contained on themark. The valid types for thisoperation are components andelements.

mark The ID of the mark.

Example To check the free faces on all of the elements contained in the componentfender:

*createmark(components,1) fender

*findfaces(components,1)

*findmark()

Finds entities.

Syntax *findmark(entity type, mark, function, reserved, display,numbers, outputmark)

Arguments entity type The type of the entities contained on themark.

mark The ID of the mark containing the entities.

function Set to 0 to find the entities, 1 to find theattached entities.

reserved Reserved for future use.

display The type of entity to be displayed. This isignored when function is set to 0.

numbers Set to 1 if the number of the entitiesshould be turned on, otherwise 0.

outputmark If outputmark is zero, temporary nodesare created at found nodes. Otherwise,found nodes are placed on the mark(highlighted).

Example To find the elements attached to element 12:

Page 97: Commands

Altair Engineering, Inc. 95 Command File

*createmark(element,1) 12

*findmark(element,1,1,0,element,0,0)

*findnodesbetweencomponents()

Displays nodes common to a set of components. This command is useful for finding the welds orother connections between two components.

Syntax *findnodesbetweencomponents(mark, numbers, outputmark)

Arguments mark The mark number which containscomponents.

numbers A flag which determines if the numbers ofthe common nodes will be turned on afterthey are found.

outputmark The mark number which the commonnodes will be put for use later.

*function()

Defines the beginning of a function.

Syntax *function(function name)

Argument function name The name of the function.

Example All functions must be located at the end of the command file after the mainfunction's *quit() statement as shown below:

*call(function1)

*call(function2)

*quit()

*function(function1)

<user commands>

*return()

Page 98: Commands

Command File 96 Altair Engineering, Inc.

*function(function2)

<user commands>

*return()

Comments This command must be followed by a minimum of the *return() command.

*gapelement()

Creates a gap element.

Syntax *gapelement(node1, node2, property name, vectorid)

Arguments node1 The ID of the first node of the gapelement.

node2 The ID of the second node of the gapelement.

property name The name of the property which shouldbe assigned to the gap element.

vectorid The ID of the orientation vectorassociated with the gap element.

Example To create a gap element between node 5 and node 245 with property gapprop,without an orientation vector:

*gapelement(5,245,gapprop,0)

*gapelementupdate()

Updates the property pointer of gap elements.

Syntax *gapelementupdate(mark, property name, vectorid)

Arguments mark The ID of the mark.

property name The name of the property to which the gapelements should point.

vectorid The ID of the orientation vector associatedwith the gap element.

Page 99: Commands

Altair Engineering, Inc. 97 Command File

*geometrytoleranceset()

Sets the default tolerance to use during geometric operations.

Syntax *geometrytoleranceset(tolerance)

Arugment tolerance The new tolerance.

Comments Changing the geometric tolerance for a model can sometimes compromise theintegrity of the CAD data stored in your model. Typically, this value should bebetween 1e-2 and 1e-6 of the size of the typical element you are using. Bydefault, the topological cleanup tolerance is set to approximately 10 times thegeometry tolerance.

*graphicfont()

Sets the size of the graphics font.

Syntax *graphicfont(size)

Argument size The size of the graphics font (1 - smallest, 4 -largest).

*groupchangetype()

Changes the config and type of an existing group.

Syntax *groupchangetype(name, config, type)

Arguments name The name of the group to change.

config The new config value for the group.

type The new type value for the group.

Page 100: Commands

Command File 98 Altair Engineering, Inc.

*groupcreatesameas()

Creates a group using an existing groups dictionary/attribute data and type information.

Syntax *groupcreatesameas(newname, existingname, color)

Arguments newname The name of the group to be created.

existingname The name of the group to copydictionary attributeinformation from

color The color of the group.

Example To create a new group back using the information in the group front, andcolor 12:

*groupcreatesameas("back","front",12)

Comments Slave and Master elements and/or other definition methods/information are notcopied to the new group when you use this command. Only theattributes/dictionary information and the type information is copied.

*groupdeleteunused()

Deletes the unused groups.

Syntax *groupdeleteunused()

Comments Delete the highlighted elements by*grouppreviewunused().

*grouppreviewunused()

Identifies the unused elements within a group.

Syntax *grouppreviewunused(mark)

Argument mark The ID of the mark containing the groups.

Example *interfacecreate("one",1,2,1)

*createmark(groups,2) "one"

*createmark(elements,2)

*interfaceadd("one",0,elements,2,0)

Page 101: Commands

Altair Engineering, Inc. 99 Command File

*createmark(elements,1) 124 158 246 366

*interfaceadd("one",1,elements,1,0)

*createmark(elements,2) 130 136 364

*interfaceadd("one",0,elements,2,0)

*createmark(elements,1) 124 130 136 158 246 364 366

*deletemark(elements,1)

*grouppreviewunused(1)

Comments *interfacecreate() creates group one. Add master elements 124, 158,246 and 366 and slave elements 130 136 and 364.*grouppreviewunused() highlights the seven elements.

*hiddenlinemethod()

Selects the algorithm used to perform hidden line removal.

Syntax *hiddenlinemethod(method)

Argument method Key indicating the method of hidden linealgorithm to use (0 being centroidal, 1 beingzbuffer).

*hmmeshdrag()

Within the automeshing module, generates quad or tria elements using a surfaceless algorithm.Can only be used with *surfacemode(3) and one of the *drag...toformsurface()commands.

Syntax *hmmeshdrag(quads)

Argument quads If nonzero, specifies that the created elementsshould be quads.

Example To drag six nodes -100 units in the direction of the y-axis and create 50 elementswithout creating a surface:

*surfacemode(3)

*createlist(nodes,1) 5 10 6 11 12 7

*createvector(1,0.0000,1.0000,0.0000)

Page 102: Commands

Command File 100 Altair Engineering, Inc.

*dragnodestoformsurface(1,1,-100.0000)

*setedgemeshparams(0,5,0)

*setedgemeshparams(1,10,0)

*setedgemeshparams(2,5,0)

*setedgemeshparams(3,10,0)

*hmmeshdrag(1)

*storeAMelemstodatabase(0)

*ameshclearsurface()

Comments *surfacemode(3) tells the automesher not to expect an actual surface.

*createlist() and *createvector() are required for*dragnodestoformsurface() , which analyzes the data and prepareseverything for the automeshing module.

*setedgemeshparams() , *storeAMelemstodatabase() , and*ameshclearsurface() are required by the automeshing module.

The densities specified by the *setedgemeshparams() commands must beequal for opposite edges.

*hmmeshlinedrag()

Within the automeshing module, generates quad or tria elements using a surfaceless algorithm.Can only be used with *surfacemode(3) and one of the *linedrag...toformsurface()commands.

Syntax *hmmeshlinedrag(quads)

Argument quads If nonzero, specifies that the created elementsshould be quads.

Example To drag the given nodes along lines 2 & 1, trimmed by nodes 29 & 30, and usingthe given plane, create 45 elements:

*surfacemode(3)

*createlist(nodes,1) 5 9 1 15 18 39

*createlist(lines,2) 2 1

*createlist(nodes,2) 29 30

*createplane(1,0.0000,0.0000,1.0000,0.0000,0.0000,100.0000)

Page 103: Commands

Altair Engineering, Inc. 101 Command File

*linedragnodestoformsurface(1,2,2,1)

*setedgemeshparams(0,5,0)

*setedgemeshparams(1,9,0)

*setedgemeshparams(2,5,0)

*setedgemeshparams(3,9,0)

*hmmeshlinedrag(1)

*storeAMelemstodatabase(0)

*ameshclearsurface()

Comments *surfacemode(3) tells the automesher not to expect an actual surface.

The *createlist() and *createplane() directives are required for*linedragnodestoformsurface(), which analyzes the data and prepareseverything for the automeshing module.

*setedgemeshparams(), *storeAMelemstodatabase(), and*ameshclearsurface() are required by the automeshing module.

The densities specified by the *setedgemeshparams() commands must beequal for opposite edges.

*hmmeshskin()

Within the automeshing module, generates quad or tria elements using a surfaceless algorithm thatapproximates a skin surface. Can only be used together with *surfacemode(3) and*skinsurface().

Syntax *hmmeshskin(quads)

Argument quads If nonzero, specifies that the createdelements should be quads.

Example This example identifies a region in the shape of a skin surface across lines 1, 2,3, and 4 and then creates 50 quad elements:

*surfacemode(3)

*createlist(lines,1) 1 2 3 4

*skinsurface(1,1)

*setedgemeshparams(0,10,0)

*setedgemeshparams(1,5,0)

*setedgemeshparams(2,10,0)

Page 104: Commands

Command File 102 Altair Engineering, Inc.

*setedgemeshparams(3,5,0)

*hmmeshskin(1)

*storeAMelemstodatabase(0)

*ameshclearsurface()

Comments The densities specified by the *setedgemeshparams() commands must beequal for opposite edges.

*surfacemode(3) tells the automesher not to expect an actual surface. The*createlist() directive is required by *skinsurface(), which analyzesthe data and prepares everything for the automeshing module.

The *setedgemeshparams(), *storeAMelemstodatabase() , and*ameshclearsurface() directives are required by the automeshingmodule.

*hmmeshspin()

Within the automeshing module, generates quad or tria elements using a surfaceless algorithm.Can only be used with *surfacemode(3) and one of the *spin...toformsurface()commands.

Syntax *hmmeshspin(quads)

Argument quads If nonzero, specifies that the created elements shouldbe quads.

Example This example spins line 4 forty-five degrees about the given axis to identify aregion approximating a surface of revolution, and without actually making asurface, creates 150 elements (15 on the line and 10 on the spin).

*surfacemode(3)

*createlist(lines,1) 4

*createlist(nodes,1)

*createplane(1,0.6757,0.0,0.0,860.0,0.0, 332.0)

*spinlinetoformsurface(1,1,1,45.0)

*setedgemeshparams(0,15,0)

*setedgemeshparams(1,10,0)

*setedgemeshparams(2,15,0)

*setedgemeshparams(3,10,0)

*hmmeshspin(1)

Page 105: Commands

Altair Engineering, Inc. 103 Command File

*storeAMelemstodatabase(0)

*ameshclearsurface()

Comments *surfacemode(3) tells the automesher not to expect an actual surface.

Both *createlist() and the *createplane() directives are required for*spinlinetoformsurface() , which analyzes the data and prepareseverything for the automeshing module.

*setedgemeshparams() , *storeAMelemstodatabase() , and*ameshclearsurface() are required by the automeshing module.

The densities specified by the *setedgemeshparams() commands must beequal for opposite edges.

*hmmeshspline()

Within the automeshing module, generates quad or tria elements using a flexible surfacelessalgorithm. Can only be used together with *surfacemode(3) and *splinesurface().

Syntax *hmmeshspline(quads)

Argument quads If nonzero, specifies that the created elements shouldbe quads.

Example To generate elements with densities of 10, 11, 10, and 10 along the given edges:

*surfacemode(3)

*createmark(lines,1) 1 2 7 8

*createplane(1,1.0000,0.0000,0.0000,0.0000,

0.0000,0.0000)

*splinesurface(lines,1,0,1)

*setedgemeshparams(0,10,0)

*setedgemeshparams(1,11,0)

*setedgemeshparams(2,10,0)

*setedgemeshparams(3,10,0)

*hmmeshspline(1)

*storeAMelemstodatabase(0)

*ameshclearsurface()

Comments *surfacemode(3) tells the automesher not to expect an actual surface.

Page 106: Commands

Command File 104 Altair Engineering, Inc.

*createmark() and *createplane() are required for*splinesurface(), which analyzes the data and prepares everything for theautomeshing module.

*setedgemeshparams() , *storeAMelemstodatabase() , and*ameshclearsurface() are required by the automeshing module.

*hmmeshsurfacecone()

Within the automeshing module, generates quad or tria elements using a surfaceless algorithm.Can only be used with *surfacemode(3) and one of the *surfacecone...() commands.

Syntax *hmmeshsurfacecone(quads)

Argument quads If nonzero, specifies that the created elements shouldbe quads.

Example This example identifies a cylindrical region of radius 100 and height 200, andthen has the automesher create 300 elements on it, with a density of 10 up theside and 30 around the circumference:

*surfacemode(3)

*surfaceconefull(180,86,100.0000,100.0000,1.0000,200.0000)

*setedgemeshparams(0,10,0)

*setedgemeshparams(1,30,0)

*setedgemeshparams(2,10,0)

*setedgemeshparams(3,30,0)

*hmmeshsurfacecone(1)

*storeAMelemstodatabase(0)

*ameshclearsurface()

Comments *surfacemode(3) tells the automesher not to expect an actual surface.

*setedgemeshparams() , *storeAMelemstodatabase() , and*ameshclearsurface() are required by the automeshing module.

The densities specified by the *setedgemeshparams() commands must beequal for opposite edges.

Page 107: Commands

Altair Engineering, Inc. 105 Command File

*hmmeshsurfaceplane()

Within the automeshing module, generates quad or tria elements using a surfaceless algorithm.Can only be used with *surfacemode(3) and *surfaceplane().

Syntax *hmmeshsurfaceplane(quads)

Argument quads If nonzero, specifies that the created elements should bequads.

Example To create a square, planar surface normal to the x axis with the center at theorigin, of size 10.0, and create 45 elements:

*surfacemode(3)

*createplane(1,1.0,0.0,0.0,0.0,0.0,0.0)

*surfaceplane(1,10.0)

*setedgemeshparams(0,5,0)

*setedgemeshparams(1,9,0)

*setedgemeshparams(2,5,0)

*setedgemeshparams(3,9,0)

*hmmeshdrag(1)

*storeAMelemstodatabase(0)

*ameshclearsurface()

Comments *surfacemode(3) tells the automesher not to expect an actual surface.

*createplane() is required for *surfaceplane() , which analyzes thedata and prepares everything for the automeshing module.

*setedgemeshparams(), *storeAMelemstodatabase() , and*ameshclearsurface() are required by the automeshing module.

The densities specified by the *setedgemeshparams() commands must beequal for opposite edges.

Page 108: Commands

Command File 106 Altair Engineering, Inc.

*hmmeshsurfacesphere()

Within the automeshing module, generates quad or tria elements using a surfaceless algorithm.Can only be used with *surfacemode(3) and one of the *surfacesphere...() commands.

Syntax *hmmeshsurfacesphere(quads)

Argument quads If nonzero, specifies that the created elements should bequads.

Example This example identifies a spherical region passing through the given four nodes,and, without actually building a surface, creates 150 elements with a density of15 along a longitude and 10 around the equator:

*surfacemode(3)

*createlist(nodes,1) 159 141 178 228

*surfacespherefromfournodes(1)

*setedgemeshparams(0,15,0)

*setedgemeshparams(1,10,0)

*setedgemeshparams(2,15,0)

*setedgemeshparams(3,10,0)

*hmmeshsurfacesphere(1)

*storeAMelemstodatabase(0)

*ameshclearsurface()

Comments The densities specified by the *setedgemeshparams() commands must beequal for opposite edges.

*surfacemode(3) tells the automesher not to expect an actual surface.

*createlist() is required by *surfacespherefromfournodes().*setedgemeshparams(), *storeAMelemstodatabase() , and*ameshclearsurface() are required by the automeshing module.

Page 109: Commands

Altair Engineering, Inc. 107 Command File

*hmmeshsurfacetorus()

Within the automeshing module, generates quad or tria elements using a surfaceless algorithm.Can only be used with *surfacemode(3) and one of the *surfacetorus...() commands.

Syntax *hmmeshsurfacetorus(quads)

Argument quads If nonzero, specifies that the created elements shouldbe quads.

Example This example identifies a region that corresponds to the upper half of a torus, andwithout making a surface, creates 400 elements with a density of 40 around themajor circumference of the torus and 10 across the upper half.

*surfacemode(3)

*surfacetorus(17,19,18,20.0,115.0,0.0,360.0,0.0,180.0)

*setedgemeshparams(0,10,0)

*setedgemeshparams(1,40,0)

*setedgemeshparams(2,10,0)

*setedgemeshparams(3,40,0)

*hmmeshsurfacetorus(1)

*storeAMelemstodatabase(0)

*ameshclearsurface()

Comments The densities specified by the *setedgemeshparams() commands must beequal for opposite edges.

*surfacemode(3) tells the automesher not to expect an actual surface.

*setedgemeshparams(), *storeAMelemstodatabase() , and*ameshclearsurface() are required by the automeshing module.

Page 110: Commands

Command File 108 Altair Engineering, Inc.

*iges_write()

Writes the geometry of the current model out to an IGES format file.

Syntax *iges_write(filename, planemode, outerloopmode, compsmode)

Arguments filename The file name for the IGES file.

planemode Use:

0 IGES planes

1 JAMA planes

2 No planes

outerloopmode Use:

0 Outer Loop Optional

1 Outer Loop Mandatory

compsmode Use:

0 Layers

1 Groups

2 Layers and Groups

Example To write an IGES file with JAMA planes, outer loop mandatory, and layers:

*iges_write("frip.igs",1,1,0)

*importacis()

Reads an ACIS.SAT file.

Syntax *importacis(file)

Argument file The name of the file that contains the .SAT data.

Example To read the ACIS file trim.sat:

*importacis("trim.sat")

Comments The .SAT must contain an ACIS BODY or WIRE. Anything else results in anerror. Input data are checked for errors and corrected if possible.

Page 111: Commands

Altair Engineering, Inc. 109 Command File

*importdes()

Reads lines from a file which is in DES format.

Syntax *importdes(filename, break angle, aspect ratio, linearangle)

Arguments filename The name of the DES file.

break angle The minimum allowed angle between any threepoints on a line before an additional spline isadded to represent the line.

aspect ratio The maximum allowed aspect ratio between anythree points on a line before an additional splineis added to represent the line.

linear angle The maximum angle allowed between any threepoints on a line before the middle point isremoved.

*importdxf()

Reads lines from a file which is in DXF format.

Syntax *importdxf(filename)

Argument filename The name of the DXF file.

*importinca()

Reads lines from a file which is in INCA format.

Syntax *importinca(inca file, break angle, aspect ratio, linearangle)

Arguments inca file The name of the INCA file.

break angle The minimum allowed angle between any threepoints on a line before an additional spline isadded to represent the line.

Page 112: Commands

Command File 110 Altair Engineering, Inc.

aspect ratio The maximum allowed aspect ratio between anythree points on a line before an additional splineis added to represent the line.

linear angle The maximum angle allowed between any threepoints on a line before the middle point isremoved.

Example To read the INCA file lines:

*importinca(lines,150.0,5.0,179.0)

*importpdgs()

Reads the lines contained in a Ford Standard Tape file.

Syntax *importpdgs(name)

Argument name The name of the PDGS file to be read.

Example To read the PDGS file called lines:

*importpdgs(lines)

*include()

Includes a file.

Syntax *include(file)

Argument file The name of the file to include.

Comments *include file commands can be nested and can appear anywhere in the file.

Page 113: Commands

Altair Engineering, Inc. 111 Command File

*indent()

Indents text on a slide to the column indicated for the current paragraph.

Syntax *indent(column)

Argument column The column number to which text should be indented.

Example To indent a paragraph to column 25 of a slide:

*indent(25)This is the paragraph to indent to column 25.

*indent(30)This will indent the paragraph to column 30.

This paragraph will begin in column 0.

Comments This command is only available while the system is in slide mode.

A new paragraph resets the indentation to column 0.

*inputsimulation()

Reads a results file.

Syntax *inputsimulation(simulation, data type)

Arguments simulation The name of the simulation contained in the resultsfile which should be used for the next results-basedplot.

data type The data type contained in the above simulationwhich should be used for the next results-basedplot.

Page 114: Commands

Command File 112 Altair Engineering, Inc.

*interactivemesh()

Generates meshes using saved or default parameters for all the surfaces on the given mark.

Syntax *interactivemesh(surface, elementsize, trias, forcing,triatransitions, size_control, skew_control,elem_type_change)

Arguments surface The surface to process.

elementsize The default element edge size to use forcalculating element densities along theedges where necessary.

trias Determines if generated elements should bequads (0) or trias (1).

forcing If forcing is set to a nonzero value, anysaved parameters from a previous use of theautomesher for this surface are ignored.

triatransitions Determines if triangles should be used forelement transitions in mapping algorithms.

1 - yes, 0 - no.

size_control Determines if uniform size elements inmapping algorithms should be created.

1 - yes, 0 - no.

skew_control Determines if optimal shape elements inmapping elements should be created.

1 - yes, 0 - no.

elem_type_change Determines if the same or different elementtypes for mapping and advancing frontalgorithms should be used.

0 - same, 1 - different.

If 1, argument trias defines the elementtype for mapping algorithms. For advancingfront algorithm, the type would be oppositeto the value of trias.

Example The following extended example demonstrates most of the commands that areused by the automeshing module.

Here, it processes a surface with four faces and ten edges. To generate a meshfor each face, it first sets up values for element densities and biasing with the

Page 115: Commands

Altair Engineering, Inc. 113 Command File

*setedgemeshparams() commands and specifies automeshing parametersfor each face with the *setfacemeshparams() commands. Each face in turnis given to the *automesh() command with the instruction that it mustdetermine the appropriate meshing algorithm and create an all-quads mesh. Theuser then directs HyperMesh to smooth the meshes for ten iterations each.Then, the mesh for face number two is rejected and a new one created withslightly different element densities. The four meshes are then saved to theHyperMesh database, and the module is told to clear out its memory pertainingto the current surface so that it may now process a new one.

*surfacemode(1)

*createmark(surfaces,1)1

*interactivemesh(1,1,0,0)

*setedgemeshparams(2,5,0,0)

*setedgemeshparams(2,5,0,0)

*setedgemeshparams(0,2,0,0)

*setedgemeshparams(1,6,0,0)

*setedgemeshparams(5,3,0,0)

*setfacemeshparams(0,0.5,0.5,0.5,1,0.5)

*automesh(0,1,1)

*setedgemeshparams(2,5,0,0)

*setedgemeshparams(11,3,0,0)

*setedgemeshparams(3,4,0,0)

*setedgemeshparams(4,4,0,0)

*setfacemeshparams(1,0.5,0.5,0.5,1,0.5)

*automesh(1,1,1)

*setedgemeshparams(8,6,-20,)

*setedgemeshparams(5,3,0,0)

*setedgemeshparams(6,5,2,0)

*setedgemeshparams(7,8,0,0)

*setfacemeshparams(2,0.5,0.5,0.5,1,0.5)

*automesh(2,1,1)

*setedgemeshparams(8,6,-2)

Page 116: Commands

Command File 114 Altair Engineering, Inc.

*setedgemeshparams(9,2,0)

*setedgemeshparams(10,7,2)

*setedgemeshparams(11,3,0)

*setfacemeshparams(3,0.5,0.5,0.5,1,0.5)

*automesh(3,1,1)

*smoothelements(0,1,10)

*smoothelements(1,1,10)

*smoothelements(2,1,10)

*smoothelements(3,1,10)

*rejectmesh(2)

*setedgemeshparams(8,6,-2)

*setedgemeshparams(5,3,0)

*setedgemeshparams(6,5,0)

*setedgemeshparams(7,8,1)

*setfacemeshparams(2,0.5,0.5,0.5,1,0.5)

*automesh(2,1,1)

*storeAMelemstodatabase(0)

*storeAMelemstodatabase(1)

*storeAMelemstodatabase(2)

*storeAMelemstodatabase(3)

*ameshclearsurface()

Comments The *interactivemesh() command must be paired with a corresponding*ameshclearsurface() command before the next use of a bodymesh()or*defaultmesh() command.

Until the appropriate *storeAMelemstodatabase() command, generatedelements are not available to any HyperMesh commands outside of theautomeshing module.

The commands whose use is restricted to the automeshing module are thoseused above and the *unsmoothelements() command.

The *surfacemode(1) command is required and must preceed the*interactivemesh() command.

Page 117: Commands

Altair Engineering, Inc. 115 Command File

*interfaceadd()

Creates interface elements.

Syntax *interfaceadd(name, master, type, mark, reverse)

Arguments name The name of the group into which the interfaceelements should be placed.

master Use 1 for master; 0 for slave.

type The entity type of the slave entities (none, elements,nodes).

mark The ID of the mark containing the nodes or elementswhich should have slave or master elements placedon them.

reverse A logical which determines if the slave elementsshould be reversed when created.

*interfaceall()

Defines the group to contain all elems/nodes.

Syntax *interfaceall(name, master)

Arguments name The name of the group to which to add allelems/nodes.

master Use 1 for master, 0 for slave.

Page 118: Commands

Command File 116 Altair Engineering, Inc.

*interfacebox()

Creates a box for the interface.

Syntax *interfacebox(name, master, xmin, ymin, zmin, xmax, ymax,zmax)

Arguments name The name of the group to which to add thebox.

master Use 1 for master, 0 for slave.

xmin, ymin, zmin The minimum x, y, z values for the box.

xmax, ymax, zmax The maximum x, y, z values for the box.

*interfacecomponent()

Adds a list of components to the current interface.

Syntax *interfacecomponent(name, master, mark)

Arguments name The name of the group to which to add thecomponents.

master Use 1 for master, 0 for slave.

mark The ID of the mark containing the componentsto add to the group.

*interfacecreate()

Creates a group with configuration interface.

Syntax *interfacecreate(name, config, type, color)

Arguments name The name of the interface group.

config The config of the interface group.

type The type of the interface group.

color The color of the new interface.

Page 119: Commands

Altair Engineering, Inc. 117 Command File

*interfacedefinition()

Changes the definition of the interface.

Syntax *interfacedefinition(name, master, definitionname)

Arguments name The name of the group whose definition youwant to change.

master Use 1 for master, 0 for slave.

definitionname The new interface definition name; all, box,components, entities, or sets.

*interfacesets()

Adds a list of sets to the current interface.

Syntax *interfacesets(name, master, mark)

Arguments name The name of the group to which the sets are to beadded.

master Use 1 for master, 0 for slave.

mark The ID of the mark containing the sets to add to thegroup.

*intersectmark()

Intersects an element mark with a plane.

Syntax *intersectmark(entities, markmask, plane)

Arguments entities The type of entity on the mark.

markmask The mark containing the entities to beintersected.

plane The ID of the plane to use for the intersectioncalculations.

Page 120: Commands

Command File 118 Altair Engineering, Inc.

*jointelement_fournoded()

Creates a four-noded joint element.

Syntax *jointelement_fournoded(type, n1, n2, n3, n4, orientation,system1, system2, property)

Arguments type The type of the element (2,3,4,5 ONLY)

n1,n2,n3,n4 The four nodes of the element.

orientation Orientation option for the element. Use:

0 None

1 Systems

system1,2 The orientation systems IDs for the element

property The property to which the element points.

Example To create a four-noded joint element:

*jointelement_fournoded(5,467,466,459,291,1,1595,0,"stiffness")

*jointelement_sixnoded()

Creates a six-noded joint element.

Syntax *jointelement_sixnoded(type, n1, n2, n3, n4, n5, n6,orientation, system1, system2, property)

Arguments type The type of the element (6 or 7 ONLY)

n1, n2, n3, n4, n5, n6 The six nodes of the element.

orientation Orientation option for the element.Use:

0 None

1 Systems

system1 The orientation systems’ IDs for theelement.

Page 121: Commands

Altair Engineering, Inc. 119 Command File

property The property to which the elementpoints.

Example To create a six-noded joint element:

*jointelement_sixnoded(7,464,457,456,455,463,462,1,1596,1592,"")

*jointelement_twonoded()

Creates a spherical or two-noded joint element.

Syntax *jointelement_twonoded(n1, n2, orientation, o_node1,o_node2, system1, system2, property)

Arguments n1,n2 The two nodes of the element.

orientation Orientation option for the element. Use:

0 None

1 Systems

2 Nodes

o_node1,2 The orientation node IDs for the element.

system1,2 The orientation systems’ IDs for the element.

property The property to which the element points.

Example To create a two-noded joint element:

*jointelement_twonoded(320,303,2,322,324,0,0,"shells")

Page 122: Commands

Command File 120 Altair Engineering, Inc.

*jointelement_update()

Updates the nodes, property, type, and orientation of joint elements

Syntax *jointelement_update(mark, n1, n2, n3, n4, n5, n6,system1, system2, na, nb, property, orientation, type,nodeflag, propflag, orientflag, typeflag )

Arguments mark The ID of the mark that contains theelements to be updated.

n1,n2,n3,n4,n5,n6 The six nodes of the element. Use “0”(zero) for unused nodes.

system1,2 The orientation systems’ IDs for the element

na, nb The orientation nodes for the element

property The property to which the element points.

orientation Orientation option for the element. Use:

0 None

1 Systems

2 Nodes (nodes may only be used forspherical type joints and should bepassed as n3 and n4)

type The type of the element.

nodeflag Set to 1 to update the nodes; otherwise 0.

propflag Set to 1 to update the property; otherwise 0.

orientflag Set to 1 to update the orientation; otherwise0.

typeflag Set to 1 to update the type; otherwise 0.

Example To update a joint element:

*createmark(elements,1) 754 757

*jointelement_update(1,185,0,210,186,0,0,0,0,"",2,1,0,0,1,0)

Page 123: Commands

Altair Engineering, Inc. 121 Command File

*labelload()

Turns the label for loads on or off.

Syntax *labelload(type, on)

Arguments type Defines the type of load that has its label turned on or off (1for forces, 2 for moments, 3 for constraints, and 4 forpressures).

on 1 for on, 0 for off.

Comments Labels for forces, moments, and pressures are either on or off as a group.Labels for constraints may be controlled independently.

*lastsimulation()

Sets the last simulation to be used in a transient animation sequence.

Syntax *lastsimulation(simulation, data type)

Arguments simulation The name of the simulation.

data type The name of the data type.

*legendcoloredit()

Edits a color in the legend.

Syntax *legendcoloredit(color, red, green, blue)

Arguments color The color in the legend to be edited.

red The amount of red in the color (0 to 255).

green The amount of green in the color (0 to 255).

blue The amount of blue in the color (0 to 255).

Example To change the top color on the legend in an eight-color legend to blue:

*legendcoloredit(7,0,0,255)

Page 124: Commands

Command File 122 Altair Engineering, Inc.

*legendcolorsmooth()

Performs linear interpolation between two colors.

Syntax *legendcolorsmooth(color1, color2)

Arguments color1 The first color.

color2 The second color.

Example To smooth the colors between color 1 and color 7:

*legendcolorsmooth(1,7)

*legendlocate()

Locates the legend to the default position (upper left).

Syntax *legendlocate()

*legendmove()

Moves the legend.

Syntax *legendmove(x, y)

Arguments x The new x location for the legend.

y The new y location for the legend.

*legendon()

Controls the display of the legend.

Syntax *legendon(on)

Argument on 1 for on, 0 for off..

Example *legendon(0)

Comments HyperMesh displays the legend by default. If you display the legend, thesimulation title is also displayed.

Page 125: Commands

Altair Engineering, Inc. 123 Command File

*legendsavecolors()

Saves the colors of a legend to a file.

Syntax *legendsavecolors(filename)

Argument filename Save the color information to this file name.

*legendsetcolor()

Sets the color used to display the legend.

Syntax *legendsetcolor(color)

Argument color The color used to display the legend.

*legendsetcolors()

Sets the number of colors which will be used in the legend.

Syntax *legendsetcolors(number)

Argument number The number of colors.

*legendsetfont()

Sets the font used to display the legend.

Syntax *legendsetfont(font)

Argument font The font ID to be used to display the legend (1 - 4).

Page 126: Commands

Command File 124 Altair Engineering, Inc.

*lightswitch()

Turns the lights on or off.

Syntax *lightswitch(on, plot)

Arguments on A flag that indicates if the lights should be turned offor on.

plot A flag that indicates if the screen should bereplotted after this command is executed.

*linear1delements()

Creates 1-D elements between two sets of plate elements.

Syntax *linear1delements(mark1, mark2, node11, node12, node13,node21, node22, node23, density)

Arguments mark1 The ID of the first group of plate elements.

mark2 The ID of the second group of plate elements.

node11 The ID of the first alignment node for the first groupof elements.

node12 The ID of the second alignment node for the firstgroup of elements.

node13 The ID of the third alignment node for the first groupof elements.

node21 The ID of the first alignment node for the secondgroup of elements.

node22 The ID of the second alignment node for the secondgroup of elements.

node23 The ID of the third alignment node for the secondgroup of elements.

density The number of elements being created between thetwo sets of plate elements.

Page 127: Commands

Altair Engineering, Inc. 125 Command File

*linearmesh()

Within the automeshing module, generates quad or tria elements using a flexible surfacelessalgorithm that approximates a ruled surface. Can only be used together with *surfacemode(3)and one of the *linearsurface...() commands.

Syntax *linearmesh(quads)

Argument quads If nonzero, specifies that the created elements shouldbe quads.

Example This example identifies a region in the shape of a ruled surface and brings it intothe automesher, creates 32 quad elements, and stores the elements to theHyperMesh database:

*surfacemode(3)

*createlist(nodes,1) 1581 77 83 88 95

*createlist(nodes,2) 225 228 232 235 262

*linearsurfacebetweennodes(1,2,1)

*setedgemeshparams(0,8,0)

*setedgemeshparams(1,4,0)

*setedgemeshparams(2,8,0)

*setedgemeshparams(3,4,0)

*linearmesh(1)

*storeAMelemstodatabase(0)

*ameshclearsurface()

Comments The densities specified by the *setedgemeshparams() commands must beequal for opposite edges.

*surfacemode(3) tells the automesher not to expect an actual surface. Thetwo *createlist() directives are required by*linearsurfacebetweennodes() , which analyzes the data and prepareseverything for the automeshing module.

The *setedgemeshparams(), *storeAMelemstodatabase() , and*ameshclearsurface() directives are required by the automeshingmodule.

Page 128: Commands

Command File 126 Altair Engineering, Inc.

*linearsolids()

Creates solid elements between two groups of plate elements.

Syntax *linearsolids(mark1, mark2, align1, align2, align3,align4, align5, align6, number, biasstyle, biasing)

Arguments mark1 The ID of the mark containing the first group of plateelements.

mark2 The ID of the mark containing the second group ofplate elements.

align1 The ID of the node to be used as an alignment nodefor the first group of elements.

align2 The ID of the node to be used as an alignment nodefor the first group of elements.

align3 The ID of the node to be used as an alignment nodefor the first group of elements.

align4 The ID of the node to be used as an alignment nodefor the second group of elements.

align5 The ID of the node to be used as an alignment nodefor the second group of elements.

align6 The ID of the node to be used as an alignment nodefor the second group of elements.

number The number of solid elements to be createdbetween the two groups of plate elements.

biasstyle The type of biasing to use.

biasing The biasing factor for the mesh.

Example To create 8 solids between plates 10, 11, 12, 13 and 20, 21, 22, 23, withalignment node 1 being node 5 and alignment node 2 being node 6:

*createmark(element,1) 10 11 12 13

*createmark(element,2) 20 21 22 23

*linearsolids(1,2,5,0,0,6,0,0,8)

Comments *createmark() is required and the marks used must contain plate elements.

Page 129: Commands

Altair Engineering, Inc. 127 Command File

*linearsolidsbynodelist()

Creates solid elements between two groups of plane elements, with the layers identified by nodes ina node list.

Syntax *linearsolidsbynodelist(mark1, mark2, align1, align2,align3, align4, align5, align6, nodelist)

Arguments mark1 The ID of the mark containing the first group ofplate elements

mark2 The ID of the mark containing the second groupof plate elements

align1 The ID of the node to be used as an alignmentnode for the first group of elements.

align2 The ID of the node to be used as an alignmentnode for the first group of elements.

align3 The ID of the node to be used as an alignmentnode for the first group of elements.

align4 The ID of the node to be used as an alignmentnode for the second group of elements.

align5 The ID of the node to be used as an alignmentnode for the second group of elements.

align6 The ID of the node to be used as an alignmentnode for the second group of elements.

nodelist The node list to be used to specify the locationsof the layers.

Example To create 8 layers of solids between plates 10, 11, 12, 13 and 20, 21, 22, 23using, as alignment nodes, nodes 5 and 13, and as layer-specifying nodes, 5, 6,7, 8, 9, 10, 11, 12, 13:

*createmark(element,1) 10 11 12 13

*createmark(element,2) 20 21 22 23

*createlist(nodes,1) 5 6 7 8 9 10 11 12 13

*linearsolidsbynodelist(1,2,5,0,0,13,0,0,1)

Comments The nodelist nodes should begin with one belonging to an element on the firstelement mark and end with a corresponding one belonging to an element onthe second element mark.

Page 130: Commands

Command File 128 Altair Engineering, Inc.

*linearsurfacebetweenlines()

Creates a ruled surface between two trimmed line lists, and optionally, prepares it for immediate usewithin the automesher. It can also identify a region in the shape of a ruled surface for theautomesher to use under the mesh without surface option.

Syntax *linearsurfacebetweenlines(linelist1, endpoints1,linelist2, endpoints2, reverse)

Arguments linelist1 The ID of the first list of lines forming oneside of the surface.

endpoints1 The list ID of the list of zero or two nodeswhich lie on the lines in the first line listwhich will be used to trim the line duringsurface creation.

linelist2 The ID of the second list of lines forming theother side of the surface.

endpoints2 The list ID of the list of zero or two nodeswhich lie on the lines in the second line listwhich will be used to trim the line duringsurface creation.

reverse Indicates whether the lines should be testedfor a "bow tie" condition and reversed ifnecessary (1 for yes, 0 for no).

Example To create a surface where lines 7 and 11 form one side, and line 5 trimmed bynodes 37 and 38 forms the other, and not immediately bring the surface into theautomesher:

*surfacemode(4)

*createlist(lines,1) 7 11

*createlist(nodes,1)

*createlist(lines,2) 5

*createlist(nodes,2) 37 38

*linearsurfacebetweenlines(1,1,2,2,1)

Comments All four *createlist() directives are required for this command.

A case in which the surface is brought into the automesher is slightly morecomplicated.

A case in which a region in the shape of a ruled surface is brought into theautomesher to generate a mesh without using a surface is slightly morecomplicated.

Page 131: Commands

Altair Engineering, Inc. 129 Command File

*linearsurfacebetweennodes()

Creates a ruled surface between two node lists, and optionally, prepares it for immediate use withinthe automesher. It can also identify a region in the shape of a ruled surface for the automesher touse under the mesh without surface option.

Syntax *linearsurfacebetweennodes(list1, list2, reverse)

Arguments list1 The ID of the first list of nodes forming one sideof the surface.

list2 The ID of the second list of nodes forming oneside of the surface.

reverse Indicates whether the nodes should be testedfor a "bow tie" condition and reversed ifnecessary (1 for yes, 0 for no).

Example This example identifies a region in the shape of a ruled surface and brings it intothe automesher, creates 32 quad elements, and stores the elements to theHyperMesh database:

*surfacemode(3)

*createlist(nodes,1) 1581 77 83 88 95

*createlist(nodes,2) 225 228 232 235 262

*linearsurfacebetweennodes(1,2,1)

*setedgemeshparams(0,8,0)

*setedgemeshparams(1,4,0)

*setedgemeshparams(2,8,0)

*setedgemeshparams(3,4,0)

*linearmesh(1)

*storeAMelemstodatabase(0)

*ameshclearsurface()

Comments Both *createlist() directives are required for this command.

A case in which an actual surface is created and brought into the automesher isslightly more complicated.

A case in which a surface is created and the automesher is not involved isslightly less complicated.

Page 132: Commands

Command File 130 Altair Engineering, Inc.

*linearsurfacebetweennodesandline()

Creates a ruled surface between a node list and a trimmed line list, and optionally, prepares it forimmediate use within the automesher. It can also identify a region in the shape of a ruled surfacefor the automesher to use under the mesh without surface option.

Syntax *linearsurfacebetweennodesandline(list1, linelist1,endpoints, reverse)

Arguments list1 The ID of the list of nodes forming one side ofthe surface.

linelist1 The ID of the list of lines forming one side of thesurface.

endpoints The list ID of the list of zero or two nodes whichlie on the lines in the line list which will be usedto trim the line during surface creation.

reverse Indicates whether the lines should be tested fora "bow tie" condition and reversed if necessary(1 for yes, 0 for no).

Example This example creates a ruled surface and brings it into the automesher, creates16 quad elements, and stores the elements to the HyperMesh database:

*surfacemode(1)

*createlist(nodes,2) 160 161 164 168 172

*createlist(lines,1) 1

*createlist(nodes,1) 2160 2161

*linearsurfacebetweennodesandline(2,1,1,1)

*setedgemeshparams(0,4,0)

*setedgemeshparams(1,4,0)

*setedgemeshparams(2,4,0)

*setedgemeshparams(3,4,0)

*setfacemeshparams(0,0.5000,0.5000,0.5000,1,0.5000)

*automesh(0,1,1)

*storeAMelemstodatabase(0)

*ameshclearsurface()

Comments All three *createlist() directives are required for this command.

A case in which a region in the shape of a ruled surface is brought into theautomesher to generate a mesh without using a surface is slightly morecomplicated.

Page 133: Commands

Altair Engineering, Inc. 131 Command File

A case in which a surface is created and the automesher is not involved isslightly less complicated.

*linecombine()

Combines two lines into one.

Syntax *linecombine(line1, line2, smooth)

Arguments line1 The first line of the two to be combined.

line2 The second line of the two to be combined.

smooth Indicates whether the lines should be combinedwith a straight line segment or a smooth linesegment if the endpoints of the line do notreside at the same point.

Example To combine line 47 and 34 with a straight segment (if an extra segment isnecessary):

*linecombine(47,34,0)

*linecreatefromnodes()

Creates a line which passes through a list of nodes.

Syntax *linecreatefromnodes(list id, type, break angle, aspect,linear angle)

Arguments list id The ID of the list containing the nodes.

type The type of line being generated.

break angle Specifies the minimum angle allowedbetween three points in a line. If theangle between a point and the twoadjacent points is less than the anglespecified, HyperMesh considers this pointto be a point of discontinuity in the lineand places a joint (will start a newNURBS) at this location.

aspect Specifies the maximum ratio allowed forthe distance between a point and the

Page 134: Commands

Command File 132 Altair Engineering, Inc.

previous point in the line and the distancebetween the same point and the nextpoint in the line. If the ratio of thedistance between the two adjacentsegments exceeds the aspect ratiodefined, HyperMesh places a jointbetween the segments.

linear angle Defines the angle at which HyperMeshshould consider a line straight. Forexample, if the line angle between threeconsecutive points along the line isgreater than the linear angle specified,HyperMesh removes the center pointfrom the line.

Example To create a smooth line which passes through the nodes 1, 2, 3, and 4:

*createlist(nodes,1) 1 2 3 4

*linecreatefromnodes(1,3,0.0,0.0,0.0)

*linedragelements()

Creates a mesh by dragging elements along a line.

Syntax *linedragelements(mark, guide, guideendpoints, plane id,online, ondrag, biasstyle, biasing)

Arguments mark The ID of the mark containing elements.

guide The guide line.

guideendpoints The ID of the list containing the nodeswhich will be used to segment the guideline.

plane id The orientation plane used to orient theline to the guide line.

online The number of elements to be createdalong line.

ondrag The number of elements to be createdalong the drag.

biasstyle The type of biasing to use.

biasing The biasing intensity value.

Page 135: Commands

Altair Engineering, Inc. 133 Command File

*linedraglinetoformsurface()

Drags a trimmed line along a trimmed line to create a surface, and optionally, prepares it forimmediate use within the automesher. It can also identify a region in the shape of a line-draggedsurface for the automesher to use under the mesh without surface option.

Syntax *linedraglinetoformsurface(sectionlinelist,sectionnodelist, draglinelist, dragnodelist, refplane)

Arguments sectionlinelist The ID of the list of lines to bedragged.

sectionnodelist The list ID of the list of zero or twonodes which lie on the lines in thesectionlinelist which will beused to trim the line during surfacecreation.

draglinelist The ID of the list of lines to dragalong.

dragnodelist The list ID of the list of zero or twonodes which lie on the lines in thedraglinelist which will be used totrim the line during surface creation.

refplane The orientation plane used to orientthe section lines to the drag lines.

Example To drag lines 3 & 4 along lines 2 & 1 using the given plane, creating a surface butno elements:

*surfacemode(4)

*createlist(lines,1) 3 4

*createlist(nodes,1)

*createlist(lines,2) 2 1

*createlist(nodes,2)

*createplane(1,0.0000,1.0000,0.0000,0.0000,0.0000,100.0000)

*linedraglinetoformsurface(1,1,2,2,1)

Comments The *surfacemode(4) directive tells HyperMesh not to pass the informationon to the automesher for element creation.

*createlist() and *createplane() are required for this command.

Page 136: Commands

Command File 134 Altair Engineering, Inc.

*linedragnodestoformsurface()

Drags a list of nodes along a trimmed line to create a surface, and optionally, prepares it forimmediate use within the automesher. It can also identify a region in the shape of a line-draggedsurface for the automesher to use under the mesh without surface option.

Syntax *linedragnodestoformsurface(sectionnodelist, draglinelist,dragnodelist, refplane)

Arguments sectionnodelist The ID of the list of nodes to bedragged.

draglinelist The ID of the list of lines to dragalong.

dragnodelist The list ID of the list of zero or twonodes which lie on the lines in thedraglinelist which will be used to trimthe line during surface creation.

refplane The orientation plane used to orientthe section lines to the drag lines.

Example To drag nodes 5, 9, and 10 along lines 2 and 1, trimmed by nodes 29 and 30,and using the given plane, creating a surface but no elements:

*surfacemode(4)

*createlist(nodes,1) 5 9 10

*createlist(lines,2) 2 1

*createlist(nodes,2) 29 30

*createplane(1,0.0000,0.0000,1.0000,0.0000,0.0000,100.0000)

*linedragnodestoformsurface(1,2,2,1)

Comments The *surfacemode(4) directive tells HyperMesh not to pass the informationon to the automesher for element creation.

*createlist() and *createplane() are required for this command.

If one of the surface creation modes has been set, a smooth is put through thenodes to create the surface.

Page 137: Commands

Altair Engineering, Inc. 135 Command File

*linefromsurfedge()

Creates lines by copying one or more surface edges.

Syntax *linefromsurfedge(entity type, mark)

Arguments entity type The type of the entity.

mark The ID of the mark.

Comments If the entity type is surfs, then the face edges of the surfaces on the mark arecopied as free lines.

If the entity type is lines, then the lines are copied as free lines.

*linehandle()

Turns the line handles on or off.

Syntax *linehandle(on)

Argument on Indicates whether the line handles should be on or off (1 foron, 0 for off).

Comments Line handles display the location on the line where it may be picked.

*linemesh_preparedata()

Imports the selected entities into the line meshing package and prepares them for processing.

Syntax *linemesh_preparedata(entities, mark, breakangle)

Arguments entities Either lines or nodes.

mark The ID of the mark which contains the entities tomesh.

breakangle If the angle between the lines’ tangents at a jointis greater than this threshold, the line is split toforce a node that is displayed at that corner. Ifthis threshhold is 0.0, the line is not split.

Example See *linemesh_savedata()

Page 138: Commands

Command File 136 Altair Engineering, Inc.

Comments If the entities are nodes, you can only supply two nodes. If the entities arelines, you can use the breakangle feature to split them at their joints where theangle between the lines’ tangents surpasses the breakangle threshold. Eachcall to *linemesh_preparedata() must be paired with a call to*linemesh_savedata() to clean up memory.

*linemesh_savedata()

Closes the linemesh package and cleans up memory. If specified, the displayed elements arecreated in the HyperMesh database.

Syntax *linemesh_savedata(makeelements, config)

Arguments makeelements 0 The elements are not created.

1 The elements are created.

config The element to create.

Example To process lines 15 and 18 with a 30 degree breakangle (splitting the lines intothree segments) and create rigid elements:

*createmark(lines,1) 15 18

*linemesh_preparedata(lines,1,30)

*linemesh_saveparameters(0,3,0,0)

*linemesh_saveparameters(1,2,0,0)

*linemesh_saveparameters(2,7,0,0)

*linemesh_savedata(1,5)

To mesh between nodes 4 and 5, creating 15 biased plot elements:

*createmark(nodes,1) 4 5

*linemesh_preparedata(nodes,1,0)

*linemesh_saveparameters(0,15,2.5,1)

*linemesh_savedata(1,2)

To mesh between nodes 4 and 5, without creating elements:

*createmark(nodes,1) 4 5

*linemesh_preparedata(nodes,1,0)

*linemesh_savedata(0,2)

Page 139: Commands

Altair Engineering, Inc. 137 Command File

*linemesh_saveparameters()

Assigns the meshing parameters to a specific line segment.

Syntax *linemesh_saveparameters(segment, elementdensity,biasingintensity, biasstyle)

Arguments segment The line segments to which theparameters apply.

elementdensity The number of elements to generate.

biasingintensity The biasing factor.

biasstyle The biasing style.

Example See *linemesh_savedata()

Comments You can adjust the meshing parameters in the interactive panel. Theinformation is written to the command file after pressing return.

*linescombine()

Combines two free surface edges to create one unsuppressed common edge.

Syntax *linescombine(edge1, edge2, edge_tolerance)

Arguments edge1, edge2 Two free surface edges (face edgeswhich are attached to a surface onlyonce).

edge_tolerance The edges must be within this tolerance.

Example To combine edges 101 and 39, using a tolerance of 0.1:

*linescombine(101,39,0.1)

Page 140: Commands

Command File 138 Altair Engineering, Inc.

*lineplot()

Generates a line plot of the currently displayed structure.

Syntax *lineplot(title, full size)

Arguments title The title which should appear on the plot.

full size Determines whether the plot generated is aslarge as the screen (1 for full size, 0 for regularsize).

Example To generate a line plot with the title This is the plot with the menu systemoff the screen:

*lineplot("This is the plot",1)

*linesplitatjoint()

Splits a line at a joint.

Syntax *linesplitatjoint(line, node)

Arguments line The line which should be split.

node The node which represents a position close tothe joint where the line should be split.

Example To split line 10 at node 3:

*linesplitatjoint(10,3)

*linesplitatline()

Splits a group of lines at a line.

Syntax *linesplitatline(mark, cut line)

Arguments mark The ID of the mark which contains thelines to be cut.

cut line The line to which the selected linesshould be cut.

Example To cut lines 14, 15, and 16 to line 12:

Page 141: Commands

Altair Engineering, Inc. 139 Command File

*createmark(lines,1) 14 15 16

*linesplitatline(1,12)

Comments *createmark() is required.

*linesplitatplane()

Splits a group of lines at a plane.

Syntax *linesplitatplane(mark, plane id)

Arguments mark The ID of the mark containing the lines tobe split.

plane id The ID of the plane to be used in the splitoperation.

Example To split lines 10, 11, 12, and 13 to the plane defined by the normal (1.0, 0.0, 0.0)and base at (25.0, 0.0, 0.0):

*createplane(1,1.0,0.0,0.0,25.0,0.0,0.0)

*createmark(lines,1) 10 11 12 13

*linesplitatplane(1,1)

*linesplitatpoint()

Splits a line at an arbitrary point.

Syntax *linesplitatpoint(line, node)

Arguments line The line to be split.

node A node which represents the location on theline where it should be split.

Example To split line 10 at node 3:

*linesplitatpoint(10,3)

Page 142: Commands

Command File 140 Altair Engineering, Inc.

*linessmoothtoangle()

Smooths a line based on a give angle.

Syntax *linessmoothtoangle(mark, cosangle)

Arguments mark The ID of the mark containing the lines tosmooth.

cosangle The cosine of the angle used to determine iftwo joints on a line should be combined(smoothed). If the angle between two jointson a line is greater than the angle the twojoints are combined and smoothed.

Example To smooth all joints on line 1 that have an angle greater than 90 degrees:

*createmark(lines,1) 1

*linessmoothtoangle(1,0)

*linessmoothtotol()

Smooths a line based on a give tolerance.

Syntax *linessmoothtotol(mark, tol)

Arguments mark The ID of the mark containing thelines to smooth.

tol Tolerance used to smooth the lines.

Example To smooth line 1 to within a tolerance of .1

*createmark(lines,1) 1

*linessmoothtotol(1,.1)

Page 143: Commands

Altair Engineering, Inc. 141 Command File

*loadcreate()

Creates a load (force, moment, pressure or constraint) at a node or element.

Syntax *loadcreate(mark, config, type, component 1-6)

Arguments mark The ID of the mark.

config The load configuration.

type The type of load to apply to the entity,1 for force, 2 for moment, 3 forconstraints, 4 for pressure.

component 1-6 Components of the load beingapplied. When applying a force, theactive components are 1, 2, and 3,which represent a force x, y, and zaxis respectively. When applying amoment, the active components arealso 1, 2, and 3, and represent themoment about the x, y, and z axisrespectively. For constraints, all ofthe components are active unlessthey are set equal to -999999.0. Allof the other components of theconstraints are active in therespective directions. Finally, forpressures the active components are1, 2, and 3 which represent the x, y,and z axis respectively. To create apressure which is normal to theelement, set all components to zero.

Example To apply a force of magnitude 10.0 along the x axis to node 5 and 25:

*createmark(nodes,1) 5 25

*loadcreate(nodes,1,1,10.0,0.0,0.0,0.0, 0.0,0.0)

To apply a constraint of zero in the 1, 3, 5, directions to nodes 12, 13, and 14:

*createmark(nodes,1) 12 13 14

*createload(1,1,3,0.0,-999999.0,0.0,-999999.0,0.0,

-999999.0);

Page 144: Commands

Command File 142 Altair Engineering, Inc.

*loadsettypes()

Sets the global load type variable.

Syntax *loadsettypes(loads)

Argument loads The mark which contains the loads to be updated.

Example To set all of the displayed forces to type 5, and all of the displayed moments totype 6:

*loadtypeset(1,5)

*loadtypeset(2,6)

*createmark(loads,1) displayed

*loadsettypes(1)

*loadsize()

Sets the size a load will be when plotted.

Syntax *loadsize(type, size)

Arguments type The type of the load being sized (1 for forces, 2 formoments, 3 for constraints, and 4 for pressures).

size The size in model units in which the loads should beplotted.

Comments The size of forces, moments, and pressures is controlled together. The size ofconstraints may be controlled independently.

*loadstepcreate()

Creates a load step

Syntax *loadstepcreate(name, mark)

Arguments name The name of the load step.

mark The mark containing the load collectors to be added tothe loadstep.

Page 145: Commands

Altair Engineering, Inc. 143 Command File

*loadstepupdate()

Updates a load step

Syntax *loadstepupdate(name, mark)

Arguments name Name of the load step to be updated.

mark The mark containing the load collectors to be containedin the loadstep.

*loadsupdate()

Updates loads.

Syntax *loadsupdate(mark, config, type, updatevector, comp1,comp2, comp3, comp4, comp5, comp6, updatemag, magnitude)

Arguments mark The mark containing the loads to be updated.

config The configuration of the load being updated.

type The type to which the load will be set.

updatevector 1, if the vector of the load is to be updated.

comp1 The first component of the load.

comp2 The second component of the load.

comp3 The third component of the load.

comp4 The fourth component of the load.

comp5 The fifth component of the load.

comp6 The sixth component of the load.

updatemag 1, if the magnitude of the load is to be updated.

magnitude The magnitude of the load.

Page 146: Commands

Command File 144 Altair Engineering, Inc.

*loadtype()

Sets the load types to the current global value.

Syntax *loadtype(config, type)

Arguments config The load configuration which is to have its typechanged.

type The type which the configuration should become.

Example To set the type of forces to 2:

*loadtype(1,2)

Comments After the type has been set, all loads of the corresponding configuration are setto the value of type.

*markcombineelements()

Combines selected plate and shell elements into one quad or tria element.

Syntax *markcombineelements(mark, tolerance, quad or tria)

Arguments mark The ID of the mark containing the elementsto be combined.

tolerance The maximum tolerance allowed before anode within the group of selected elementsis considered to be not on the plane formedby any three nodes attached to the group ofselected elements.

quad or tria A flag designating the type of element youwant to create.

0 tria

1 quad

Example To combine elements 10, 13, and 15 into a tria, using an off-plane tolerance of0.1:

*createmark(elements, 1) 10 13 15

*markcombineelements(1, 0.1, 0)

Comments This command works with two-dimensional elements only.

Page 147: Commands

Altair Engineering, Inc. 145 Command File

*marknodenudge()

Moves nodes along a surface. The nodes must first be associated to a surface.

Syntax *marknodenudge(mark, distance, vector)

Arguments mark The mark containing the nodes to be moved.

distance The distance to move the nodes (in thedirection of the vector).

vector The direction to move the node (in 3-Dspace). This vector is mapped to thesurface before the nodes are moved.

Example To move the node with ID 110 a distance of 10 in the x direction (along thesurface it is associated to):

*createmark(nodes,2) 110

*createvector(1,1.0,0.0,0.0)

*marknodenudge(2,10.0,1)

Comments *createmark() and *createvector() are required for this command.

*markprojecttosurface()

Project entities to a surface.

Syntax *markprojecttosurface(entities, mark, vector, surface)

Arguments entities The type of entity contained on the mark.

mark The ID of the mark.

vector The direction to project the entities.

surface The ID of the surface to project to.

Example To project elements 109 and 131 to surface 1 along the Z-axis:

*createmark(elements,1) 109 131

*createvector(1,0.0000,0.0000,1.0000)

*markprojecttosurface(elements,1,1,1)

Comments *createmark() and *createvector() are required for this command.

Page 148: Commands

Command File 146 Altair Engineering, Inc.

*marksmoothelements()

Applies a smoothing algorithm to a mark of elements for a given number of iterations. Optionally,one or more nodes may be specified as being anchored in place and not movable.

Syntax *marksmoothelements(tosmoothmark, toanchormark,smoothmethod, iterations)

Arguments tosmoothmark The mark of elements to be smoothed.Need not be a contiguous block.

toanchormark The mark of nodes on those elementsthat are not adjustable.

smoothmethod The smoothing method to use. Possiblevalues are 1, 2, 3 or 4 which correspondto autodecide, size corrected, shapecorrected, and angle corrected.

iterations The number of times to apply thesmoothing operator.

Example To smooth elements 100 through 110 twelve times with no nodes fixed:

*createmark(elements,1)100 101 102 103 104 105 106 107 108

109 110

*createmark(nodes,2)

*marksmoothelements(1,2,1,12)

Comments Both of the *createmark() directives are required for this command.

*marksmoothsolids()

Applies a simple smoothing algorithm to reposition the interior floating nodes in a mesh of solidelements, attempting to moderate variations in element size and quality.

Syntax *marksmoothsolids(mark, iterations)

Arguments mark The mark of the solid elements.

iterations The number of times to apply thealgorithm.

Example To smooth some elements for 10 iterations:

*createmark(elements,1) 7 8 9 11 12 13 17 54

Page 149: Commands

Altair Engineering, Inc. 147 Command File

*marksmoothsolids(1,10)

Comments The *createmark() commmand is required.

*marktousermark()

Puts entities on the user mark.

Syntax *marktousermark(entities,mark)

Arguments entities The type of entity contained on the mark.

mark The ID of the mark.

Example To put elements 10,11 and 12 on the user mark:

*createmark(elements,1) 10 11 12

*marktousermark(elements,1)

*maskmark()

Masks entities from the display list.

Syntax *maskmark(entities, mark)

Arguments entities The type of entity contained on the mark.

mark The ID of the mark.

Example To mask elements 10, 11, 12:

*createmark(element,1) 10 11 12

*maskmark(element,1)

Comments *createmark() is required.

Page 150: Commands

Command File 148 Altair Engineering, Inc.

*masknotshown()

Masks all entities which are not marked current on the screen.

Syntax *masknotshown()

*masselement()

Creates a mass element.

Syntax *masselement(mark, mass, property name, system id)

Arguments mark The mark ID which contains nodeswhich should have mass elementscreated on them.

mass The mass of the mass elements.

property name The name of the property to which theelements should point.

system id The ID of the system in which the masselements are built.

*masselementupdate()

Updates mass elements.

Syntax *masselementupdate(mark, update mass, mass, update prop,property, update system, system id)

Arguments mark The mark ID containing masselements to be updated.

update mass To update the mass of the elementsset to 1, otherwise 0.

mass The mass of the mass element.

update prop To update the property of theelements set to 1, otherwise 0.

property The name of the property to which

Page 151: Commands

Altair Engineering, Inc. 149 Command File

the elements should point.

update system To update the system in which theelements are built set to 1, otherwise0.

system id The ID of the system in which theelements are built.

*materialupdate()

Updates the material pointer on components and property collectors.

Syntax *materialupdate(entity type, mark, material)

Arguments entity type The type of the entities in the mark.

mark The ID of the mark containing theentities which will have their materialpointers updated.

material The name of the material.

Example To update the components part1, part2, and part3, so that they point tomaterial mat1:

*createmark(components,1) part1 part2 part3

*materialupdate(component,1,mat1)

*menufont()

Sets the size of the menu font.

Syntax *menufont(size)

Argument size The size of the font to be used for themenu (1 - smallest, 4 - largest).

Page 152: Commands

Command File 150 Altair Engineering, Inc.

*meshdragelements()

Creates elements by dragging elements along a vector.

Syntax *meshdragelements(mark id, vector id, distance, ondrag,biasstyle, biasing)

Arguments mark id The ID of the mark containing theelements to be dragged.

vector id The ID of the vector along which theelements should be dragged.

distance The distance which the elements shouldbe dragged.

ondrag The number of elements to create alongthe drag.

biasstyle The kind of biasing to use.

biasing The biasing intensity value.

Example To create 5 elements by dragging elements 10 and 11 along a vector defined by(1.0, 0.0, 0.0) a length of 50 units:

*createvector(1,1.0,0.0,0.0)

*createmark(elements,1) 10 11

*meshdragelements(1,1,50.0,5)

Comments *createmark() and *createvector() are required.

If plate elements are selected, solid elements are generated.

If line elements are selected, plate elements are generated.

*meshmode()

Sets the mesh line display mode.

Syntax *meshmode(displaylist, mode, plot)

Arguments displaylist The display list in which the mesh modeis being set.

mode The mesh line mode.

plot 1, if the display should be drawn afterthe mesh mode is set.

Page 153: Commands

Altair Engineering, Inc. 151 Command File

*meshspinelements()

Creates a mesh by spinning elements about a plane normal.

Syntax *meshspinelements(mark, plane id, angle, onspin,biasstyle, biasing)

Arguments mark The ID of the mark containing theelements to spin.

plane id The ID of the plane about whosenormal the selected elements arespun.

angle The angle through which theelements should be spun.

onspin The number of elements whichshould be created as the selectedelements are spun.

biasstyle The type of biasing to use.

biasing The biasing intensity value.

Example To create 5 elements by spinning elements 10, 11, 12, and 13 about the planenormal defined by (0.0, 0.0, 1.0) and based at (20.0, 20.0, 0.0) through an angleof 90.0 degrees:

*createplane(0.0,0.0,1.0,20.0,20.0,0.0)

*createmark(element,1) 10 11 12 13

*meshspinelements(1,1,90.0,5)

Comments *createplane() and *createmark() are required.

*minmaxtitlemove()

Moves a minimum or maximum title.

Syntax *minmaxtitlemove(xmin, ymin, xmax, ymax, type, minmax)

Arguments xmin The x value of the upper left corner of the title(0.0 - 1.0).

xmin The y value of the upper left corner of the title

Page 154: Commands

Command File 152 Altair Engineering, Inc.

(0.0 - 1.0).

xmax The x value of the lower right corner of the title(0.0 - 1.0).

ymax The y value of the lower right corner of the title(0.0 - 1.0).

type 0, node title (contour plot) 1, element title(assigned plot)

minmax 0, minimum title 1, maximum title

*minmaxtitlesetcolor()

Sets the color of a minimum or maximum title.

Syntax *minmaxtitlesetcolor(color, type, minmax)

Arguments color The color to which the title should beset.

type 0, node title (contour plot) 1, elementtitle (assigned plot)

minmax 0, minimum title 1, maximum title

*minmaxtitlesetfont()

Sets the font of a minimum or maximum title.

Syntax *minmaxtitlesetfont(font, type, minmax)

Arguments font The font number for the descriptor (1-4).

type 0, node title (contour plot) 1, element title(assigned plot)

minmax 0, minimum title 1, maximum title

Page 155: Commands

Altair Engineering, Inc. 153 Command File

*mode()

Sets the operations performed when a full-size plot is generated in a command file.

Syntax *mode(type)

Argument type Defines the mode or operations performed when afull-size plot is generated from a command file.

0 This is the default action;HyperMesh will wait for a key on themouse to be struck beforecontinuing.

1 Generates a screen copy or a paperplot of the picture generated on thescreen.

2 Generates a file containing thecontents of the screen buffer.

3 Generates a PostScript paper copyof the currently displayed screen.

4 Generates a PostScript file of thecurrently displayed screen.

5 A value of five or greater causesHyperMesh to pause for that numberof seconds before continuing.

Example To pause for 10 seconds after a full-size plot is performed, place the followingcommand before the full-size plot request:

*mode(10)

*movemark()

Moves entities from one collector to another.

Syntax *movemark(entity type, mark, collector name)

Arguments entity type The type of entities contained on themark.

mark The ID of the mark containing theentities to be moved.

collector name The name of the collector into whichthe entities will be moved.

Page 156: Commands

Command File 154 Altair Engineering, Inc.

Example To move systems 4, 8, and 12 into collector oldsyst:

*createmark(systems,1) 4 8 12

*movemark(systems,1,oldsyst)

Comments This command can be used with elements, lines, systems, and loads.

*nameview()

Gives a name to a view.

Syntax *nameview(number, name)

Arguments number View number (1 - 5)

name Name of view (max 16 characters).

Example To assign the name primary to view 1:

*nameview(1,"primary")

*nodeaddtempmark()

Adds nodes to the temporary node mark.

Syntax *nodeaddtempmark(node)

Argument node The node to be added to thetemporary node mark.

*nodecleartempmark()

Clears all of the nodes from the temporary node mark.

Syntax *nodecleartempmark()

Page 157: Commands

Altair Engineering, Inc. 155 Command File

*nodecreateonlines()

Creates a user-defined number of nodes on a line.

Syntax *nodecreateonlines(entities, mark, number, biasstyle,biasingintensity)

Arguments entities The entities contained on the mark.For this operator this value must belines.

mark The mark containing the lines whichwill have nodes created on them.

number The number of nodes which shouldbe created on each line.

biasstyle The type of biasing to use.

biasingintensity The biasing intensity value.

Example To create 5 nodes on lines 10, 11, 12, and 13:

*createmark(lines,1) 10 11 12 13

*nodecreateonlines(lines,1,5)

Comments *createmark() is required for this command.

*nodelistcreatebetween()

Creates a user-specified number of nodes between selected nodes.

Syntax *nodelistcreatebetween(nodelist, numberofnodes, biasstyle,biasingintensity)

Arguments nodelist The mark containing the list of nodesthat are to have nodes createdbetween them.

numberofnodes The number of nodes to be createdbetween the selected nodes.

biasstyle The type of biasing to use.

biasingintensity The biasing intensity value.

Page 158: Commands

Command File 156 Altair Engineering, Inc.

*nodemarkaddtempmark()

Places a node on the temporary node mark.

Syntax *nodemarkaddtempmark(mark)

Argument mark The ID of the mark that contains thenodes to be placed on the temporarynode mark.

Example To place nodes 100, 101, 102, and 103 on the temporary node mark:

*createmark(nodes,1) 100 101 102 103

*nodemarkaddtempmark(1)

Comments Placing nodes on the temporary mark prevents nodes from being deleted andidentifies temporary nodes with a yellow circle.

*nodemarkcleartempmark()

Clears a group of nodes from the temporary node mark.

Syntax *nodemarkcleartempmark(mark)

Argument mark The ID of the mark containing thenodes to be removed from thetemporary node mark.

Example To remove nodes 6, 7, and 8 from the temporary node mark:

*createmark(nodes,1) 6 7 8

*nodemarkcleartempmark(1)

Comments *createmark() is required.

Page 159: Commands

Altair Engineering, Inc. 157 Command File

*nodemodify()

Modifies the location of a node in space.

Syntax *nodemodify(nodeid, x, y, z)

Arguments nodeid The ID of the node to be modified.

x The new x coordinate of the node.

y The new y coordinate of the node.

z The new z coordinate of the node.

Example To modify the location of node 1 to be x = 10.0, y = 20.0, z = 30.0:

*nodemodify(1,10.0,20.0,30.0)

*nodeplaceatxyz()

Moves a node to a location on a surface and associates the node to the surface.

Syntax *nodeplaceatxyz(node, surface, location)

Arguments node The ID of the node.

surface The ID of the surface to which thenode should be associated.

location The location of the point on thesurface where the node is to bemoved.

Example To move node 115 to surface 1 at location (75,30,86):

*nodeplaceatxyz(115,1,75,30,86)

Page 160: Commands

Command File 158 Altair Engineering, Inc.

*nodesassociatetosurface()

Moves and associates nodes to a surface. The closest point on the surface will be found for eachnode.

Syntax *nodesassociatetosurface(mark, surface, tolerance)

Arguments mark The mark containing the nodes to beassociated.

surface The ID of the surface the nodes areto be associated to.

tolerance The tolerance the nodes must bewithin before they will be moved andassociated to the surface.

Example To move and associate nodes 77 and 201 to surface 1:

*createmark(nodes,1) 77 201

*nodesassociatetosurface(1,1,.1)

Comments *createmark() is required for this command.

*normalsadjust()

Adjusts the normals of the selected two-dimensional elements according to the normal of anorientation element.

Syntax *normalsadjust(entity type, mark, element, size,displayadjustedonly)

Arguments entity type The type of entity contained on themark. Valid types for this operationare components or elements.

mark The ID of the mark containing theelements whose normals should beadjusted.

element The ID of the orientation element.

size The size in model units of the normal.

displayadjustedonly Set to 0 to show add elements’normals at the end of the command.

Set to 1 to limit the display to onlythose elements that have changed.

Page 161: Commands

Altair Engineering, Inc. 159 Command File

Example To adjust the normals of all of the elements in component plate based on thenormal of element 54 with a displayed size of 10.0 units:

*createmark(components,1) plate

*normalsadjust(components,1,54,10.0,1)

Comments All of the elements selected must be connected.

*normalsdisplay()

Displays the normals of the selected entities.

Syntax *normalsdisplay(entity type, mark, size)

Arguments entity type The type of entity contained on themark. Valid types are elements orcomponents.

mark The ID of the mark.

size The size in model units of the normal.

Example To display the normals of all of the elements in component washer with adisplayed size of 10.0 units:

*createmark(components,1) washer

*normalsdisplay(components,1,10.0)

*normalsreverse()

Reverses the normals of a two-dimensional element.

Syntax *normalsreverse(entity type, mark, size)

Arguments entity type The type of entity contained on themark. Valid types are elements orcomponents.

mark The ID of the mark.

size The size in model units of the normal.

Example To reverse the normal of element 15 using a display size of 10.0:

*createmark(element,1) 15

*normalsreverse(elements,1,10.0)

Page 162: Commands

Command File 160 Altair Engineering, Inc.

*numbers()

Turns the numbers mark on or off.

Syntax *numbers(on)

Argument on Determines whether the numbers mark is turned on oroff (1 for on, 0 for off).

*numbersclear()

Clears all of the entities out of the numbers mark.

Syntax *numbersclear()

*numbersmark()

Places the entities in the mark on the numbers mark. This will display the ID of the entity.

Syntax *numbersmark(entity type, mark, on)

Arguments entity type The type of entity contained on themark.

mark The ID of the mark.

on Determines whether the entities willbe placed on the numbers mark orremoved from the numbers mark (1 toput on, 0 to remove).

Example To place nodes 5, 6, and 7 on the numbers mark:

*createmark(nodes,1) 5 6 7

*numbersmark(nodes,1,1)

Page 163: Commands

Altair Engineering, Inc. 161 Command File

*orderchangetofirst()

Converts second order elements to first order.

Syntax *orderchangetofirst(mark)

Argument mark The ID of the mark which contains theelements to be converted.

*orderchangetosecond()

Converts first order elements to second order.

Syntax *orderchangetosecond(mark)

Argument mark The ID of the mark that contains the elementsto be converted.

*outputblockcreate()

Creates an output block.

Syntax *outputblockcreate(name, type mark)

Arguments name Name of the output block.

type The type of the entity contained in theoutput block.

mark The mark containing the entities to beadded to the output block.

Page 164: Commands

Command File 162 Altair Engineering, Inc.

*outputblockupdate()

Updates a output block

Syntax *loadstepupdate(name, type, mark)

Arguments name Name of the output block to be updated.

type The type of the entity contained in theoutput block.

mark The mark containing the entities to becontained in the output block.

*permutemark()

Permutes the entities on a mark.

Syntax *permutemark(entity type, mark, type)

Arguments entity type The type of entities contained on themark.

mark The ID of the mark which holds theentities to be permuted.

type The type of action which should betaken (0 - swap x with y, 1 - swap xwith z, 2 - swap y with z).

Example To permute elements 10, 11, and 12 switching the x and y values:

*createmark(elements,1) 10 11 12

*permutemark(elements,1,0)

Comments *createmark() is required.

*picktoleranceset()

Sets the picking tolerance in pixels which the cursor must be within before an entity is selected.

Syntax *picktoleranceset(tolerance)

Argument tolerance The tolerance in pixels.

Page 165: Commands

Altair Engineering, Inc. 163 Command File

*plot()

Plots the current model.

Syntax *plot()

*plotaxisnodes()

Plots a curve based on the values of marked nodes ordered along an axis.

Syntax *plotaxisnodes(mark, axis)

Arguments mark The active mark.

axis The axis index (0 = X, 1 = Y, 2 = Z)

Example *createmark(nodes,1) 167 171 175

*plotaxisnodes(1,0)

Comments In order to work, there must be an existing contour and at least one node on themark. Values on the curve are ordered according to their distance along theselected axis.

*plotcuttingplane()

Creates a curve containing the contour value at each node along the temporary elements that makeup the edge of the cut.

Syntax *plotcuttingplane (basex, basey, basez)

Argument basex, basey, basez Coordinates of the base node defining thecutting plane.

Example *contourplot (“ “, 0, 0, 0, 0, 1, 0, 0, 0,”total disp”, 1, 0, 0)

*setcuttingplane(0.203283796, 0.717773806, -0.665940284,888.07, 562, 431.728)

*plotcuttingplane(888.070007, 562, 431.727997)

Comments In the results curve panel, in standard graphics, it is possible to cut the contouredmodel with an arbitrary plane. The X value of the curve represents the distance alongthe cut from the node on the nearest free edge to the base node that defined the cut.This starting node is indicated by a white circle drawn around it on the model. Unlessthe cutting plane is angled to intersect nodes only , interpolated values are usedwhere necessary.

If the cutting plane creates multiple isolated segments, multiple curves are generated.*plotcuttingplane() does not process solid (3-D) elements.

Page 166: Commands

Command File 164 Altair Engineering, Inc.

*plotinfotitlemove()

Moves the plot information title.

Syntax *plotinfotitlemove(xmin, ymin, xmax, ymax)

Arguments xmin The x value of the upper left corner of the title (0.0 - 1.0).

ymin The y value of the upper left corner of the title (0.0 - 1.0).

xmax The x value of the lower right corner of the title (0.0 - 1.0).

ymax The y value of the lower right corner of the title (0.0 - 1.0).

*plotinfotitlesetcolor()

Sets the color of the plot information title.

Syntax *plotinfotitlesetcolor(color)

Argument color Set the title to this color

*plotinfotitlesetfont()

Sets the font of the plot information title.

Syntax *plotinfotitlesetfont(font)

Argument font The font number for the descriptor (1-4)

*plotinfotitlesettext()

Sets the text to be displayed in the plot information title.

Syntax *plotinfotitlesettext(text)

Argument text The text that is displayed in the plot information title.

Page 167: Commands

Altair Engineering, Inc. 165 Command File

*plotnodelist()

Plots a curve based on the values of a contour along a list of nodes.

Syntax *plotnodelist(listid)

Argument listid The id of the active node list.

Example *contourplot("",0,0,0,0,0,1,0,0,"total disp",1,0,0)

*xyplotsetcurrent("untitled1")

*createlist(nodes, 1) 1601 1600 1599 1598

*plotnodelist(1)

Comments In order to work, there must be an existing contour and a list of nodes (notnodes on a mark).

*plottitlemove()

Moves the plot title.

Syntax *plottitlemove(xmin, ymin, xmax, ymax)

Arguments xmin The x value of the upper left corner of the plot title (0.0 - 1.0).

ymin The y value of the upper left corner of the plot title (0.0 - 1.0).

xmax The x value of the lower right corner of the plot title (0.0 - 1.0).

ymax The y value of the lower right corner of the plot title (0.0 - 1.0).

*plottitlesetcolor()

Sets the color of the plot title.

Syntax *plottitlesetcolor(color)

Argument color The color to which the title should beset.

Page 168: Commands

Command File 166 Altair Engineering, Inc.

*plottitlesetfont()

Sets the font for the plot title.

Syntax *plottitlesetfont(font)

Argument font The font ID for the plot title (1-4).

*plottitlesettext()

Sets the text for the plot title.

Syntax *plottitlesettext(text)

Argument text The text which should be displayed in the plottitle.

*positionmark()

Positions a group of entities in space.

Syntax *positionmark(entity type, mark, node1-6)

Arguments entity type The type of entities contained on themark.

mark The ID of the mark which contains theentities to be positioned.

node1-6 The nodes 1-6 are used to positionthe entities in space. Positioningattempts to align the first set of threenodes to the second set of threenodes (1-3 to 4-6).

Page 169: Commands

Altair Engineering, Inc. 167 Command File

*postscriptcopy()

Allows you to create a PostScript representation of the screen and send it to the printer.

Syntax *postscriptcopy()

Comments When the *postscriptcopy() command is written to the commandfile by HyperMesh, the asterisk is not written with the command. Inorder for the *postscriptcopy() command to be executed whenthe command file is rerun, you must place an asterisk, *, in front of thecommand.

*postscriptcopyblackandwhite()

Allows you to create a black and white PostScript representation of the screen and send it to theprinter.

Syntax *postscriptcopyblackandwhite()

Comments When the *postscriptcopyblackandwhite() command is written to thecommand file by HyperMesh, the asterisk is not written with the command. Inorder for the *postscriptcopy() command to be executed when thecommand file is rerun, you must place a an asterisk, *, in front of thecommand.

*postscriptfile()

Allows you to create a PostScript representation of the screen and save it in a file.

Syntax *postscriptfile()

Comments When the *postscriptfile() command is written to the commandfile by HyperMesh, the asterisk is not written with the command. Inorder for the *postscriptfile() command to be executed whenthe command file is rerun, you must place an asterisk, *, in front of thecommand.

Page 170: Commands

Command File 168 Altair Engineering, Inc.

*postscriptreset()

Resets internal HyperMesh postscript variables.

Syntax *postscriptreset()

Comments When a postscript plot is created in one of the post-processing panels,HyperMesh places a postscriptreset into the command file when youexit the panel.

*pressures()

Creates pressure loads on elements.

Syntax *pressures(mark, face nodes, x comp, y comp, z comp,magnitude, break angle, on face)

Arguments mark The ID of the mark containingelements which should havepressures applied to them.

face nodes The ID of the mark containing nodeswhich lie on the face of one or moreelements (solids only).

x comp The x component of the pressure.

y comp The y component of the pressure.

z comp The z component of the pressure.

magnitude The magnitude of the pressure.

break angle The break angle of a solid face.

on face A logical which determines whetherpressures are being applied to faces.

Comments If you set x comp, y comp, or z comp to zero, a pressure is applied. If youassign a value to x comp, y comp, or z comp, a traction is applied.

Page 171: Commands

Altair Engineering, Inc. 169 Command File

*projectmarktoplane()

Projects a group of entities to a plane.

Syntax *projectmarktoplane(entity type, mark, plane, vector,toplane)

Arguments entity type The type of entities contained on themark.

mark The ID of the mark containing theentities to be projected.

plane The ID of the plane to which theentities will be projected.

vector The vector along which the entitieswill be projected.

toplane A flag indicating if the entities shouldbe projected to the plane or to thenormal of the plane (1 for plane, 0 fornormal).

Example To project elements 10, 11, 12, 13 to the plane with a normal of (1.0, 0.0, 0.0)based at the origin along the vector (1.0, 1.0, 1.0):

*createmark(element,1) 10 11 12 13

*createplane(1,1.0,0.0,0.0,0.0,0.0,0.0)

*createvector(1.0,1.0,1.0)

*projectmarktoplane(element,1,1,1,1)

Comments *createmark() , *createplane() , and *createvector() are required.

Page 172: Commands

Command File 170 Altair Engineering, Inc.

*propagatesplithexas()

Given a hexa element and two nodes diagonally across a face of that element, splits the hexaaccording to a set pattern and propagates that split to any hexa adjoining the opposite face of thehexa and so on through the displayed elements of the database.

Syntax *propagatesplithexas(splittype, startelement, n1, n2)

Arguments splittype A number between 1 and 6 identifying the splittingpattern to use.

1 Two pentas (split along the diagonalformed by n1 and n2).

2 Penta & hexa (with the penta to the left ofthe diagonal).

3 Hexa & penta (with the penta to the right ofthe diagonal).

4 Two hexas (split from the right of n1 to theleft of n2).

5 Three hexas (split from n1 to both sidesadjacent to n2).

6 Four hexas (split in a plus pattern).

startelement The starting hexa element.

n1 One of the nodes defining the starting face of thehexa.

n2 The other node defining the starting face of thehexa.

Example To split a column of hexas into paired pentas starting with element 205, wherenodes 1015 and 1017 are diagonally opposite from each other across one face ofthe hexa:

*propagatesplithexas(1,205,1015,1017)

Comments The hexa elements can be first or second order and need not all be the sameorder.

Page 173: Commands

Altair Engineering, Inc. 171 Command File

*quatrotate()

Defines a rotation about the vector [x, y, z].

Syntax *quatrotate()

Example *quatrotate(-0.000125576946, 0.0107329493, -0.000656577404, 0.999942177)

Comments The model is rotated about the matrix created from the given quaternion.

*quit()

Stops the execution of a command file.

Syntax *quit(exit)

Argument exit Set to 1 if HyperMesh should exitwhen this command is executed.

Comments This command can be used to terminate the execution of a command file.Although HyperMesh writes this command to the command file when a sessionis quit, it will not terminate execution of HyperMesh when it is executed from acommand file unless the parameter is set to 1.

*rbe3()

Creates an RBE3 element between a dependent node and multiple independent nodes.

Syntax *rbe3(mark, independentdofs, dofsize, independentweights,weightsize, dependent, dof, weight)

Arguments mark The ID of the mark containing theindependent nodes.

independentdofs The ID of the array containing thedegrees of freedom for which eachrespective independent node of theelement is active (any of the digits 1-6).

dofsize The size of the independentdofs

Page 174: Commands

Command File 172 Altair Engineering, Inc.

array.

independentweights The ID of the array containing theweight for each respectiveindependent node.

weightsize The size of the independentweightsarray.

dependent The dependent node of the element.

dof The degree of freedom code forwhich thedependent node of theelement is active (any of the digits 1-6).

weight The weight assiged to the dependentnode.

Example To create an RBE3 element with dependent node 100 andindependent nodes101, 102, and 103 with all of the nodeshaving all six degrees of freedom and aweight of 1.23:

*createmark(nodes,1) 101 102 103

*createarray(3) 123456 123456 123456

*createdoublearray(3) 1.230000 1.230000 1.230000

*rbe3(1,1,3,1,3,100,123456,1.23)

Comments A *createmark() command is required to define the mark. A*createarray() and *createdoublearray() are required to define thedegree of freedom codes and weights for the independent nodes.

*rbe3update()

Updates the connectivity and properties of an RBE3 element.

Syntax *rbe3update(element, mark, independentdofs, dofsize,independentweights, weightsize, dependent, dof, weight)

Arguments element The ID of the RBE3 element toupdate.

mark The ID of the mark containing the(possibly new) independent nodes.

independentdofs The ID of the array containing thedegree of freedom code for whicheach respective independent node of

Page 175: Commands

Altair Engineering, Inc. 173 Command File

the element is active (any of the digits1-6).

dofsize The size of the independentdofsarray.

independentweights The ID of the array containing theweight for each respectiveindependent node.

weightsize The size of the independentweightsarray.

dependent The (possibly new) dependent nodeof the element.

dof The degree of freedom code forwhich the dependent node of theelement is active (any of the digits 1-6).

weight The weight for the dependent node.

Example To update RBE3 element 18 with dependent node 104 and independent nodes100, 101, 102, and 103 with all of the nodes having a degree of freedom code of123 and a weight of 2.31:

*createmark(nodes,2) 100 101 102 103

*createarray(4) 123 123 123 123

*createdoublearray(4) 2.310000 2.310000 2.310000 2.310000

*rbe3update(18,2,1,4,1,4,104,123,2.31)

Comments A *createmark() command is required to define the mark. A*createarray() and *createdoublearray() are required to define thedegree of freedom codes and weights for the independent nodes.

*rbe3updatealldofs()

Updates all of the independent nodes degree of freedom code to one value and the dependentnodes degrees of freedom code to another value for an RBE3 element.

Syntax *rbe3updatealldofs(element, idofs, ddof)

Arguments element The ID of the RBE3 element toupdate.

idofs The degree of freedom code forwhich all independent nodes of theRBE3 element is active (any of the

Page 176: Commands

Command File 174 Altair Engineering, Inc.

digits 1-6).

ddof The degree of freedom code forwhich the dependent node of theelement is active (any of the digits 1-6).

Example To update RBE3 element 18 with all of the independent nodes having a degreeof freedom code of 123456 and the dependent node having a degree of freedomcode of 123:

*rbe3updatealldofs(18,123456,123)

*rbe3updateallwts()

Updates the weight of all independent nodes to one value and the weight of the dependent node toanother value for an RBE3 element.

Syntax *rbe3updateallwts(element, iweights, dweight)

Arguments element The ID of the RBE3 element toupdate.

iweights The weight assigned for allindependent nodes of theRBE3element.

dweight The weight assigned for thedependent node of the RBE3element.

Example To update RBE3 element 18 with all of the independent nodes having a weight of1.432 and the dependent node having a weight of 0.000:

*rbe3updateallwts(18,1.432,0.0)

*rbe3updatedofs()

Updates the degree of freedom codes for the specified independent nodes and the dependent nodefor an RBE3 element.

Syntax *rbe3updatedofs(element, changed_dofs, nrows, ncols, ddof)

Arguments element The ID of the RBE3 element toupdate.

changed_dofs The ID of a 2 dimensional array.

Page 177: Commands

Altair Engineering, Inc. 175 Command File

Each row contains the ID of anindependent node of the RBE3element and the degree offreedomcode for which that node isactive (any of the digits 1-6).

nrows The number of rows in thechanged_dofs array.

ncols The number of columns in thechanged_dofsarray (must always be2).

ddof The degree of freedom code forwhich the dependent node of theelement is active (any of the digits 1-6).

Example To update RBE3 element 18 with the independent nodes 100, and 101 having adegree of freedom code of 12345 and independent node 102 having a degree offreedom code of 1234 and the dependent node having a degree of freedom codeof 123:

*createintarray2d(3,2) 100 12345 101 12345 102 1234

*rbe3updatedofs(18,1,3,2,123)

Comments A *createintarray2d() command is required to define the pairing ofindependent node and new degree of freedom code for that node.

*rbe3updatewts()

Updates the weights for the specified independent nodes and the dependent node for an RBE3element.

Syntax *rbe3updatewts(element,changed_nodes,nodesize,changed_weights,weightsize,dweight)

Arguments element The ID of the RBE3 element toupdate.

changed_nodes The ID of an array containing theindependent nodes of an RBE3element whose weights are to beupdated.

nodesize The size of the changed_nodes array.

changed_weights The ID of an array containing theweights for the respective

Page 178: Commands

Command File 176 Altair Engineering, Inc.

independent nodes specified in thechanged_nodes array.

weightsize The size of the changed_weightsarray.

dweight The weight assigned for thedependent node of the RBE3element.

Example To update RBE3 element 18 with the independent nodes 100, and 101 having aweight of 1.0 and independent node 102 having a weight of 1.5 and thedependent node having a weight of 1.0:

*createarray(3) 100 101 102

*createdoublearray(3) 1.0 1.0 1.5

*rbe3updatewts(18,1,3,1,3,1.0)

Comments A *createarray() and *createdoublearray() command are required todefine the pairing of independent node and new weight for that node.

*readfile()

Reads a binary HyperMesh database.

Syntax *readfile(filename)

Argument filename The name of the file to be read.

Example To read the file named mymodel.hm:

*readfile(mymodel.hm)

Comments If a model is already loaded and if a change has been made to the model,HyperMesh asks for confirmation because the loaded model will be deleted.

*reflectmark()

Reflects a mark about a plane.

Syntax *reflectmark(entity type, mark, plane id)

Arguments entity type The type of entity contained on themark.

Page 179: Commands

Altair Engineering, Inc. 177 Command File

mark The ID of the mark which holds theentities to be reflected.

plane id The ID of the plane which will beused to reflect the entities about.

Example To reflect element 15 about a plane normal to the x axis with base at the origin:

*createplane(1,1.0,0.0,0.0,0.0,0.0,0.0)

*createmark(element,1) 15

*reflectmark(elements,1,1)

Comments *createplane() is required for this command.

*rejectmark()

Rejects the entities held on the reject mark.

Syntax *rejectmark()

*rejectmesh()

Discards a generated mesh (if any) for the specified face while still within the automeshing module.

Syntax *rejectmesh(faceindex)

Argument faceindex The index of the face into theparticular surface underconsideration.

Comments Must precede any call to *storeAMelemstodatabase() for the givenfaceindex.

Page 180: Commands

Command File 178 Altair Engineering, Inc.

*remap()

Remaps a list of nodes to a line.

Syntax *remap(nodelist, linelist, endpoints)

Arguments nodelist The list of nodes to be remapped.

linelist The list of lines to which the nodeswill be remapped.

endpoints The end points of the line list.

*renamecollector()

Renames a collector.

Syntax *renamecollector(entity type, collector name, new name)

Arguments entity type The type of collector being renamed.

collector name The name of the collector to berenamed.

new name The new name which should beassigned to the collector.

Example To rename component oldname to newname:

*renamecollector(component,oldname,newname)

*renamecollectorbyid()

Renames a collector to its ID.

Syntax *renamecollectorbyid(entity type, prefix)

Arguments entity type The type of collector being renamed.

prefix A prefix which will be inserted beforethe ID of the collector.

Page 181: Commands

Altair Engineering, Inc. 179 Command File

*renamefile()

Renames a file.

Syntax *renamefile(oldname, newname)

Arguments oldname The current name of the file beingrenamed.

newname The new name for the file.

Example To rename the file junk to stuff:

*renamefile(junk,stuff)

*renumber()

Renumbers entities.

Syntax *renumber(entity type, mark, start id, increment by,offset value, offset)

Arguments entity type The type of entity being renumbered.

mark The ID of the mark where the entitiesto be renumbered have been placed.

start id The starting ID of renumber.

increment by The increment by which the IDsshould be spaced.

offset value The value by which the entity IDsshould be offset.

offset Set to 1 if the IDs should only beoffset. If set to 0, the IDs arerenumbered.

Example To renumber the nodes in a data base from 100 with an increment of 1:

*createmark(nodes,2) displayed

*renumber(nodes,2,100,1,0,0)

Page 182: Commands

Command File 180 Altair Engineering, Inc.

*renumberall()

Renumbers all entities.

Syntax *renumberall(start id, increment by, offset value,offset).

Arguments start id The starting ID of renumber.

increment by The increment by which the IDs should bespaced.

offset value The value by which the entity IDs should beoffset.

offset Set to 1 if the IDs should only be offset. Ifset to 0, the IDs are renumbered.

Example To renumber all entities in a data base from 100 with an increment of 1:

*renumberall (100, 1, 0, 0).

*reparammark()

Reparameterizes the lines on a mark.

Syntax *reparammark(mark)

Argument mark The ID of the mark containing thelines to be reparameterized.

*replacenodes()

Replaces a node with another node.

Syntax *replacenodes(node1, node2, replace, midsides)

Arguments node1 The ID of the node to be replaced.

node2 The ID of the node to replace node1.

replace Determines if the node is replaced ormoved (1 replaces, 0 moves).

midsides Determines if the node is replaced at

Page 183: Commands

Altair Engineering, Inc. 181 Command File

the midpoint (if 1, node2 replacesnode1 at the midpoint; if 0, node2replaces node1 at node1).

Example To replace node 20 with node 21:

*replacenodes(20,21,1,0)

*replay()

Reloads and displays a replay file.

Syntax *replay(file1, file2)

Arguments file1 The name of the file containing aHyperMesh replay.

file2 The name of the file containing aHyperMesh replay.

Example To replay a replay file named replay.1:

*replay(replay.1,)

Comments On a 3-D platform, if both file names are specified, HyperMesh animates bothreplay files side by side. On a 2-D platform, HyperMesh ignores the second filename.

Once a replay session has begun, the user must select exit from the animationsubpanel.

*resize()

Sets the resize flag in HyperMesh.

Syntax *resize(on)

Argument on Set to 0 if the full-size plots should not beresized to the size of the window; otherwise,set to 1.

Page 184: Commands

Command File 182 Altair Engineering, Inc.

*restoreview()

Restores the previously saved view.

Syntax *restoreview(view number)

Argument view number The number of the view (1-3).

Comments The view specified must have been previously saved with *saveview() .

*return()

Defines the end of a user-defined function.

Syntax *return()

Example The user-defined function makeplot requires a return statement:

*function(makeplot)

<user commands>

*return()

Comments Requires a *function() command.

*reversecuttingplane()

Reverses the normal of the cutting plane.

Syntax *reversecuttingplane()

*rigid()

Creates a rigid element between two nodes.

Syntax *rigid(independent, dependent, dofs)

Arguments independent The independent node of theelement.

Page 185: Commands

Altair Engineering, Inc. 183 Command File

dependent The dependent node of the element.

dofs The degrees of freedom for which theelement is active (any of the digits 1-6).

Example To create a rigid element between nodes 100 and 101 in all six degrees offreedom:

*rigid(100,101,123456)

*rigidlink()

Creates a rigid link element between an independent node and multiple dependent nodes.

Syntax *rigidlink(independent, mark, dofs)

Arguments independent The independent node of the element.

mark The ID of the mark containing the dependentnodes.

dof The degree of freedom code for which all of nodesof the element are active (any of the digits 1-6).

Example To create a rigid link element with independent node 100 and dependent nodes101, 102, and 103 with nodes having all six degrees of freedom:

*createmark(nodes,2) 101 102 103

*rigidlink(100,2,123456)

Comments A *createmark() command is required to define the mark.

*rigidlinkupdate()

Updates the connectivity and properties of a rigid link element.

Syntax *rigidlinkupdate(element, independent, mark)

Arguments element The ID of the rigid link element toupdate.

independent The (possibly new) independent nodeof the element.

Page 186: Commands

Command File 184 Altair Engineering, Inc.

mark The ID of the mark containing the(possibly new) dependent nodes.

Example To update rigid link element 18 with independent node 104 and dependent nodes100, 101, 102, and 103:

*createmark(nodes,1) 100 101 102 103

*rigidlinkupdate(18,104,1)

Comments A *createmark() command is required to define the mark.

*rigidscombine()

Combines rigids and rigidlinks.

Syntax *rigidscombine(mark, combine_common_inode)

Arguments mark The ID of the mark containing theelements to combine.

combine_common_inode If combine_common_inode =1, thenrigids and rigidlinks that share acommon independent node will becombined.

If combine_combine_inode =0, thenrigids and rigidlinks will be combined ifthey share any nodes (dependent orindependent).

Example To combine elements 100 and 101 into one rigidlink:

*createmark(elements, 1) 100 101

*rigidscombine(1,1)

Page 187: Commands

Altair Engineering, Inc. 185 Command File

*rigidsupdate()

Updates the properties of rigid and rigid link elements.

Syntax *rigidsupdate(mark, dofs)

Arguments mark The ID of the mark which contains therigid or rigid link elements to beupdated.

dofs The degrees of freedom code whichthe selected rigid or rigid linkelements should be updated to (anyof the digits 1-6).

Example To update rigid elements 10, 11, and 12 to have a degree of freedom code of123:

*createmark(elements,1) 10 11 12

*rigidsupdate(1,123)

Comments *createmark() is required.

*rigidwall_geometry()

Adds geometric definition to a rigid wall.

Syntax *rigidwall_geometry(name, geometrytype, basenode, vectors,n1,n2, geomvar1, geomvar2, geomvar3)

Arguments name The name of the rigid wall.

geometrytype Use:

1 infinite plane

2 finite plane

3 infinite prism

4 finite prism

5 cylinder

6 sphere

Page 188: Commands

Command File 186 Altair Engineering, Inc.

7 MADYMO plane

8 MADYMO ellipse

basenode The ID of the base node for the rigid wall.

vectors The normal vector.

n1, n2 The ID of the nodes used to define the rigid wall.

geomvar1 The length in the x directon or radius. This is alsoused for the MADYMO plane/ellipse ID value.

geomvar2 The length in the y direction.

geomvar3 The length in the z direction.

*rigidwall_motion_update()

Change the motion type and components for a rigid wall.

Syntax *rigidwall_motion_update(name, motiontype, x, y, z)

Arguments name The name of the rigid wall.

motiontype Use: 0, for none; 1, for velocity; 2, fordisplacement.

x x component of motion.

y y component of motion.

z z component of motion.

*rigidwallsize()

Sets the size for axis and motion arrow plotting.

Syntax *rigidwallsize(size)

Argument size The size in model units in which thearrows should be plotted.

Page 189: Commands

Altair Engineering, Inc. 187 Command File

*rod()

Creates a rod element.

Syntax *rod(node1, node2, property)

Arguments node1 The first node of the element.

node2 The second node of the element.

property The property to which the elementpoints.

*rodupdate()

Updates rod elements.

Syntax *rodupdate(mark, property)

Arguments mark The ID of the mark which contains therod elements to be updated.

property The name of the property to whichthe elements should point.

*rotate()

Rotates the model based on a user-defined rotation axis.

Syntax *rotate(axis angle, rotation angle)

Arguments axis angle The angle in degrees which defines howfar from horizontal the rotation axis is.

rotation angle The angle in degrees which the modelrotates.

Example To rotate a model about the horizontal screen axis 15 degrees:

*rotate(0.0,15.0)

Page 190: Commands

Command File 188 Altair Engineering, Inc.

To rotate a model about the vertical screen axis 15 degrees:

*rotate(90.0,15.0)

Comments The rotation axis is defined by a line which runs horizontally through the centerof the screen if the axis angle is zero. As the axis angle increases inmagnitude, the axis of rotation rotates about the vector normal to the screenaxis angle degrees.

*rotateabout()

Defines a new center of rotation for *rotate() and *quatrotate() commands.

Syntax *rotateabout(overridedefault, x, y, z)

Argument overridedefault If 1, defines the center as x, y, z.

If 0, uses default center.

*rotatemark()

Rotates entities about a plane normal.

Syntax *rotatemark(entity type, mark, plane id, angle)

Arguments entity type The type of entity defined in the mark.

mark The ID of the mark.

plane id The ID of the plane to be used in thetransformation.

angle The angle of rotation in degrees.

Example To rotate element 56 and 57 about the z axis (30 degrees) with an origin of(3.0,4.0,0.0):

*createplane(1,0.0,0.0,1.0,3.0,4.0,0.0)

*createmark(elements,1) 56 57

*rotatemark(elements,1,1,30.0)

Page 191: Commands

Altair Engineering, Inc. 189 Command File

*rotationangleset()

Defines the rotation angle used by the *view() command.

Syntax *rotationangleset(angle)

Argument angle The angle of rotation to be used bythe *view() command.

*saveview()

Saves the current view and window.

Syntax *saveview(view number)

Argument view number The number of the view (1-3).

Comments Once the view has been saved, it may be restored with *restoreview().

*scalemark()

Scales entities by multiplying the coordinates by a user-defined value.

Syntax *scalemark(entity type, mark, scale x, scale y, scale z,origin)

Arguments entity type The type of entities contained on themark.

mark The mark ID.

scale x The multiplication factor for the xcoordinate.

scale y The multiplication factor for the ycoordinate.

scale z The multiplication factor for the zcoordinate.

origin The origin of scaling.

Example To scale the component top uniformly 10 times about node 3:

*createmark(components,1) top

*scalemark(components,1,10.0,10.0,10.0,3)

Page 192: Commands

Command File 190 Altair Engineering, Inc.

*scalemarkwithsystem()

Scales entities by a vector relative to a specified system. The vector direction and magnitude foreach axis is defined by xscale, yscale, and zscale.

Syntax *scalemarkwithsystem(entity type, mark, xscale, yscale,zscale, system id, origin)

Arguments entity type The type of entity which to be scaled.

mark The number of the mark to be scaled.

xscale The magnitude of the scale in the x-axis of the system.

yscale The magnitude of the scale in the y-axis of the system. Only used inrectangular coordinate systems.

zscale The magnitude of the scale in the z-axis of the system. Not used inspherical coordinate systems.

system The ID of the system which thescaling is in relation to. Note that thetype of system affects the scaling.For example, specifying an xscale ina cylindrical or spherical coordinatesystem scales the mark radially outfrom the origin.

origin If zero, the scaling is based at theorigin of the system. Otherwise, itspecifies a node ID whosecoordinates define the base point ofthe scaling.

Example To scale nodes 1 2 3 4 5 6 7 and 8, 5 units in the x-direction of system 13 withnode 20 being the origin:

*createmark(nodes,1) 1 2 3 4 5 6 7 8

*scalemarkwithsystem(nodes,1,5,1,1,13,20)

Comments A *createmark() command is required to define the mark. Tangentialscaling in cylindrical and spherical coordinate systems is not allowed. Thiscommand scales only entity types of element, node, and component. If anentity type of line or surface is part of a component, then they are not scaled.

Page 193: Commands

Altair Engineering, Inc. 191 Command File

*screencopy()

Allows users to create a bitmap of the screen and send it to the printer.

Syntax *screencopy()

Comments When the *screencopy() command is written to the commandfile by HyperMesh, the star is not written with the command. Inorder for the *screencopy() command to be executed when thecommand file is rerun, users must place an asterisk, *, in front ofthe command.

*screenfile()

Allows users to create a bitmap of the screen and save it in a file.

Syntax *screenfile()

Comments When the *screenfile() command is written to the commandfile by HyperMesh, the star is not written with the command. Inorder for the *screenfile() command to be executed when thecommand file is rerun, users must place an asterisk, *, in front ofthe command.

*setbackgroundcolor()

Sets the background color.

Syntax *setbackgroundcolor(red, green, blue)

Arguments red The red component of color.

green The green component of color.

blue The blue component of color.

Page 194: Commands

Command File 192 Altair Engineering, Inc.

*setcomponentdisplayattributes()

Sets a component to the specified style and color in performance mode.

Syntax *setcomponentdisplayattributes(name, style, colortype)

Arguments name The name of the component.

style Set to:

0 wire frame

1 hidden line

2 hidden line with mesh

3 hidden line with features

4 hidden line transparent

colortype Determines how the component is colored. Theoptions are:

0 none

1 component color

2 assigned plots

3 contours

*setcuttingplane()

Sets the location of the cutting plane.

Syntax *setcuttingplane(x, y, z, basex, basey, basez)

Arguments x The x component of the vector whichis normal to the plane.

y The y component of the vector whichis normal to the plane.

z The z component of the vector whichis normal to the plane.

basex The x coordinate of the base of the

Page 195: Commands

Altair Engineering, Inc. 193 Command File

plane.

basey The y coordinate of the base of theplane.

basez The z coordinate of the base of theplane.

*setcuttingplanebase()

When you are in performance graphics mode, this command sets default values for the base of thecutting plane after you specify post-processing in the vis panel.

Syntax *setcuttingplanebase()

*setcuttingplanecolor()

Sets the color of the base of the cutting plane when you are using performance graphics mode.

Syntax *setcuttingplanecolor(id, contour, color)

Arguments id The ID of the cutting plane.

contour Sets the display mode for the cutting plane. Set to:

0 for solid color

1 for contours

color The color to be used to display the plane (solidonly).

Page 196: Commands

Command File 194 Altair Engineering, Inc.

*setdisplayattributes()

Sets all components in the model to the specified style and color type.

Syntax *setdisplayattributes(style, colortype)

Arguments style Set to:

0 wire frame

1 hidden line

2 hidden line with mesh

3 hidden line with features

4 hidden line transparent

colortype Determines how the components are colored. Theoptions are:

0 none

1 component color

2 assigned plots

3 contours

*setdisplaycolor()

Sets the display color for the global coordinate axis and geometry cleanup entities.

Syntax *setdisplaycolor(type, color)

Arguments type 0 = global coordinate axis

1 = free edge

2 = shared edge

3 = suppressed edge

4 = non-manifold edge

5 = global coordinate axis label

Page 197: Commands

Altair Engineering, Inc. 195 Command File

color entity color

Example To set the global axis color to red (15):

*setdisplaycolor (0,15)

Comments Setting the global coordinate axis color to 0 disables the display and printedoutput.

*setedgemeshparams()

Sets some of the edge-specific arguments for the automeshing module.

Syntax *setedgemeshparams(edgeindex, elemdensity, biasstyle,bias)

Arguments edgeindex The index of the edge into theparticular surface underconsideration.

elemdensity The density of elements to use alongthe given edge.

biasstyle The type of biasing to use.

bias The biasing of the element length touse along the given edge.

*setfacemeshparams()

Sets some of the face-specific parameters for the automeshing module.

Syntax *setfacemeshparams(faceindex, paramq, paramt1, paramt2,smoothmethod, smoothtol)

Arguments faceindex The index of the face into theparticular surface underconsideration.

paramq The smoothing frequency used by theall-quads version of the advancingfront mesh algorithm. This must bebetween 0 and 1.

Page 198: Commands

Command File 196 Altair Engineering, Inc.

paramt1 The first element creation thresholdfor the all-trias version of theadvancing front mesh algorithm. Thismust be between 0 and 1.

paramt2 The second element creationthreshold for the all-trias version ofthe advancing front mesh algorithm.This must be between 0 and 1.

smoothmethod The smoothing method to use duringthe meshing process as well as witheach click of the smooth button in theautomesh panel. Possible values are0, 1, or 2 which correspond toautodecide, size corrected, andshape corrected.

smoothtol The automesher will apply thesmoothing algorithm until the largestadjustment made to a nodal positionis less than the specified smoothingtolerance.

*setgraphicsengine()

Sets the graphics mode to performance graphics mode.

Syntax *setgraphicsengine(mode)

Argument mode Set to:

0 for standard graphics

1 for performance graphics.

Page 199: Commands

Altair Engineering, Inc. 197 Command File

*setisosurfaceparameters()

Sets the display parameters of the isosurface.

Syntax *setisosurfaceparameters(on, legendbased, value,addfacesabove, transparent, constantcolor, color)

Arguments on A boolean value to turn the isosurfaceon or off.

legendbased A boolean value to determine if theisosurface is legend based or valuebased.

value The value of the value-basedisosurface.

addfacesabove A boolean value to add the “facesabove” to the isosurface.

transparent A boolean value to turn ontransparency on the “faces below”the iso value.

constantcolor A boolean value to display theisosurface in a user-specified

color The color of the isosurface.

*setviewangles()

Sets the view based on angles.

Syntax *setviewangles(thetax, thetay, thetaz)

Arguments thetax The angle of rotation about the x axis.

thetay The angle of rotation about the y axis.

thetaz The angle of rotation about the z axis.

Page 200: Commands

Command File 198 Altair Engineering, Inc.

*setvisualizecontrol()

Sets the location where components will get their display attributes in performance mode.

Syntax *setvisualizecontrol(on, plot)

Arguments on A flag that determines which set ofdisplay attributes are used to displaythe model. If set to 0, the model willbe displayed as directed by the visualoptions sub panel. If set to 1, themodel will be displayed as directed bythe visual panel located off thepermanent menu.

plot A flag that determines if the modelwill be replotted when this commandis executed. If set to 0 the model willnot be plotted, otherwise it will.

*shapevarcreate()

Creates a shape variable using three components and a local coordinate system.

Syntax *shapevarcreate(markid, xcomp, ycomp, zcomp, systemid)

Arguments markid The ID of the mark that contains thenodes where you want to create ashape variable.

xcomp The global x component of the shapevariable.

ycomp The global y component of the shapevariable.

zcomp The global z component of the shapevariable.

systemid The ID of the local coordinate systemin which to create the shape variable.Use zero (0) to specify the globalcoordinate system.

Page 201: Commands

Altair Engineering, Inc. 199 Command File

*shapevarcreate_twonode()

Creates a shape variable described by two nodes.

Syntax *shapevarcreate_twonode(n1, n2)

Arguments n1 The ID of the base node of the shapevariable.

n2 The ID of the far node of the shapevariable.

Comments This shape variable has both nodes associated with it. The magnitude anddirection of the shape variable changes if the positions of the nodes are moved.

*shapevarcreate_xproduct()

Creates a shape variable by using the cross product of two other shape variables.

Syntax *shapevarcreate_xproduct(basenode, shape variable A, shapevariable B, magnitude)

Arguments basenode The ID of the node where the base ofthe result is located after it is created.

shape variable A The ID of the first shape variable inthe cross product.

shape variable B The ID of the second shape variablein the cross product.

magnitude Magnitude of resulting vector.

Page 202: Commands

Command File 200 Altair Engineering, Inc.

*shapevarupdate()

Updates shape variables using three components and a local coordinate system.

Syntax *shapevarupdate(markid, xcomp, ycomp, zcomp, magnitude,systemid, magnitudeflag, directionflag, systemflag)

Arguments markid The ID of the mark that contains theshape variables to update.

xcomp The global x component of the shapevariables.

ycomp The global y component of the shapevariables.

zcomp The global z component of the shapevariables.

magnitude The magnitude of the shapevariables.

systemid The ID of the local coordinate systemin which to update the shapevariables.

magnitudeflag A flag (0,1) to update the magnitudeof the shape variables.

directionflag A flag (0,1) to update the direction ofthe shape variables.

systemflag A flag (0,1) to update the system ofthe shape variables.

Page 203: Commands

Altair Engineering, Inc. 201 Command File

*shapevarupdate_twonode()

Updates a shape variable described by two nodes.

Syntax *shapevarupdate_twonode(markid, n1, n2, updatetail,updatehead)

Arguments markid The ID of the mark that contains theshape variable to be updated.

n1 The ID of the base node of the shapevariable.

n2 The ID of the 2nd node of the shapevariable.

updatetail A flag (0,1) to update the tail(base)node.

updatehead A flag (0,1) to update the head node.

Comments This shape variable has both nodes associated with it. The magnitude anddirection of the shape variable changes if the nodal positions are moved.

*shapevarupdate_xproduct()

Updates a shape variable created from the cross product of two other shape variables.

Syntax *shapevarupdate_xproduct(markid, basenode, shape variableA, shape variable B, baseflag, directionflag, magnitude)

Arguments markid The ID of the mark that contains theshape variable to update.

basenode The ID of the node where the base ofthe result is located after it isupdated.

shape variable A The ID of the first shape variable inthe cross product.

shape variable B The ID of the 2nd shape variable inthe cross product.

baseflag A flag (0,1) to update the base nodeof the shape variable.

directionflag A flag (0,1) to update the direction

Page 204: Commands

Command File 202 Altair Engineering, Inc.

and magnitude of the shape variable.

magnitude Magnitude of vectors.

*shrink()

Turns element shrink on and off.

Syntax *shrink(shrink)

Argument shrink The percentage of shrink.

Comments Setting shrink to 0.20 sets the element shrink to 20%.

*simulationsetangle()

Sets the angle used to evaluate complex results. The evaluated results are used in contour andassigned plots.

Syntax *simulationsetangle(angle)

Argument angle The angle used to evaluate complexresults.

*simulationtitleon()

Controls the display of the simulation title.

Syntax *simulationtitleon(on)

Argument on 1 for on, 0 for off.

Example *simulationtitleon(0)

Comments By default, the simulation title is displayed.

Page 205: Commands

Altair Engineering, Inc. 203 Command File

*slide()

Begins slide mode.

Syntax *slide(number, color, pattern)

Arguments number The number of the slide (userreference number only).

color The background color of the slide.

pattern The background pattern of the slide(ignored).

Example To enter into slide mode:

*slide(1,1,1)

Comments If a *slide() command is encountered when the system is currently in slidemode, HyperMesh assumes that this is the end of the previous slide andpauses for a mouse selection before continuing.

While the command system is in slide mode, the command set is reduced to thefollowing commands:

*bullet()

*color()

*indent()

*slideend()

*wait()

*slideend() must be used to exit from slide mode.

*slideend()

Ends slide mode.

Syntax *slideend()

Example To exit slide mode:

*slideend()

Comments The system must already be in slide mode or HyperMesh issues an errormessage and stops processing the command file.

Page 206: Commands

Command File 204 Altair Engineering, Inc.

*smoothelements()

In the automeshing module, applies the specified smoothing operator to the mesh (if any) found onthe face for the given number of times.

Syntax *smoothelements(faceindex, smoothmethod, iterations)

Arguments faceindex The index of the face into theparticular surface underconsideration.

smoothmethod The smoothing method to use.Possible values are 0, 1, or 2 whichcorrespond to autodecide, sizecorrected, and shape corrected.

iterations The number of times to apply theelement smoothing operator.

Example To smooth the elements of the mesh of the first face of the surface twenty-fivetimes, using whichever algorithm the automeshing module determines is proper:

*smoothelements(0,0,25)

Comments The undo function for this command is *unsmoothelements() .

*solidmesh12lines()

Creates a solid mesh in a volume formed by twelve lines.

Syntax *solidmesh12lines(lines, density1, density2, density3)

Arguments lines The line list ID which contains lines thatdefine a solid.

density1 The density of the elements in the firstdirection.

density2 The density of the elements in the seconddirection.

density3 The density of the elements in the thirddirection.

Page 207: Commands

Altair Engineering, Inc. 205 Command File

*solidmesh9lines()

Creates a solid mesh on a volume formed by nine lines.

Syntax *solidmesh9lines(lines, density1, density2, density3)

Arguments lines The line list ID which contains lines thatdefine a solid.

density1 The density of the elements in the firstdirection.

density2 The density of the elements in the seconddirection.

density3 The density of the elements in the thirddirection.

Example To create a solid mesh in the volume formed by connected lines 10, 11, 12,connected lines 1, 2, and 3, and connecting lines 20, 21, and 22, with densities 3,8 and 12:

*createlist(lines,1) 10 11 12 1 2 3 20 21 22

*solidmesh9lines(1, 3, 8, 12)

*solidmeshwithsurfaces()

Creates a mesh of solid elements by first extruding an existing 2-D finite element mesh, and thenmapping the the extruded mesh into a volume.

Syntax *solidmeshwithsurfaces(type, sourcetype, source, desttype,dest, alongtype, along, genelems, elements, density,biasing style, biasing)

Arguments type Identifies which type of geometry isbeing supplied (0 - source anddestination, 1 - source and along, 2 -source, destination, and along).

sourcetype Set to nodes, lines, or surfaces, thisparameter identifies the geometryused to define the source face.

source The mark ID which contains the dataof the source face.

desttype Set to nodes, lines, or surfaces, thisparameter identifies the geometry

Page 208: Commands

Command File 206 Altair Engineering, Inc.

used to define the destination face.

dest The mark ID which contains the dataof the destination face.

alongtype Set to lines or surfaces, thisparameter identifies the geometryused to define the along faces.

along The mark ID which contains the dataof the along faces.

genelems Currently not used.

elements The mark which contains theelements which are to be mappedinto the volume.

density The number of elements to becreated between the source anddestination faces.

biasstyle The type of biasing to use.

biasing The biasing intensity value.

*spinlinetoformsurface()

Spins a trimmed line to create a surface, and optionally, prepares it for immediate use within theautomesher. It can also identify a region in the shape of a surface of revolution for the automesherto use under the mesh without surface option.

Syntax *spinlinetoformsurface(linelist, list, rotplane, angle)

Arguments linelist The ID of the list of lines to be spun.

list The list ID of the list of zero or twonodes which lie on the lines in the linelist and will be used to trim the lineduring surface creation.

rotplane The axis about which to spin thelines.

angle The angle through which to spin thelines.

Example To spin line 2 ninety degrees about the given axis, creating a surface ofrevolution but not putting any elements on it:

Page 209: Commands

Altair Engineering, Inc. 207 Command File

*surfacemode(4)

*createlist(lines,1) 2

*createlist(nodes,1)

*createplane(1,0.6,0.0,0.0,849.0,225.0, 349.0)

*spinlinetoformsurface(1,1,1,90.0)

Comments The *surfacemode(4) directive tells HyperMesh not to pass the informationon to the automesher for element creation.

The two *createlist() and the *createplane() directives are requiredfor this command.

*spinnodestoformsurface()

Spins a list of nodes to create a surface, and optionally, prepares it for immediate use within theautomesher. It can also identify a region in the shape of a surface of revolution for the automesherto use under the mesh without surface option.

Syntax *spinnodestoformsurface(list, rotplane, angle)

Arguments list The ID of the list of nodes to be spun.

rotplane The axis about which to spin thelines.

angle The angle through which to spin thelines.

Example To form a smooth line through nodes 8, 9, 10, and 11, and spin it ninety degreesabout the given axis, creating a surface of revolution but not putting any elementson it:

*surfacemode(4)

*createlist(nodes,1) 8 9 10 11

*createplane(1,0.6,0.0,0.0,849.0,225.0, 349.0)

*spinnodestoformsurface(1,1,90.0)

Comments The *surfacemode(4) directive tells HyperMesh not to pass the informationon to the automesher for element creation.

The *createlist() and *createplane() directives are required for thiscommand.

Page 210: Commands

Command File 208 Altair Engineering, Inc.

*splinesurface()

Creates a 3-D or planar surface defined by a set of lines, and optionally, prepares it for immediateuse within the automesher. It can also identify a region in the shape of a Coons patch surface forthe automesher to use under the mesh without surface option.

Syntax *splinesurface(entities, mark, plane_flag, plane,smooth_flag)

Arguments entities The type of entities (lines or nodes) on themark.

mark The mark ID of the lines that define thesurface.

plane_flag A flag indicating if the lines are planar.

1 a plane is calculated from thelines.

2 lines are projected onto the planedefined by plane.

0 lines are not on a plane, and a 3-Dsurface is created.

plane The plane used to project lines ifplane_flag is set to 2.

smooth_flag A flag indicating if internal joints of thegiven lines should be smoothed awaybefore the surface is created. Usually thisshould be turned on.

Example To create a surface from lines 65, 66, 67 and 69, with no elements:

*surfacemode(4)

*createmark(lines,1) 65 66 67 68

*createplane(1,1.0000,0.0000,0.0000,0.0000,0.0000,0.0000)

*splinesurface(lines,1,0,1,1)

Comments The *surfacemode(4) directive tells HyperMesh not to generate anyelements. This command is used for creating both 3-D spline surfaces andtrimmed planar surfaces. The plane_flag arguments controls this option.*createmark() and *createplane() are required for this command.

Page 211: Commands

Altair Engineering, Inc. 209 Command File

*splitelements()

Splits elements.

Syntax *splitelements(method, mark)

Arguments method Defines the method used to split the elements.Valid types are 1 to split the elements at allsides, 2 to divide into two trias, 3 to split at themidpoint of the element to make quads, or 4 tosplit at the midpoint to make trias.

mark The ID of the mark which contains theelements to be split.

Example To split elements 11, 12, 13, and 14 at all sides:

*createmark(elements,1) 11 12 13 14

*splitelements(1,1)

*splitsolidelements()

Divides the given solid elements into hexa or tetra elements.

Syntax *splitsolidelements(markmask, splittype)

Argument markmask The mark of solid elements to besplit.

splittype A code that indicates the type of split toperform.

1 splits a hexa into 8 hexas

2 splits a hexa into 5 or 6 tetras

3 splits a hexa into 24 tetras

Example To split solid elements 100 through 110 into hexas:

*createmark(elements,1) 100 101 102 103 104 105 106 107108

109 110

*splitsolidelements(1, 1)

Comments The *createmark() directive is required for this command.

Page 212: Commands

Command File 210 Altair Engineering, Inc.

*spring()

Creates a spring element between two nodes.

Syntax *spring(node1, node2, dof, property, vectorid)

Arguments node1 The first node of the element.

node2 The second node of the element.

dof The degree of freedom for which thespring should be active (one digit of1-6).

property The property to which the elementshould point.

vectorid The ID of the orientation vectorassociated with the spring element.

Example To create a spring element between node 100 and node 101 with a propertycollector reference to sprate in the second degree of freedom, without anorientation vector:

*spring(100,101,2,”sprate”,0)

*springsupdate()

Updates the properties of spring elements.

Syntax *springsupdate(mark, dofflag, dof, propertyflag, property,vectorid)

Arguments mark The ID of the mark which contains thespring elements to be updated.

dofflag Set to 1 if the dofs should beupdated, otherwise 0.

dof The degree of freedom which thespring elements should be updated to(one digit of 1-6).

propertyflag Set to 1 if the property should beupdated, otherwise 0.

Page 213: Commands

Altair Engineering, Inc. 211 Command File

property The property to which the elementshould point.

vectorid The ID of the orientation vectorassociated with the spring element.

Example To update spring element 16, 17, and 18 to have a degree of freedom of 3 and aproperty reference to sprate, without an orientation vector:

*createmark(elements,1) 16 17 18

*springsupdate(1,1,3,1,”sprate”,0)

Comments *createmark() is required.

*storeAMelemstodatabase()

From within the automesher, converts a generated mesh (if any) for the specified face into elementsin the general HyperMesh database, creating new quads and trias in the current component.

Syntax *storeAMelemstodatabase(faceindex)

Argument faceindex The index of the face into the particular surfaceunder consideration.

*superelementset()

Sets the super element flag on a group of nodes.

Syntax *superelementset(mark, super id)

Arguments mark The ID of the mark containing thenodes which should have their superelement ID updated to super id.

super id The super element ID in which theabove nodes should be placed.

Example To set nodes 155, 125, and 159 to super element 0:

*createmark(nodes,1) 155 125 159

*superelementset(1,0)

Page 214: Commands

Command File 212 Altair Engineering, Inc.

*surfaceaddnodesfixed()

Adds meshing fixed points to a mark of surfaces, either by breaking edges or adding interior fixedpoints. The coordinates of the fixed points are supplied by a list of nodes.

Syntax *surfaceaddnodesfixed(surfacemark, nodelist, tolerance)

Arguments surfacemark The ID of the mark containing the surface tomodify.

nodelist The ID of the list containing the nodes touse.

tolerance The closeness tolerance used to decidewhich points belong to a surface. A pointcan be added to more than one surface outof the mark.

Example To add a point to surface 190 whose coordinates correspond to those of node 9:

*createmark(surfaces,1) 190

*createlist(nodes,2) 9

*surfaceaddnodesfixed(1,2,0.05)

*surfaceaddpointsfixed()

Adds meshing fixed points to a mark of surfaces, either by breaking edges or adding interior fixedpoints. The coordinates for the fixed points are supplied by a pointmark.

Syntax *surfaceaddpointsfixed(surfacemark, pointmark, tolerance)

Arguments surfacemark The ID of the mark containing thesurface to modify

pointmark The ID of the mark containing thepoints to add.

tolerance The closeness tolerance used to decidewhich points belong to a surface. Apoint can be added to more than onesurface out of the mark.

Example To add point 9 to surface 190:

*createmark(surfaces,1) 190

*createmark(points,2) 9

*surfaceaddpointsfixed(1,2,0.05)

Page 215: Commands

Altair Engineering, Inc. 213 Command File

*surfacecone()

Creates a full or partial cone, and optionally, prepares it for immediate use in the automesher. Italso can identify a conical region for the automesher to use under the mesh without surfaceoption.

Syntax *surfacecone(bottom center, major vector, normal vector,base radius, top radius, aspect ratio, start angle, endangle, height)

Arguments bottom center A node specifying the center of thecone.

major vector A node specifying the major axis.

normal vector A node specifying the axis which thecone spins around. The height isapplied from the bottom center alongthe normal axis.

base radius The radius of the bottom of the cone.

top radius The radius of the top of the cone.

aspect ratio A value less than 1.0 creates anelliptical cone or cylinder.

start angle Angle at which the cone starts (0.0 to< end angle). 0.0 starts at the majorvector.

end angle Angle at which the cone ends (> startangle to 360.0).

height Height of the cone.

Example To create an elliptical cone using nodes 1, 2, and 3, with base radius of 10, topradius of 5, and height of 10, but not create any elements:

*surfacemode(4)

*surfacecone(1,2,3,10.0,5.0,0.5,0.0, 360.0,10.0)

Comments If the top radius and base radius are equal, a cylinder is created.

The *surfacemode(4) directive tells HyperMesh not to pass the informationon to the automesher for element creation.

Page 216: Commands

Command File 214 Altair Engineering, Inc.

*surfaceconefull()

Creates a cone with a specified center and radius, and optionally, prepares it for immediate use inthe automesher. It also can identify a conical region for the automesher to use under the meshwithout surface option.

Syntax *surfaceconefull(top center, bottom center, base radius,top radius, aspect ratio, height)

Arguments top center A node specifying the top center ofthe cone.

bottom center A node specifying the bottom centerof the cone.

base radius The radius of the bottom of the cone.

top radius The radius of the top of the cone.

aspect ratio A value less than 1.0 creates anelliptical cone or cylinder.

height Height of the cone.

Example To create a circular cone with the top center at node 1, the bottom center at node2, a base radius of 100, top radius of 0, and a radius of 50, but not create anyelements:

*surfacemode (4)

*surfaceconefull(1,2,100.0,0.0,1.0,50.0)

Comments If the top radius and base radius are equal, a cylinder is created.

The *surfacemode(4) directive tells HyperMesh not to pass the informationon to the automesher for element creation.

*surfacecopyedges()

Create lines from the edges of a surface.

Syntax *surfacecopyedges(surface, list, all_edges)

Arguments surface A surface that contains edges (a fullsphere or torus does not containedges).

list The mark ID of the nodes used toselect the surface edges (if all_edges

Page 217: Commands

Altair Engineering, Inc. 215 Command File

is 0).

all_edges If all_edges is 1, then copy all edgesof the surface to new lines. If set to0, then only copy edges that have anode created on them (from list).

Example To copy all edges of surface 1 to new lines:

*createlist(nodes,2)

*surfacecopyedges(1,2,1)

Comments *createmark() is required for this command.

*surfacedisplaynormals()

Displays a normal vector on all faces of a surface.

Syntax *surfacedisplaynormals(entities, mark, size)

Arguments entities The entities contained on the mark.

mark The mark ID of the surfaces orcomponent that contains surfaces.

size Specifies the size of the normal to bedrawn. If size is zero, the vector isdrawn at 10% of the screen size.

Example Display the normals of surfaces 5 and 10:

*createmark(surfaces,1) 5 10

*surfacedisplaynormals(surfaces,1,0.0000)

Comments *createmark() is required for this command.

Page 218: Commands

Command File 216 Altair Engineering, Inc.

*surfaceintersectmark()

Intersects surfaces with other surfaces (or an infinite plane) to create lines.

Syntax *surfaceintersectmark(mark, use_plane, plane, mark)

Arguments mark The mark ID of the first set ofsurfaces.

use_plane When set to 1, the first set of surfacesis intersected with an infinite planedefined by plane.

plane The infinite plane used to intersectthe first set of surfaces if use_plane isset to 1.

mark The mark ID of the second set ofsurfaces. If use_plane is 0, then thefirst set of surfaces is intersected withthe second set of surfaces.

Example Intersect surfaces 15 and 16 with 17 and 18:

*createmark(surfaces,1) 15 16

*createplane(1,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000)

*createmark(surfaces,2) 17 18

*surfaceintersectmark(1,0,1,2)

Comments *createmark() and *createplane() are required for this command.

*surfacemarkchangesurfacelines()

Changes the number of lines used to display an existing surface.

Syntax *surfacemarkchangesurfacelines(mark, lines)

Arguments mark The mark ID of the surfaces.

lines The number of lines used to displaythe surfaces.

Example To display surfaces 15 and 16 with 4 display lines:

*createmark (surfaces,1) 15 16

*surfacemarkchangesurfacelines(1,4)

Page 219: Commands

Altair Engineering, Inc. 217 Command File

Comments The number of lines is actually the number of lines in each direction inparameter space of the surface. Since there are two directions in parameterspace, setting surface lines to two results in four lines on the surface (two ineach direction).

*surfacemarkclipwithline()

Splits a group of surfaces with a line by projecting that line perpendicularly onto the surfaces.

Syntax *surfacemarkclipwithline(mark, line, tolerance)

Arguments mark The ID of the mark containing the surfaces.

line The ID of the line used to split the surfaces.

tolerance The maximum distance the line may deviatefrom the surfaces and still be projected.

Example To split two surfaces using line number 26 and a projection tolerance of 0.1:

*createmark(surfaces,1)171 172

*surfacemarkclipwithline(1,26,0.1)

*surfacemarkclipwithlines()

Splits a group of surfaces with lines by projecting those lines perpendicularly onto the surfaces.

Syntax *surfacemarkclipwithlines(surf_mark, line_mark, tolerance)

Arguments surf_mark The ID of the mark containing the surfaces.

line_mark The ID of the mark containing the lines. Thelines are temporarily combined into a singleline, and therefore must be contiguous.

tolerance The maximum distance the line may deviatefrom the surfaces and still be projected.

Page 220: Commands

Command File 218 Altair Engineering, Inc.

*surfacemarkcombine()

Given a mark of surfaces, finds the free edges within a given tolerance and combines them intoshared edges.

Syntax *surfacemarkcombine(mark, tolerance)

Arguments mark The ID of the mark containing the surfaces.

tolerance The cleanup tolerance used to tell if twocandidate edges are close enough tocombine.

Example To take a set of five surfaces and combine them using a tolerance of 0.05:

*createmark(surfaces,1)5 93 119 171 201

*surfacemarkcombine(1,0.05)

Comments On the geom cleanup panel, this command corresponds to the equivalencingedges tool.

*surfacemarkmerge()

Combines the selected surfaces into one surface, and divides the surface along the internal edgesthat correspond to fillets and feature lines.

Syntax *surfacemarkmerge(mark, breakangle, minradius, maxradius)

Arguments mark The ID of the mark containing thesurfaces.

breakangle The threashold used to recognizefeature lines.

minradius The lower limit of the radius of curvatureused to recognize fillets.

maxradius The upper limit of the radius of curvatureused to recognize fillets.

Example To combine a surface with a feature breakangle of 30.0 and fillet radii of 1.0 and15.0:

*createmark(surfaces,1) 1 31 57 91 93 145 189 190

*surfacemarkmerge(1,30.0,1.0,15.0)

Comment The *createmark() command is required. On the geom cleanup panel, thiscommand corresponds to the organize by feature tool.

Page 221: Commands

Altair Engineering, Inc. 219 Command File

*surfacemarkremovepinholes()

Removes pinholes.

Syntax *surfacemarkremovepinholes(mark, diameter, coords,arraylength)

Arguments mark The ID of the mark containing thesurfaces.

diameter The upper-limit of the pinhole’sdiameter.

coords The ID of a double-array listing thecenter coordinates of the pinholes toremove, in the order x1, y1, z1, x2, y2,z2, x3, y3, z3.

arraylength The array length.

Example To remove 3 pinholes from surface 471, using a radius of 5.0 as a guide:

*createmark(surfaces,1) 471

*createdoublearray(9) 1577.74 500.9 690.69 1580.8 502.6

683.4 1583.8 504.2 676.207

*surfacemarkremovepinholes(1,5,1,12)

Comment The *createmark() and *createdoublearray() commands are required.

*surfacemarksplitwithline()

Splits a group of surfaces with a line by sweeping a line along a vector.

Syntax *surfacemarksplitwithline(mark, line, vector,entire_surf_flag, distance)

Arguments mark The ID of the mark containing thesurfaces.

line The ID of the line used to split thesurfaces.

vector The vector used to sweep the

Page 222: Commands

Command File 220 Altair Engineering, Inc.

line.

entire_surf_flags If this flag is 1, then the line isswept through the entire surface.0therwise, the line is swept for adistance of distance.

distance The distance to sweep line ifentire_surf_flags is 0.

Example To split surfaces 10 and 20 by sweeping line 11 along the z-axis:

*createmark(surfaces,1) 10 20

*createvector(1,0.0000,0.0000,1.0000)

*surfacemarksplitwithline(1,11,1,1,0)

*surfacemarksplitwithlines()

Splits a group of surfaces with lines by sweeping the lines along a vector.

Syntax *surfacemarksplitwithlines(surf_mark, line_mark, vector,entire_surf_flag, distance)

Arguments surf_mark The ID of the mark containing the surfaces.

line_mark The ID of the mark containing the lines. Thelines are temporarily combined into a singleline, and therefore must be contiguous.

vector The vector used to sweep the combined line.

entire_surf_flag If 1, then the combined line is swept throughthe entire surface. If 0, the line is swept for thedistance of distance.

distance The distance to sweep the line ifentire_surf_flag is 0.

Page 223: Commands

Altair Engineering, Inc. 221 Command File

*surfacemarksplitwithnodes()

Splits a group of surfaces with a smooth line defined by the nodes.

Syntax *surfacemarksplitwithnodes(mark, node_list)

Arguments mark The ID of the mark containing the surfaces.

node_list The list ID of the node to be used.

*surfacemarksplitwithplane()

Splits a group of surfaces with an infinite plane.

Syntax *surfacemarksplitwithplane(mark, plane)

Arguments mark The ID of the mark containing thesurfaces.

plane The plane used to split the surfaces.

Example To split surfaces 10 and 20 with the xy plane (normal equals the z-axis):

*createmark(surfaces,1) 10 20

*createplane(1,0.0000,0.0000,1.0000,0.0000,0.0000,0.0000)

*surfacemarksplitwithplane(1,1)

*surfacemarksplitwithsurface()

Splits a group of surfaces with another surface

Syntax *surfacemarksplitwithsurface(mark, surface)

Arguments mark The ID of the mark containing thesurfaces to be split.

surface The surface used to split the othersurfaces.

Example To split surfaces 10 and 20 with surface 5:

*createmark(surfaces,1) 10 20

*surfacemarksplitwithsurface(1,5)

Page 224: Commands

Command File 222 Altair Engineering, Inc.

*surfacemarkuntrim()

Removes any trim lines from the selected surfaces and lets the surface expand to its natural limits.The trim lines are separated from the surface and placed in the current component.

Syntax *surfacemarkuntrim(surfacemark)

Argument surfacemark The mark of surfaces to beexpanded.

Example To untrim the surface with ID 645:

*createmark(surfaces,1) 645

*surfacemarkuntrim(1)

Comments Some surfaces cannot be untrimmed, such as splines created from more than 4lines. This command is used primarily in the cleanup of imported CAD data.

*surfacemode()

Sets which surface mode the automeshing module should use.

Syntax *surfacemode(mode)

Argument mode The surfacemode. It should be 1, 2,3, or 4, which correspond to mesh,keep surf, mesh, dele surf, mesh w/osurf, and surface only.

Example To set the automeshing module so that subsequent calls to surface and plateelement mesh generators use the surfaceless mode:

*surfacemode(3)

*surfaceplane()

Creates a square, planar surface, and optionally, prepares it for immediate use within theautomesher. It can also identify a region in the shape of a square planar surface for the automesherto use under the mesh without surface option.

Syntax *surfaceplane(plane id, size)

Arguments plane id The ID of the plane (vector and base)

Page 225: Commands

Altair Engineering, Inc. 223 Command File

on which the surface will be created.

size The length of the edges of thesurface.

Example To create a square, planar surface normal to the x axis, with the center at theorigin, of size 10.0, but not create any elements:

*surfacemode(4)

*createplane(1,1.0,0.0,0.0,0.0,0.0,0.0)

*surfaceplane(1,10.0)

Comments *createplane() is required for this command.

The *surfacemode(4) directive tells HyperMesh not to pass the informationon to the automesher for element creation.

*surfaceskin()

Creates a skin surface across a line list, and optionally, prepares it for immediate use in theautomesher. It can also identify a region in the shape of a skin surface for the automesher to useunder the mesh without surface option.

Syntax *surfaceskin(skin_linelist, auto_reverse)

Arguments skin_linelist The ID of the list of lines forming theribs of the skin surface.

auto_reverse Indicates whether the lines should betested for a "bow tie" condition andreversed if necessary (1 for yes, 0 forno).

Example To create a skin surface across lines 1, 2, 3, and 4 with no elements:

*surfacemode(4)

*createlist(lines,1) 1 2 3 4

*surfaceskin(1,1)

Comments The *surfacemode(4) tells HyperMesh not to proceed with element creation,but to create a surface for later use.

The *createlist() directive is required for this command.

Page 226: Commands

Command File 224 Altair Engineering, Inc.

*surfacespherefromfournodes()

Creates a sphere which passes through the four specified nodes, and optionally, prepares it forimmediate use within the automesher. It can also identify a region in the shape of such a sphere forthe automesher to use under the mesh without surface option.

Syntax *surfacespherefromfournodes(list)

Argument list The list of the four nodes throughwhich the surface will pass.

Example To create a sphere which passes through nodes 1, 2, 3, and 4, but not createany elements on the sphere:

*surfacemode(4)

*createlist(nodes,1) 1 2 3 4

*surfacespherefromfournodes(1)

Comments *createlist() is required for this command.

The *surfacemode(4) directive tells HyperMesh not to pass the informationon to the automesher for element creation.

*surfacespherefromthreepoints()

Creates a full or partial sphere, and optionally, prepares it for immediate use within the automesher.It can also identify a region in the shape of such a sphere for the automesher to use under themesh without surface option.

Syntax *surfacespherefromthreepoints(center, radius, r, thetastart, theta end, angle, phi start, phi end, angle type)

Arguments center A node specifying the center.

radius The radius of the sphere.

r A node specifying the r vector.

theta start Angle at which theta starts (0.0 to <theta end).

theta end Angle at which theta ends (> thetastart to 360.0).

angle A node specifying the angle vector.

phi start Angle at which phi starts (-90.0 to <

Page 227: Commands

Altair Engineering, Inc. 225 Command File

phi end).

phi end Angle at which phi ends (> phi start to90.0).

angle type Defines whether the angle vector is tobe theta or phi.

When angle type is set to 0, the anglevector will be theta.

When angle type is set to 1, the anglevector will be phi.

Example To create one quarter of a sphere with a radius of 10 through using nodes 1, 2and 3, but not create any elements:

*surfacemode(4)

*surfacespherefromthreepoints(1,10.0,2,0.0,180.0,3,0.0,90.00

00,0)

Comments The *surfacemode(4) directive tells HyperMesh not to pass the informationon to the automesher for element creation.

*surfacespherefull()

Creates a sphere with a specified center and radius, and optionally, prepares it for immediate usewithin the automesher. It can also identify a region in the shape of such a sphere for theautomesher to use under the mesh without surface option.

Syntax *surfacespherefull(center, radius)

Arguments center A node specifying the center of thesphere.

radius The radius of the sphere.

Example To create a sphere with center at node 1 and a radius of 45, but not create anyelements on the sphere:

*surfacemode(4)

*surfacespherefull(1,45.0)

Comments The *surfacemode(4) directive tells HyperMesh not to pass the informationon to the automesher for element creation.

Page 228: Commands

Command File 226 Altair Engineering, Inc.

*surfacesplitedge()

Splits a surface edge by adding nodes to the edge. This forces the automesher to create a node atthe split point.

Syntax *surfacesplitedge(surface, list)

Arguments surface The surface to be split.

list The ID of the list of nodes used tosplit the surface edges.

Example To split surface 1 with nodes 10 and 11:

*createlist(nodes,2) 10 11

*surfacesplitedge(1,2)

*surfacesplitwithline()

Splits a surface with a line by sweeping the line along a vector.

Syntax *surfacesplitwithline(surface, line, vector,entire_surf_flag, distance)

Arguments surface The ID of surface to be split.

line The ID of the line used to split thesurface.

vector The vector used to sweep the line.

entire_surf_flag If the entire_surf_flag is 1, then theline is swept throughout the entiresurface. If the entire_surf_flag is 0,then the line is swept for a distance ofdistance.

distance The distance to sweep line ifentire_surf_flag is set to 0.

Example To split surface 1 by sweeping line 2 along the x-axis for a distance of 100:

*createvector(3,1.0,0.0,0.0)

*surfacesplitwithline(1,2,3,0,100.0)

Comments *createmark() and *createplane() are required for this command.

Page 229: Commands

Altair Engineering, Inc. 227 Command File

*surfacesplitwithplane()

Splits a surface with an infinite plane.

Syntax *surfacesplitwithplane(surface, plane)

Arguments surface The surface to be split.

plane The plane used to split the surface.

Example To split surface 1 with the xy plane (normal equals the z-axis):

*createplane(2,0.0,0.0,1.0,0.0,0.0,0.0)

*surfacesplitwithplane(1,2)

*surfacesplitwithsurface()

Splits one surface with another.

Syntax *surfacesplitwithsurface(surface1, surface2)

Arguments surface1 The surface to be split.

surface2 The surface used to split surface1.

Example To split surface 1 with surface 2:

*surfacesplitwithsurface(1,2)

*surfacetorus()

Creates a full or partial torus, and optionally, prepares it for immediate use in the automesher. Italso can identify a toroidal region for the automesher to use with the mesh without surface option.

Syntax *surfacetorus(center, major vector, normal vector, minorradius, major radius, major start angle, major end angle,minor start angle, minor end angle)

Arguments center A node specifying the majorcenter of the torus.

major vector A node specifying the majoraxis of the torus.

Page 230: Commands

Command File 228 Altair Engineering, Inc.

normal vector A node specifying the normalaxis of the torus.

minor radius The minor radius of the torus.

major radius The major radius of the torus.

major start angle Angle at which the majorradius of the torus starts (0.0to < major end angle).

major end angle Angle at which the majorradius of the torus ends (>major start angle to 360.0).

minor start angle Angle at which the minorradius of the torus starts (0.0to < minor end angle).

minor end angle Angle at which the minorradius of the torus ends (>minor start angle to 360.0).

Example This example creates the bottom half of a torus with center at node 1, normalvector at node 12, major vector at node 4, and a major radius of 10 and a minorradius of 2.5, but does not continue to the automesher for element creation:

*surfacemode(4)

*surfacetorus(1,12,4,2.5,10.0,0.0000,360.0000,180.0000,

360.0000)

Comments The *surfacemode(4) directive tells HyperMesh not to pass the informationon to the automesher for element creation.

*surfacetorusfromthreepoints()

Creates a torus which passes through the three specified nodes, and optionally, prepares it forimmediate use in the automesher. It also can identify a toroidal region for the automesher to usewith the mesh without surface option.

Syntax *surfacetorusfromthreepoints(major center, minor center,minor radius)

Arguments major center A node specifying the major center ofthe torus.

minor center A node specifying the minor center of

Page 231: Commands

Altair Engineering, Inc. 229 Command File

the torus.

minor radius A node through which the minorrevolution will pass.

Example To create a torus which has the major center at node 1, the minor center at node5, and the minor radius at node 13, and not create any elements:

*surfacemode(4)

*surfacetorusfromthreepoints(1,5,13)

Comments The *surfacemode(4) directive tells HyperMesh not to pass the informationon to the automesher for element creation.

*surfacetorusfull()

Creates a torus with specified radii, and optionally, prepares it for immediate use in the automesher.It also can identify a toroidal region for the automesher to use with the mesh without surfaceoption.

Syntax *surfacetorusfull(center, normal vector, minor radius,major radius)

Arguments center A node specifying the center of thetorus.

normal vector A node specifying the normal axis ofthe torus.

minor radius The minor radius of the torus.

major radius The major radius of the torus.

Example To create a torus with center at node 1, normal at node 2, a minor radius of 5,and a major radius of 10, but not create any elements:

*surfacemode(4)

*surfacetorusfull(1,2,5.0,10.0)

Comments The *surfacemode(4) directive tells HyperMesh not to pass the informationon to the automesher for element creation.

Page 232: Commands

Command File 230 Altair Engineering, Inc.

*surfaceuvlines()

Sets the number of surface display lines in the options panel.

Syntax *surfaceuvlines(number_of_lines)

Argument number_of_lines The number of surface display lines.The value must be between zero andtwenty.

Example To set the number of surface lines at 2:

*surfaceuvlines(2)

*systemcommand()

If a UNIX or DOS system command is contained in a command file, and the command file is read inHyperMesh, the UNIX or DOS system command is executed.

Syntax *systemcommand()

Example To execute the command ABC and redirect it to the file DEF, which storess allfiles in the directory:

*systemcommand(ABC>DEF)

*systemcreate()

Creates a rectangular coordinate system.

Syntax *systemcreate(mark, type, origin, axisname, axispt,planename, planept)

Arguments mark The mark ID containing the nodes atwhich a system should be built.

type The type of system being created (0 -rectangular, 1 - cylindrical, 2 -spherical).

origin The ID of a node which defines theorigin.

axisname A string which identifies the axisbeing defined with the next parameter(x, y, or z).

Page 233: Commands

Altair Engineering, Inc. 231 Command File

axispt The ID of a node which defines apoint on the axis defined byaxisname.

planename A string which identifies the planebeing defined with the next parameter(xy, xz, or yz).

planept The ID of a node which defines apoint on the plane defined byplanename.

Example To build a cylindrical system at node 12 with node 1 defining the origin, node 2defining the x axis, and node3 defining the xy-plane:

*createmark(nodes,1) 12

*systemcreate(1,1,1,x,2,xy,3)

*systemdeleteunused()

Removes the unused systems from a model.

Syntax *systemdeleteunused()

*systempreviewunused()

Finds the unused systems in a model and puts them on a mark.

Syntax *systempreviewunused(mark)

Argument mark The mark number where the systemswill be placed. This is used for pre-highlighting the entities.

Page 234: Commands

Command File 232 Altair Engineering, Inc.

*systemsetanalysis()

Sets the analysis system of an entity.

Syntax *systemsetanalysis(entity type, mark, system id)

Arguments entity type The type of the entity which should beset to nodes.

mark The ID of the mark containing nodesto be updated.

system id The ID of the system to which thenodes should have their analysissystem set.

Comments This command is valid only for entity type nodes.

*systemsetreference()

Sets the reference system for an entity.

Syntax *systemsetreference(entity type, mark, system id)

Arguments entity type The type of entities contained on themark (systems, nodes, loads).

mark The ID of the mark which contains theentities to be updated.

system id The ID of the system to which theentities should have their referencesystem set.

*systemsize()

Sets the size a system will be when plotted.

Syntax *systemsize(size)

Argument size The size in model units in which the systems should beplotted.

Page 235: Commands

Altair Engineering, Inc. 233 Command File

*tangentbetweenlines()

Creates a tangent line between a node and a line.

Syntax *tangentbetweenlines(line1 id, line2 id, checkpoints,lineselected)

Arguments line1 id The ID of the first line to which thetangent line is to be created.

line2 id The ID of the second line to which thetangent line is to be created.

checkpoints The number of points to check ineach line segment for tangency.

lineselected The tangent line selected, if morethan one exists.

Example To create a tangent between lines 1 and 2:

*tangentbetweenlines(1,2,10,0)

Comments If more than one tangent line is found, you must select the necessary tangentline. The number of this line (based on the order in which the tangents werefound) is then used in the command string.

*tangentbetweennodeandline()

Creates a tangent line between a node and a line.

Syntax *tangentbetweennodeandline(node id, line id, checkpoints,lineselected)

Arguments node id The ID of the node to which thetangent line is to be created.

line id The ID of the line to which thetangent line is to be created.

checkpoints The number of points to check ineach line segment for tangency.

lineselected The tangent line selected, if morethan one exists.

Page 236: Commands

Command File 234 Altair Engineering, Inc.

Example To create a tangent between node 1 and line 10:

*tangentbetweennodeandline(1,10,10,0)

Comments If more than one tangent line is found, you must select the necessary tangentline. The number of this line (based on the order in which the tangents werefound) is then used in the command string as lineselected.

*templatefileset()

Sets the global template file name.

Syntax *templatefileset(filename)

Argument filename The file name of the template file thatbecomes the global template.

*tetra_cfdmesh()

Adds tetra elements to a volume that is enclosed by a complete mesh of tria elements. Theelements near the surface of the volume form prism-shaped columns.

Syntax *tetra_cfdmesh(prism entities, prism mark, normalentities, normal mark, growth rate, initial layers,initial prism thickness, initial prism growth rate, prismgrowth acceleration, opt_level)

Arguments prism entities The type of entities for the prism triasmark.

prism mark The mark ID for the prism trias.

normal entities The type of entities for the normal triasmark.

prism mark The mark ID for the normal trias.

growth rate The tetramesher growth rate.

initial layers The thickness of the boundary layeruniform size zone expressed factor tomultiply by the local tria element size. Ifthis number is negative, HyperMeshuses the interpolate growth option.

initial prism thickness The thickness of the first layer of three

Page 237: Commands

Altair Engineering, Inc. 235 Command File

tetras forming a prism adjacent to aprism tria.

initial prism growth rate The growth factor to use for successivelayers of prism tetras.

prism growth acceleration The increase in the growth rate eachsuccessive layer.

opt_level 1 Use the standard algorithm.

2 Include the modifications to thealgorithm to optimize meshgeneration speed.

3 Include the modifications to thealgorithm to improve elementquality characteristics.

Example To tetramesh the volume bounded by comp1, where there is an enclosed objectin component comp_airfoil that should have prism tetras next to it, and toresolve boundary layer behavior:

*createmark(components, 1) comp1

*createmark(components, 2) comp_airfoil

*tetra_cfdmesh(components, 1, components, 2, 1.2, 0.75, 1,1.2, 1.05, 1)

Comments The example uses the default values, and an inital prism thickness of 1.0.

*tetra_remesh()

Generates a new tetramesh for the volume defined by the selected tetras.

Syntax *tetra_remesh(mark, growth rate, initial layers,opt_level)

Arguments mark The mark of the tetras.

growth rate The tetramesher growth rate.

initial layers The thickness of the boundary layer uniformsize zone expressed factor to multiply by thelocal tria element size, If this number isnegative, HyperMesh uses the interpolategrowth option.

Page 238: Commands

Command File 236 Altair Engineering, Inc.

opt_level 1 Use the standard algorithm.

2 Include the modifications to thealgorithm to optimize meshgeneration speed.

3 Include the modifications to thealgorithm to improve element qualitycharacteristics.

Example To remesh a collection of tetras with the default growth options:

*createmark(elements,1)1102 1104 1114 1115 1116 1117 1120

1121 1122 1123 1124 1126 1140 1142 1143 1145

*tetra_remesh(1,1.2,0.75)

*tetramesh()

Fills with tetra elements a volume that is enclosed by a complete mesh of tria elements.

Syntax *tetramesh(float entities, float mark, fixed entities,fixed mark, growth rate, initial layers, opt_level)

Arguments float entities The type of entities for the floatable triasmark.

float mark The mark ID for the floatable trias.

fixed entities The type of entities for the fixed trias mark.

fixed mark The mark ID for the fixed trias.

growth rate The tetramesher growth rate.

initial layers The thickness of the boundary layer uniformsize zone expressed factor to multiply by thelocal tria element size. If this number isnegative, HyperMesh uses the interpolategrowth option.

opt_level 1 Use the standard algorithm.

2 Include the modifications to thealgorithm to optimize meshgeneration speed.

3 Include the modifications to thealgorithm to improve element qualitycharacteristics.

Page 239: Commands

Altair Engineering, Inc. 237 Command File

Example To tetramesh the component tmesh, using the default growth options:

*createmark(components,1) tmesh

*createmark(components,2)

*tetramesh(components,1,components,2,1.2,0.75)

Comments The two createmark() commands are required.

*thickmeshlines()

Used to display thick cylinders on the edges of display elements.

Syntax *edgemode(on)

Argument on Determines if thick display elements will be used to showthe edges of an element. If set to 1, thick edges are used.If set to 0, lines are used to display the edges of elements.

*time()

Prints the current time to the command file.

Syntax *time()

*titlecreate()

Creates a title.

Syntax *titlecreate(name, entities, id, pointindex, color, font,anchorpoint, x, y)

Arguments name The name of the title.

entities The type of entity to which the titleshould be attached.

id The ID of the entity.

pointindex The point index.

color The color of the title.

Page 240: Commands

Command File 238 Altair Engineering, Inc.

font The font to be used to display thetitle.

anchorpoint The anchor point of the title.

x The x location of the anchor point (0.0- 1.0).

y The y location of the anchor point (0.0- 1.0).

*titledraw()

Draws a title.

Syntax *titledraw(titlename)

Argument titlename The name of the title which should bedrawn.

*titlemodify()

Modifies a title.

Syntax *titlemodify(titlename, itemname, string, value, plot)

Arguments titlename The name of the title.

itemname The name of the item to be modified.

string The string value to which the modifieditem should be set.

value The value to which the modified itemshould be set.

plot 1, if the title should be plotted aftermodification.

Page 241: Commands

Altair Engineering, Inc. 239 Command File

*titlepop()

Pops a title to the front.

Syntax *titlepop(titlename)

Argument titlename The name of the title.

*titlepush()

Pushes a title to the background.

Syntax *titlepush(titlename)

Argument titlename The name of the title to be pushed to thebackground.

*titlesetcurrent()

Sets a title to be the current title.

Syntax *titlesetcurrent(titlename)

Argument titlename The name of the title which should bemade current.

*toleranceset()

Sets the tolerance to be used when calculating the intersections of lines, etc.

Syntax *toleranceset(tolerance)

Argument tolerance The tolerance.

Page 242: Commands

Command File 240 Altair Engineering, Inc.

*translatecuttingplane()

Translates the base of the cutting plane.

Syntax *translatecuttingplane(distance)

Argument distance The distance that the cutting planeshould be translated.

*translatemark()

Translates entities along a vector a specified distance.

Syntax *translatemark(entity type, mark, vector, distance)

Arguments entity type The type of entity which to betranslated.

mark The number of the mark to betranslated.

vector The vector to translate along.

distance The distance to translate the mark.

Example To translate node 1 along the x axis 5 units:

*createvector(1,1.0,0.0,0.0)

*createmark(nodes,1) 1

*translatemark(nodes,1,1,5)

Comments A *createvector() and *createmark() command are required to definethe vector and mark.

Page 243: Commands

Altair Engineering, Inc. 241 Command File

*translatemarkwithsystem()

Translates entities along a vector of a specified system aspecified distance.

Syntax *translatemarkwithsystem(entity type, mark, vector,distance, system id,origin)

Arguments entity type The type of entity to be translated.

mark The number of the mark to betranslated.

vector The vector to translate along. Thisvector is relative to the specifiedsystem.

distance The distance to translate the mark.

system The ID of the system which the vectoris relative to. Note that the type ofsystem affects the meaning of vector.For example, the vector (1, 0, 0), x-axis, in a cylindrical coordinatesystem translates the mark radiallyout from the origin.

origin If zero, the vector is based at theorigin of the system. Otherwise, itspecifies a node ID whosecoordinates define the base point ofthe vector.

Example To translate node 1, 5 units along the y-axis of system 13 with node 2 being theorigin:

*createmark(nodes,1) 1

*createvector(1,0.0000,1.0000,0.0000)

*translatemarkwithsystem(nodes,1,1,5,13,2)

Comments A *createmark() and *createvector() command are required to definethe mark and vector. Translations in cylindrical and spherical coordinatesystems may be tangential. A side effect of this is that the habit of “reject”-ingthe translation by simply translating again using a negative distance will notwork. This command only translates entity types of element, node, component,and system. If an entity type of line or surface is part of a component, then theyare not translated.

Page 244: Commands

Command File 242 Altair Engineering, Inc.

*trueview()

Modifies the view so that a model-defined vector is normal to the screen.

Syntax *trueview(plane id)

Argument plane id The ID of the plane about whosenormal the vector is madeperpendicular to the screen, andwhose base will be placed in thecenter of the screen.

Example To make the vector (1.0, 0.0, 0.0) normal to the screen and to place the point(0.0, 0.0, 0.0) at the center of the screen:

*createplane(1,1.0,0.0,0.0,0.0,0.0,0.0)

*trueview(1)

*unmaskall()

Unmasks all masked entities.

Syntax *unmaskall()

*unmaskmark()

Unmasks a group of entities.

Syntax *unmaskmark(entities, mark)

Arguments entities The type of entities to be unmasked.

mark The mark which contains the entitiesto be unmasked.

Page 245: Commands

Altair Engineering, Inc. 243 Command File

*unmaskshown()

Unmasks all entities which would appear on the screen if they were not masked.

Syntax *unmaskshown()

*unsmoothelements()

From within the automeshing module, undoes the last operation of the *smoothelements()command for the specified face.

Syntax *unsmoothelements(faceindex)

Argument faceindex The index of the face into theparticular surface underconsideration.

*unstitchsurfaces()

Splits a surface into multiple surfaces (one new surface per face).

Syntax *unstitchsurfaces(mark)

Argument mark The mark ID of the surfaces to beunstitched.

Example To unstitch surfaces 109 and 131:

*createmark(surfaces,1) 109 131

*unstitchsurfaces(1,0)

Comments *createmark() is required for this command.

Page 246: Commands

Command File 244 Altair Engineering, Inc.

*updatecolor()

Changes HyperMesh 3.0 entity colors to their equivalent in HyperMesh 3.1.

Syntax *updatecolor(entity type, mark)

Arguments entity type The type of entities contained on themark. Valid entity types arecomponents, load collectors, systemcollectors, groups, curves, andassemblies.

mark The ID of the mark.

*usercheck()

Runs a template that can be used to check element quality

Syntax *usercheck(template file, output file, all)

Arguments template file The name of the template file.

output file The name of the output file.

all Determines the entities the template scans.

1 Specifies all entities.

0 Specifies only visible entities.

Comments The template file can use the *markfailed() template command to markelements that do not pass any user-specified test. *markfailed() highlightsthe element on the screen and also puts the element on the user mark.

Page 247: Commands

Altair Engineering, Inc. 245 Command File

*vectorcreate()

Creates a vector entity using three components and a local coordinate system.

Syntax *vectorcreate(markid, xcomp, ycomp, zcomp, systemid)

Arguments markid The ID of the mark that contains the nodes whereyou want to create a vector.

xcomp The global x component of the vector entity.

ycomp The global y component of the vector entity.

zcomp The global z component of the vector entity.

systemid The ID of the local coordinate system in which tocreate the vector. Use zero (0) to specify the globalcoordinate system.

*vectorcreate_twonode()

Creates a vector entity described by two nodes.

Syntax *vectorcreate_twonode(n1, n2)

Arguments n1 The ID of the base node of the vector.

n2 The ID of the far node of the vector.

Comments This vector entity has both nodes associated with it. The magnitude anddirection of the vector changes if the positions of the nodes are moved.

*vectorcreate_xproduct()

Creates a vector entity by using the cross product of two other vectors.

Syntax *vectorcreate_xproduct(basenode, vector A, vector B,magnitude)

Arguments basenode The ID of the node where the base ofthe result is located after it is created.

vector A The ID of the first vector entity in thecross product.

Page 248: Commands

Command File 246 Altair Engineering, Inc.

vector B The ID of the second vector entity inthe cross product.

magnitude Magnitude of resulting vector.

*vectorlabel()

Turns the label(s) for vectors on or off.

Syntax *vectorlabel(on)

Argument on Use:

1 for on.

0 for off.

*vectorplot()

Generates a vector plot.

Syntax *vectorplot(title, vector size, mesh color, full size,constant size)

Arguments title The title which to be placed on theplot.

vector size The size of the vectors plotted on themodel in model units.

mesh color The color of the mesh (-1 for theelement color).

full size A logical which determines if the plotis full size.

constant size Set to 1 to plot all vectors with aconstant length; otherwise, set to 0.

Page 249: Commands

Altair Engineering, Inc. 247 Command File

*vectorsize()

Sets the size of a vector when it is plotted.

Syntax *vectorsize(size)

Argument size The size in model units in which thevectors should be plotted.

*vectorupdate()

Updates vector entities using three components and a local coordinate system.

Syntax *vectorupdate(markid, xcomp, ycomp, zcomp, magnitude,systemid, magnitudeflag, directionflag, systemflag)

Arguments markid The ID of the mark that contains thevectors to update.

xcomp The global x component of thevectors.

ycomp The global y component of thevectors.

zcomp The global z component of thevectors.

magnitude The magnitude of the vector.

systemid The ID of the local coordinate systemin which to update the vectors.

magnitudeflag A flag (0,1) to update the magnitudeof the vector.

directionflag A flag (0,1) to update the direction ofthe vector.

systemflag A flag (0,1) to update the system ofthe vector.

Page 250: Commands

Command File 248 Altair Engineering, Inc.

*vectorupdate_twonode()

Updates a vector entity described by two nodes.

Syntax *vectorupdate_twonode(markid, n1, n2, updatetail,updatehead)

Arguments markid The ID of the mark that contains thevectors to be updated.

n1 The ID of the base node of the vector.

n2 The ID of the 2nd node of the vector.

updatetail A flag (0,1) to update the tail(base)node.

updatehead A flag (0,1) to update the head node.

Comments This vector entity has both nodes associated with it. The magnitude anddirection of the vector changes if the nodal positions are moved.

*vectorupdate_xproduct()

Updates a vector entity created from the cross product of two other vectors.

Syntax *vectorupdate_xproduct(markid, basenode, vector A, vectorB, magnitude, baseflag, directionflag)

Arguments markid The ID of the mark that contains thevectors to update.

basenode The ID of the node where the base ofthe result is located after it isupdated.

vector A The ID of the first vector entity in thecross product.

vector B The ID of the 2nd vector entity in thecross product.

magnitude Magnitude of vectors.

baseflag A flag (0,1) to update the base nodeof the vector.

directionflag A flag (0,1) to update the directionand magnitude of the vector.

Page 251: Commands

Altair Engineering, Inc. 249 Command File

*verticescombine()

Given one surface fixed point to retain, and one or more additional fixed points, combines all of thepoints into the first point. Some surface edges or entire surfaces may be deleted in the process.

Syntax *verticescombine(retained_point, mark)

Arguments retained_point The ID of the point to keep.

mark The ID of the mark containing the pointsthat are to be adjusted.

Example To combine points 7, 8, and 9 into point 21:

*createmark(points,2) 7 8 9

*verticescombine(21,2)

Comments Typically, the points to be combined must be very close to each other.

*verticesmarksuppress()

Removes the selected fixed points from their surfaces, and gives you the option to create free pointsat those locations.

Syntax *verticesmarksuppress(mark, breakangle, saveaspoints)

Arguments mark The ID of the mark containing the points.

breakangle The test threshold used to prevent theaccidental removal of points that correspondto corners, which are necessary for propermesh generation.

saveaspoints 1 To create free points at the locationsof the removed fixed points.

Example To suppress points 25 and 26, using a 30 degree breakangle:

*createmark(points,1) 25 26

*verticesmarksuppress(1,30.0,0)

Comments The *createmark() command is required.

Page 252: Commands

Command File 250 Altair Engineering, Inc.

*view()

Modifies the current view.

Syntax *view(view name)

Argument view name The view name can be one of the following strings:

bottom Bottom view.

down Rotates rotation angledegrees down.

front Front view.

left Rotates rotation angledegrees to the left.

oside Other side view.

plan Plan view.

rear Rear view.

right Rotates rotation angledegrees to the right.

side Side view.

up Rotates rotation angledegrees up.

leftside Left side view.

rightside Right side view.

top Top view.

iso 1 Isometric view 1.

iso 2 Isometric view 2.

reverse Reverse the presentview.

ccw Rotate viewcounterclockwise.

cw Rotate view clockwise.

Comments The rotation angle is defined by *rotationangleset().

Page 253: Commands

Altair Engineering, Inc. 251 Command File

*view_restoreprevious()

Return to previous view state.

Syntax *view_restoreprevious()

*visualizemode()

Sets the parameters for visualization mode.

Syntax *visualizemode(hiddenline, fillmode, meshmode, plot)

Arguments hiddenline Set to 1 for hidden line, 0 for wireframe.

fillmode Set to -2 for contours, -1 for elementcolor, or 0-15 for constant color.

meshmode Set to -2 for contours, -1 for elementcolor, or 0-15 for constant color.

plot Set to 1 to replot the screen after thiscommand has executed, otherwise 0.

Comments This command is valid only after the system has entered into visualizationmode.

*wait()

Pauses execution of a command file.

Syntax *wait(type)

Argument type Specifies the type of wait state. If no parameteris specified or type is set to zero, HyperMeshwaits for a mouse button to be selected beforecontinuing execution. If a value is specified,HyperMesh waits that many seconds beforecontinuing execution.

Example To make a command file pause for 3 seconds:

*wait(3)

Page 254: Commands

Command File 252 Altair Engineering, Inc.

*walldisplay()

Displays a wall.

Syntax *walldisplay(blockname, function, wallname)

Arguments blockname The name of the block which containsthe wall.

function The function to be performed.

wallname The name of the wall.

*weld()

Creates a weld element between two nodes.

Syntax *weld(independent, dependent, length, systems, movenode)

Arguments independent The independent node.

dependent The dependent node.

length The length of the weld.

systems Determines if systems should be builtat the end of the node (1 for yes, 0 forno).

movenode Set to 1 to move the nodeperpendicular to the surface of theelements, otherwise 0.

Example To build a weld element between nodes 100 and 101 with length 1.0 and withoutsystems being built at the ends of the weld element:

*weld(100,101,1.0,0,0)

Page 255: Commands

Altair Engineering, Inc. 253 Command File

*window()

Modifies the current window:

Syntax *window(function, xmin, ymin, xmax, ymax)

Arguments function One of the following which definesthe function being performed:

When function is set to 0, the windowis redefined so that all of the currentmodel is inside the window. All of theother parameters are ignored.

When function is set to 1, the windowis recalculated. All of the otherparameters are ignored. Thisfunction is only used internally.

When function is set to 2, zooming isperformed on the current windowbased on the value passed in xmin. Ifxmin is positive, the current window ismultiplied by xmin, and the result iszooming in. If xmin is negative, thecurrent window is divided by xmin,and the result is zooming out. This isdefined each time the + and -zooming options are used.

When function is set to 3, the windowis set to the values passed in xmin,ymin, xmax, and ymax. Theparameters are specified in modelunits. This is defined each time the zzooming option is used.

When function is set to 4, the windowis centered at the point specified byxmin and ymin. The parameters arespecified in model units. This isdefined each time the c paning optionis used.

xmin The minimum x value of the window.

ymin The minimum y value of the window.

xmax The maximum x value of the window.

ymax The maximum y value of the window.

Page 256: Commands

Command File 254 Altair Engineering, Inc.

*writefile()

Saves a binary HyperMesh database.

Syntax *writefile(filename)

Argument filename The name of the file where thecurrent database is to be saved.

Example To save the current model in a file called mymodel.hm:

*writefile(mymodel.hm)

Comments If the file already exists, HyperMesh asks for confirmation before overwriting.

*xyplotchangemode()

Changes the mode of an extended plot.

Syntax *xyplotchangemode(plotname, mode)

Arguments plotname Name of the extended (dual) plot to change

mode New mode value (2 or 5)

Example *xyplotchangemode(“results”, 5)

Comments Extended (or dual) plots can display data in two modes. In complex mode,(mode==2), the Y-axis of the bottom plot is the real component, while the Y-axisof the top plot is the imaginary component. In phase/magnitude mode(mode==5), the Y-axis of the bottom plot is magnitude (in logorythmic form),while the Y-axis of the top plot is phase.

Other mode indices (besides 2 and 5) are reserved for future use.

Page 257: Commands

Altair Engineering, Inc. 255 Command File

*xyplotcoloroverride()

Sets the override color for xy plots.

Syntax *xyplotcoloroverride(color)

Argument color Set to the color which should be usedto plot all of the xy plot information onthe screen (1-15).

Comments If the color is set with this command, all of the entities on an xy plot are plottedin that color. If color is set to zero, then the color of each of the entities on thexy plot is used.

*xyplotcreate()

Creates an xy plot.

Syntax *xyplotcreate(plot name, like plot)

Arguments plot name The name of the plot to be created.

like plot The name of the plot from which thenew plot should get its default values.

*xyplotcreatecomplex()

Creates an extended or dual plot that contains two sub-plots.

Syntax *xyplotcreatecomplex(plot name)

Argument plot name The name of the plot to be created.

*xyplotcurvecreate()

Creates a curve.

Syntax *xyplotcurvecreate(curve name)

Argument curve name The name of the curve being created.

Page 258: Commands

Command File 256 Altair Engineering, Inc.

*xyplotcurvemodify()

Modifies a curve.

Syntax *xyplotcurvemodify(curve name, item name, string, value,plot)

Arguments curve name The name of the curve beingmodified.

item name The name of the item of data beingmodified.

string The string value of the item.

value The value of the item.

plot A logical which determines if thecurrent xy plot should be replottedwhen the change is made to thecurve.

*xyplotcurvepermute()

Permutes a curve.

Syntax *xyplotcurvepermute(curve name)

Argument curve name The name of the curve to bepermuted.

*xyplotdraw()

Plots an xy plot.

Syntax *xyplotdraw(plot name)

Argument plot name The name of the xy plot to bereplotted.

Page 259: Commands

Altair Engineering, Inc. 257 Command File

*xyplotexpand()

Expands a plot to cover the entire graphics region of the screen.

Syntax *xyplotexpand(plot name)

Argument plot name The name of the xy plot to beexpanded.

*xyplotfindcurves()

Resizes the xy plot window so that the curves on the xy plot are fully visible.

Syntax *xyplotfindcurves(plot name)

Argument plot name The name of the plot to be modified.

*xyplotmodify()

Modifies an xy plot.

Syntax *xyplotmodify(plot name, item name, string, value, plot)

Arguments plot name The name of the plot to be modified.

item name The name of the data item associatedwith the xy plot which should bemodified.

string The string value of the data item.

value The value of the data item.

plot A logical which determines if the xyplot should be redrawn aftermodification.

Page 260: Commands

Command File 258 Altair Engineering, Inc.

*xyplotonecurvemath()

Performs a math function on a curve.

Syntax *xyplotonecurvemath(function, outputname, xbased, factor)

Arguments function The function being performed.

outputname The name of the output curve.

xbased 1, if the function should work on the xcoordinate; 0, if the function shouldwork on the y coordinate.

factor The factor to be used in thecalculation.

*xyplotorganize()

Organizes the active plots so that they are fully visible on the screen.

Syntax *xyplotorganize()

*xyplotpage()

Pages through the active xy plots making each plot the entire size of the screen, and then pausinguntil a mouse click.

Syntax *xyplotpage()

*xyplotpop()

Pops an xy plot to the top level.

Syntax *xyplotpop(plot name)

Argument plot name The name of the plot to be popped.

Page 261: Commands

Altair Engineering, Inc. 259 Command File

*xyplotpush()

Pushes an xy plot to the bottom level.

Syntax *xyplotpush(plot name)

Argument plot name The name of the plot to be pushed.

*xyplotreadcurve()

Reads a curve(s) from an ASCII file.

Syntax *xyplotreadcurve(filename)

Argument filename The name of the file which containsthe curve data.

*xyplotregisterexternalreader()

Registers a translator for use in the edit curves panel.

Syntax *xyplotregisterexternalreader(path)

Argument path path of the executable for the reader.

Example *xyplotregisterexternalreader(daisy.exe).

Comments External readers allow you to expand the file reading capabilities of the editcurves panel through the addition of custom readers. Custom readers can bewritten in C or Fortran.

*xyplotregisterimporttemplate()

Registers an import template.

Syntax *xyplotregisterimporttemplate(filename)

Argument filename The name of your template file.

Page 262: Commands

Command File 260 Altair Engineering, Inc.

*xyplotsetcurrent()

Sets the current xy plot.

Syntax *xyplotsetcurrent(plot name)

Argument plot name The name of the plot to be madecurrent.

*xyplotsetcurve()

Sets the current curve.

Syntax *xyplotsetcurve(curve name)

Argument curve name The name of the current curve.

*xyplotsetcurves()

Sets the curve pointers on a plot.

Syntax *xyplotsetcurves(plotname, mark)

Arguments plotname The name of the plot whose curvepointers should be set.

mark The ID of the mark which contains thecurves to be drawn on the plot.

*xyplotsetsecondcurve()

Sets the second curve to be used when performing mathematical functions on a curve.

Syntax *xyplotsetsecondcurve(curvename)

Argument curvename The name of the curve.

Page 263: Commands

Altair Engineering, Inc. 261 Command File

*xyplotstack()

Stacks the active xy plots.

Syntax *xyplotstack()

*xyplottwocurvemath()

Performs a math function on two curves.

Syntax *xyplottwocurvemath(function, outputcurve, xbased)

Arguments function The function to be performed.

outputcurve The name of the output curve.

xbased 1, if the function should operate onthe x coordinate; 0, if the functionshould operate on the y coordinate.

*xyplotwindow()

Sets the minimum and maximum values for the plot window.

Syntax *xyplotwindow(plotname, xmin, xmax, ymin, ymax)

Arguments plotname The name of the plot.

xmin The minimum value which thewindow should be set to along the xaxis.

xmax The maximum value which thewindow should be set to along the xaxis.

ymin The minimum value which thewindow should be set to along the yaxis.

ymax The maximum value which thewindow should be set to along the yaxis.

Page 264: Commands

Command File 262 Altair Engineering, Inc.

*xyplotzoomout()

Modifies the window of an xy plot by zooming out (reducing the size of the curves).

Syntax *xyplotzoomout(plot name)

Argument plot name The name of the plot to be modified.

*zoomfactorset()

Sets the zoom factor used when a “+” or “-” is selected in the permanent menu.

Syntax *zoomfactorset(factor)

Argument factor The new zoom factor.