PCL Reference Manual > Finite Element Functions > Create Action
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
Create Action
This section is used to describe some of the functions used to create finite element model (FEM) nodes, elements, multi-point constraints (MPCs), meshes, and mesh seeds.
 
fem_conn_fastener_create
(id, pname, method, fmt, gs, ga, gb, pata, patb)
 
Description:
This function will create fastener connectors.
Input:
INTEGER
id
The starting id for the new connector(s). If zero, then fetch the next available id from the database.
STRING[]
pname[]
The connector property name.
STRING[]
method
The connector creation method (Projection or Axis).
STRING[]
fmt
The weld format (ELPAT, PARTPAT, ALIGN, ELEMID, or GRIDID).
STRING[]
gs
List of connector locations (nodeds or xyz).
STRING[]
ga
List of surface A pierce nodes.
STRING[]
gb
List of surface B pierce nodes.
STRING[]
pata
List of surface A patch identifiers.
STRING[]
patb
List of surface B patch identifiers.
Output:
INTEGER
<Return Value>
This function returns a value of 0 if successful.
Error Conditions:
MSG_FEM_CONN_ZERO_DIAM
MSG_FEM_CONN_GS_OR_GA_REQD
MSG_FEM_CONN_ALIGN_GA_GB_REQD
MSG_FEM_CONN_PATA_PATB_REQD
MSG_FEM_CONN_BAD_POINT_PATCH
MSG_FEM_CONN_GS_NODE_ID_REQD
MSG_FEM_CONN_PROP_NOT_FOUND
 
fem_conn_fastener_prop_create
(name, diameter, kti, kri, mass, mcid, mflag, id)
Description:
This function will create a fastener connector property record in the database.
Input:
STRING[]
name
The name of the connector property.
REAL
diameter
The connector diameter.
REAL(3)
kti
Stiffness values in directions 1 to 3.
REAL (3)
kri
Rotation stiffness values in directions 1 to 3.
REAL
mass
The lumped mass of the fastener.
INTEGER
mcid
The element stiffness coordinate system (-1 = use element coordinate system).
INTEGER
mflag
Defines whether the coordinate system specified for mcid is absolute (1) or relative (0).
Output:
INTEGER
id
The ID of the new connector property.
INTEGER
<Return Value>
This function returns a value of 0 if successful.
Error Conditions:
DbDuplicateEntry
DbMaterialNotFound
 
fem_conn_property_create
(name, type, mat, rvals, ivals, id)
 
Description:
This function will create a connector property record in the database.
Input:
STRING[]
name
The name of the connector property.
STRING[]
type
The type of connector property (General, Spot Weld).
STRING[]
mat
Name of the reference material property.
REAL()
rvals
Real property values (diameter, Idmin, Idmax, etc.).
INTEGER()
ivals
Integer property values.
Output:
INTEGER
id
The ID of the new connector property.
INTEGER
<Return Value>
This function returns a value of 0 if successful.
Error Conditions:
DbDuplicateEntry
DbMaterialNotFound
 
fem_conn_spotweld_create
(id, pname, method, fmt, gs, ga, gb, pata, patb, sptyp)
Description:
This function will create a spot weld connector property record in the database.
Input:
INTEGER
id
The starting id for the new connector(s). If zero, then fetch the next available id from the database.
STRING[]
pname[]
The connector property name.
STRING[]
method
The connector creation method (Projection or Axis).
STRING[]
fmt
The weld format (ELPAT, PARTPAT, ALIGN, ELEMID, or GRIDID).
STRING[]
gs
List of connector locations (nodeds or xyz).
STRING[]
ga
List of surface A pierce nodes.
STRING[]
gb
List of surface B pierce nodes.
STRING[]
pata
List of surface A patch identifiers.
STRING[]
patb
List of surface B patch identifiers.
STRING[]
sptyp
Surface patch types (GRIDID format only).
Q4Q8 = quad4/quad8, Q4T6 = quad4/tri6, etc.
Output:
INTEGER
<Return Value>
This function returns a value of 0 if successful.
Error Conditions:
MSG_FEM_CONN_ZERO_DIAM
MSG_FEM_CONN_GS_OR_GA_REQD
MSG_FEM_CONN_ALIGN_GA_GB_REQD
MSG_FEM_CONN_PATA_PATB_REQD
MSG_FEM_CONN_BAD_POINT_PATCH
MSG_FEM_CONN_GS_NODE_ID_REQD
MSG_FEM_CONN_PROP_NOT_FOUND
 
 
 
fem_conn_spotweld_prop_create
(name, mat, diameter, imset, id)
 
Description:
This function will create spot weld connectors.
Input:
STRING[]
name
The name of the connector property.
STRING[]
mat
Name of the reference material property.
REAL
diameter
The connector diameter.
INTEGER
imset
The M-set flag (0=OFF, 1=ON).
Output:
INTEGER
id
The ID of the new connector property.
INTEGER
<Return Value>
This function returns a value of 0 if successful.
Error Conditions:
DbDuplicateEntry
DbMaterialNotFound
fem_create_nodes_1
(ref_coord_frame, anly_coord_frame, flag_geometry, node_select, point_select, fem_nodes_created)
Description:
This function will create and display new FEM nodes.
Input:
STRING
ref_coord_frame[]
This value specifies an identifier for the reference coordinate frame.
STRING
anly_coord_frame[]
This value specifies an identifier for the analysis coordinate frame.
INTEGER
flag_geometry
This value of 1 for the old associated being true and 2 to use the new numbering control scheme.
STRING
node_select[]
This value specifies a selection of node identifiers to be used for the FEM nodes being created.
STRING
point_select[]
This value specifies a selection of points defining the locations of the FEM nodes to be created.
Output:
STRING
fem_nodes_created[VIRTUAL]
This value returns a description of the FEM nodes created.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
Space is internally allocated for the string returned by the output value fem_nodes_created. It is the responsibility of the calling function to free the allocated string storage space.
Example:
Please see fem_create_nodes_1.
fem_create_elems_1
(shape, element_type, element_select, connection_pattern, flag, corner1_node_select, corner2_node_select, corner3_node_select, corner4_node_select, corner5_node_select, corner6_node_select, corner7_node_select, corner8_node_select, fem_elements_created)
Description:
This function will create and display new elements.
Input:
STRING
shape[]
This value specifies the shape of the elements to be created. Currently, this value is not used.
STRING
element_type[31]
This value specifies the element type to be created. See the remarks below.
STRING
element_select[]
This value specifies a selection of element identifiers to be used for the elements being created.
STRING
connection_pattern[31]
This value specifies the type of connection made between elements. This case sensitive value may be defined as “Elem Edge”, “Elem Face”, “PWL”, and “Standard”. Setting this argument to any other value will cause the default or “Standard” behavior to be used.
INTEGER
flag
This value of 1 for the old midnode_flag being true and 2 to use the new numbering control scheme.
STRING
corner1_node_select[]
This value specifies a selection of entities used to define the nodes for the first corner of the elements being created.
STRING
corner2_node_select[]
This value specifies a selection of entities used to define the nodes for the second corner of the elements being created.
STRING
corner3_node_select[]
This value specifies a selection of entities used to define the nodes for the third corner of the elements being created.
STRING
corner4_node_select[]
This value specifies a selection of entities used to define the nodes for the fourth corner of the elements being created.
STRING
corner5_node_select[]
This value specifies a selection of entities used to define the nodes for the fifth corner of the elements being created.
STRING
corner6_node_select[]
This value specifies a selection of entities used to define the nodes for the sixth corner of the elements being created.
STRING
corner7_node_select[]
This value specifies a selection of entities used to define the nodes for the seventh corner of the elements being created.
STRING
corner8_node_select[]
This value specifies a selection of entities used to define the nodes for the eighth corner of the elements being created.
Output:
STRING
fem_elements_created[]
This value returns a description of the elements created. The storage space for this string must be allocated before this function is called. Unfortunately, the exact length requirements for this string is indeterminate. A good working value for the length of this string is: “the string length of the input value element_select + 256”.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
The input value element_type can have the following values:
 
 
 
Type Value
Type Value
 
 
Point
Tet14
Bar2
Tet15
Bar3
Tet16
Bar4
Tet40
Tria3
Wedge6
Tria4
Wedge7
Tria6
Wedge15
Tria7
Wedge16
Tria9
Wedge20
Tria13
Wedge21
Quad4
Wedge24
Quad5
Wedge52
Quad8
Hex8
Quad9
Hex9
Quad12
Hex20
Quad16
Hex21
Tet4
Hex26
Tet5
Hex27
Tet10
Hex32
Tet11
Hex64
Example:
Please see fem_create_elems_1.
fem_create_mpc_cyclic_symmetry
(mpc_id, tolerance, cyl_coord_frame, dependent_region, independent_region)
Description:
This function will create and display a cyclic symmetry nodal MPC.
Input:
INTEGER
mpc_id
This value specifies the ID value to be used to identify the created MPC.
REAL
tolerance
This value specifies the tolerance used when comparing the coordinates of the FEM nodes in the dependent and independent regions. This argument must have a positive, nonzero value.
STRING
cyl_coord_frame[]
This value specifies the cylindrical coordinate frame whose z axis is the axis of symmetry.
STRING
dependent_region[]
This value specifies a selection of entities that defines the dependent region. Entities in this region can be nodes, 3D element faces, 2D element edges, points, curves, or surfaces.
STRING
independent_region[]
This value specifies a selection of entities that defines the independent region. Entities in this region can be nodes, 3D element faces, 2D element edges, points, curves, or surfaces.
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
This function will match finite element nodes associated to the entities in the dependent region to the finite element nodes associated to the entities in the independent region by first mapping them into the cylindrical coordinate system specified by the input value cyl_coord_frame.
The r and z coordinates of the two sets of finite element nodes will then be compared to determine a match. An MPC will be created that will tie every degree of freedom from a dependent finite element node to its matching independent finite element node. The analysis coordinate frame of the matched finite element nodes will be translated to the cylindrical coordinate frame specified by the input value cyl_coord_frame with the exception of any finite element nodes that lie on the axis of symmetry.
For the finite element nodes that lie on the axis of symmetry, a rectangular coordinate frame whose z axis lies on the axis of symmetry will be created and assigned as the analysis coordinate frame.
This function can display an information popup form indicating that the MPC and possibly a coordinate frame has been created.
Example:
None.
fem_create_mpc_nodal
(mpc_id, mpc_type, constant, num_terms, dependency_state, term_coefficients, node_select, freedom_select)
Description:
This function will create and display an MPC which has an association with a selection of specified FEM nodes.
Input:
INTEGER
mpc_id
This value specifies the ID value to be used to identify the created MPC.
STRING
mpc_type[31]
This value specifies the type of the MPC that will be created.
REAL
constant
This value specifies the constant term used with an MPC of the “Explicit” type.
INTEGER
num_terms
This value specifies the number of terms in the MPC.
LOGICAL
dependency_state(num_terms)
This value specifies the dependency state for each term in the MPC where setting an offset to TRUE indicates that the term is dependent and setting an offset to FALSE indicates that the term is independent.
REAL
term_coefficients(num_terms)
This value specifies the coefficients for each term in the MPC.
STRING
node_select[](num_terms)
This value specifies the identifiers for the nodes used for each term in the MPC.
STRING
freedom_select[](num_terms)
This value specifies the degrees of freedom for each term in the MPC.
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-1
This is an internal status condition. There is no corresponding status message in the message database.
1
This is an internal status condition. There is no corresponding status message in the message database.
 
Remarks:
This function will display an information popup form indicating that the MPC has been created.
Example:
Please see fem_create_mpc_nodal.
fem_create_mpc_nodal2
(mpc_id, mpc_type, constant, num_terms, dependency_state, term_coefficients, node_select, freedom_select)
Description:
This function will create and display an MPC which has an association with a selection of specified FEM nodes.
Input:
INTEGER
mpc_id
This value specifies the ID value to be used to identify the created MPC.
STRING
mpc_type[32]
This value specifies the type of the MPC that will be created.
REAL
constant
This value specifies the constant term used with an MPC of the “Explicit” type.
INTEGER
num_terms
This value specifies the number of terms in the MPC.
LOGICAL
dependency_state(num_terms)
This value specifies the dependency state for each term in the MPC where setting an offset to TRUE indicates that the term is dependent and setting an offset to FALSE indicates that the term is independent.
STRING
term_coefficients(num_terms)
This value specifies the coefficients for each term in the MPC.
STRING
node_select[](num_terms)
This value specifies the identifiers for the nodes used for each term in the MPC.
STRING
freedom_select[](num_terms)
This value specifies the degrees of freedom for each term in the MPC.
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
-1
This is an internal status condition. There is no corresponding status message in the message database.
1
This is an internal status condition. There is no corresponding status message in the message database.
 
Remarks:
This function will display an information popup form indicating that the MPC has been created.
Example:
None.
 
fem_create_mpc_sliding_surface
(mpc_id, tolerance, coord_option, coord_frame, normal_axis, dependent_region, independent_region)
 
Description:
This function will create and display a sliding surface nodal MPC.
Input:
INTEGER
mpc_id
This value specifies the ID value to be used to identify the created MPC.
REAL
tolerance
This value specifies the tolerance used when comparing the coordinates of the FEM nodes in the dependent and independent regions. This argument must have a positive, nonzero value.
STRING
coord_option[31]
This value specifies that a coordinate system is to be user specified or internally created. This argument accepts “User Specified” and “Automatic” as the only valid setting.
STRING
coord_frame[]
This value specifies the normal coordinate frame. This argument is used only when the input value coord_option is set to “User Specified”.
STRING
normal_axis[31]
This value specifies the axis that is normal to every FEM node. This argument accepts “Axis 1”, “Axis 2”, and “Axis 3” as the only valid settings. This argument is used only when the input value coord_option is set to “User Specified”.
STRING
dependent_region[]
This value specifies a selection of entities that defines the dependent region. Entities in this region can be 2D element edges, 2D elements, 3D element faces, 3D surface edges, and 3D surfaces.
STRING
independent_region[]
This value specifies a selection of entities that defines the independent region. Entities in this region can be 2D element edges, 2D elements, 3D element faces, 3D surface edges, and 3D surfaces.
 
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
This function will match finite element nodes associated to the entities in the dependent region to the finite element nodes in the independent region. This match is made by comparing the x, y, and z coordinates of the finite element nodes in the two regions.
The MPC will match the degree of freedom that is normal to the surface of a finite element node in the dependent region to its matching finite element node in the independent region.
The normal degree of freedom can be supplied by the calling function by setting the input value coord_option to “User Specified”, setting the input value coord_frame in an appropriate manner, and defining the normal axis of the supplied coordinate system by setting the input value normal_axis. The normal degree of freedom can also be internally calculated by setting the input value coord_option to “Automatic”. The normal degree of freedom will then be calculated by creating a coordinate frame for every node with the z axis set to be normal to the surface of the node. The degrees of freedom along the z axis of the computed coordinate frame will then be used in matching the finite element nodes in the dependent and independent regions.
This function can display an information popup indicating that the MPC and possible a coordinate frame has been created.
Example:
Please see fem_create_mpc_sliding_surface.
 
db_update_mesh_params
(smooth_factor, maximum_cycles, acceleration_factor, termination_factor, triangular_surf_mesh, triangle_rectangle)
Description:
This function will update isometric mesh parameters in the database.
Input:
REAL
smooth_factor
This value specifies the weighting factor for smoothing a mesh. This value can range from 0.0 to 1.0.
INTEGER
maximum_cycles
This value specifies the maximum number of smoothing cycles.
REAL
acceleration_factor
This value specifies the smoothing acceleration factor which ranges from 0.0 to 1.0.
REAL
termination_factor
This value specifies the smoothing termination factor which ranges from 0.0 to 0.2.
INTEGER
triangular_surf_mesh
This value specifies the mesh pattern for surfaces with a triangular shape and can have a value of either 1 or 2.
INTEGER
triangle_rectangle
This value specifies the triangular element pattern for rectangular surfaces and can have a value that ranges from 1 to 4.
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
This is only a partial list of the error values that can be returned by this function.
13000004
Duplicate entry exists in table
13000007
An unspecified database error occurred
13000047
Mesh not found
Remarks:
The input values to this function are not range checked. Calling this function with out of range values will cause problems with functions that make use of this information from the database.
Example:
None.
 
fem_create_mesh_2curve_1
(curve1_select, curve2_select, size_method, flag, global_edge_length, num_along_curve, num_across_curve, element_topology, node_select, element_select, anly_coord_frame, ref_coord_frame, num_fem_nodes, num_fem_elements, fem_nodes_created, fem_elements_created)
Description:
This function will create a FEM surface mesh between two curves using an isometric meshing operation.
Input:
STRING
curve1_select[]
This value specifies a selection of entities that defines the first set of curves.
STRING
curve2_select[]
This value specifies a selection of entities that defines the second set of curves.
INTEGER
size_method
This value specifies the method used to determine the size of the mesh. Setting this value to 1 will allow the function to use the input values num_along_curve and num_across_curve. Setting this value to anything other than 1 will allow the input value global_edge_length to be used.
INTEGER
flag
This value to use new numbering control scheme.
REAL
global_edge_length
This value specifies the global element edge length used in creating the mesh.
INTEGER
num_along_curve
This value specifies the number of mesh elements created along the curves defining the area where the mesh will be placed.
INTEGER
num_across_curve
This value specifies the number of elements created across the curves defining the area where the mesh will be placed.
STRING
element_topology[31]
This value specifies the topology of the element to be created. See the remarks below.
STRING
node_select[]
This value specifies an optional selection of node identifiers.
STRING
element_select[]
This value specifies an optional selection of element identifiers.
STRING
anly_coord_frame[]
This value specifies an identifier for the analysis coordinate frame.
STRING
ref_coord_frame[]
This value specifies an identifier for the reference coordinate frame.
Output:
INTEGER
num_fem_nodes
This value returns the number of FEM nodes created.
INTEGER
num_fem_elements
This value returns the number of elements created.
STRING
fem_nodes_created [VIRTUAL]
This value returns a description of the FEM nodes created.
STRING
fem_elements_created [VIRTUAL]
This value returns a description of the elements created.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
This function can create duplicate surfaces.
Space is internally allocated for the string returned by the output values fem_nodes_created and fem_elements_created. It is the responsibility of the calling function to free the allocated string storage space.
The input value element_topology can have the following values:
 
Topology Value
Topology Value
 
 
Quad4
Tria3
Quad5
Tria4
Quad8
Tria6
Quad9
Tria7
Quad12
Tria9
Quad16
Tria13
Example:
Please see fem_create_mesh_2curve_1.
 
fem_create_mesh_curv_1
(curve_select, flag, global_edge_length, element_topology, node_select, element_select, anly_coord_frame, ref_coord_frame, num_fem_nodes, num_fem_elements, fem_nodes_created, fem_elements_created)
 
Description:
This function will create a FEM curve mesh using an isometric meshing operation.
Input:
STRING
curve_select[]
This value specifies a selection of curves to be meshed.
INTEGER
flag
This value to use new numbering control scheme.
REAL
global_edge_length
This value specifies the global element edge length to be used for the mesh. This value must be greater than 0.
STRING
element_topology[31]
This value specifies the topology of the elements to be created and can be set to “Bar2”, “Bar3”, and “Bar4” only.
STRING
node_select[]
This value specifies an optional selection of FEM node identifiers.
STRING
element_select[]
This value specifies an optional selection of element identifiers.
STRING
anly_coord_frame[]
This value specifies an identifier for the analysis coordinate frame.
STRING
ref_coord_frame[]
This value specifies an identifier for the reference coordinate frame.
Output:
INTEGER
num_fem_nodes
This value returns the number of FEM nodes created by this function.
INTEGER
num_fem_elements
This value returns the number of elements created by this function.
STRING
fem_nodes_created [VIRTUAL]
This value returns a description of the FEM nodes created.
STRING
fem_elements_created [VIRTUAL]
This value returns a description of the elements created.
 
 
Remarks:
Space is internally allocated for the string returned by the output values fem_nodes_created and fem_elements_created. It is the responsibility of the calling function to free the allocated string storage space.
Example:
Please see fem_create_mesh_curv_1.
 
fem_create_mesh_sol_3
(mesher, options_control, solid_select, num_values, value_array, element_topology, node_select, element_select, anly_coord_frame, ref_coord_frame, num_fem_nodes, num_fem_elements, fem_nodes_created, fem_elements_created)
 
Description:
This function will create a FEM solid mesh.
Input:
STRING
mesher[31]
This value specifies the type of mesher to be used to create the FEM mesh and can be set to either “IsoMesh” or “TetHybrid”.
INTEGER
options_control
This value specifies the use of various options influencing the creation of the FEM mesh.
STRING
solid_select[]
This value specifies a selection of solids to be meshed.
INTEGER
num_values
This value specifies the number of entries in the input value value_array.
REAL
value_array(num_values)
Values used by the meshers.
STRING
element_topology[31]
This value specifies the topology of the elements to be created. See the remarks below.
STRING
node_select[]
This value specifies an optional selection of FEM node identifiers.
STRING
element_select[]
This value specifies an optional selection of element identifiers.
STRING
anly_coord_frame[]
This value specifies an identifier for the analysis coordinate frame.
STRING
ref_coord_frame[]
This value specifies an identifier for the reference coordinate frame.
 
Output:
INTEGER
num_fem_nodes
This value returns the number of FEM nodes created by this function.
INTEGER
num_fem_elements
This value returns the number of elements created by this function.
STRING
fem_nodes_created [VIRTUAL]
This value returns a description of the FEM nodes created.
STRING
fem_elements_created [VIRTUAL]
This value returns a description of the elements created.
Remarks:
Space is internally allocated for the string returned by the output values fem_nodes_created and fem_elements_created. It is the responsibility of the calling function to free the allocated string storage space.
The input value element_topology can have the following values:
 
Type Value
Type Value
 
 
Tet4
Wedge20
Tet5
Wedge21
Tet10
Wedge24
Tet11
Wedge52
Tet14
Hex8
Tet15
Hex9
Tet16
Hex20
Tet40
Hex21
Wedge6
Hex26
Wedge7
Hex27
Wedge15
Hex32
Wedge16
Hex64
Example:
Please see fem_create_mesh_sol_3.
 
fem_create_mesh_sol_5
(solid_list, mesher_pick, elem_topo, mesher_val_qtt, ac_mesher_val, flags, FMF_perform, FMF_make_dup_node, FMF_stop_when_interf_meshed, FMF_use_prox_tol, FMF_prox_tol, FMF_solid_neighbors, node_list, elem_list, a_coord_frame, r_coord_frame, num_nodes, num_elems, nodes_created, elems_created)
Description:
This function will call the appropriate solid mesher.
Input:
STRING
solid_list[]
List of solids to be meshed. Ex:  “Solid 1:3”
STRING
mesher_pick[]
Mesher to be used: “IsoMesh”, “TetState”, “TetAries” or “TetHybrid” (same mesher, different names), or “HexMesh.”
STRING
elem_topo[]
Element topology (i.e. “Tet4”, “Tet10”, “Tet16”).
INTEGER
mesher_val_qtt
Number of values in ac_mesher_val().
STRING
ac_mesher_val[]
(1:NUMVAL)
Note that NUMVAL=4
(1) : Global Edge Length
(2) : Maximum h/L curvature error.
(3) : Minimum Edge Length as a ratio of the Global Edge        Length.
(4) : 0.0
INTEGER
flags
= 0 as default
+= 4 (FEM_MF_CREATE_P_ELEMENTS_F) --> Create P-      Elements.
+= 1 (FEM_MF_PREVIEW_ON_F) --> Do a preview.
+= 16384 (FEM_MF_USE_NEW_NUMBERING_CONTROL_F)
      --> To use the new numbering control (we always             want this).
+= 1048576 (FEM_MF_GRADE_MESH_F) --> Allow for       mesh internal coarsening.
+= 16 (FEM_MF_CURVATURE_CHECK_F) --> Perform       mesh curvature check.
+= 512 (FEM_MF_ALLOW_TRIS_IN_QUAD_MESH_F)
      --> If we allow Tris in Quad meshes.
INTEGER
FMF_perform
Note: FMF_ stands for “force-matched face.”
Force faces to match when they are non-congruent or doubled. This is known as assembly meshing.
1--> YES    0--> NO
INTEGER
FMF_make_dup_node
For force-matched faces, create duplicate nodes.
1--> YES    0-> NO
INTEGER
FMF_stop_when_interf_meshed
For force-matched solid faces, stop and return 2D meshes once established.
1--> YES    0--> NO
INTEGER
FMF_use_prox_tol
For force-matched solid faces, to determine matching solid faces. A temporary parasolid geometric imprinting is always performed, but we should always use a proximity tolerance as well (used at geometric vertices and edge midpoints).
1--> YES    0--> NO
REAL
FMF_prox_tol
For force-matched solid faces, this is the proximity tolerance value used to determine if they should match or not.
STRING
FMF_solid_neighbors[]
For force-matched solid faces, this is a list of neighboring solids for which we will attempt to match existing meshed faces. Matching faces are determined by a proximity tolerance (FMF_prox_tol) on geometric vertices and edge midpoints. Ex: “Solid 4:5”
STRING
node_list[]
List of output node IDs. Ex: “Node 1:100”
STRING
elem_list[]
List of output element IDs. Ex: “Elm 1:100”
STRING
a_coord_frame[]
Analysis coordinate frame. Ex: “Coord 0”
STRING
r_coord_frame[]
Reference coordinate frame. Ex: “Coord 0”
Output:
INTEGER
num_nodes
Number of nodes created.
INTEGER
num_elems
Number of elements created.
STRING
nodes_created []
IDs of nodes created.    Ex:   “Node 1:100”
Allocation is done within, you need to release with sys_free_string().
STRING
elems_created []
IDs of elements created.    Ex:   “Elm 1:100”
Allocation is done within, you need to release with sys_free_string().
Remarks:
Space is internally allocated for the string returned by the output values nodes_created and elems_created. It is the responsibility of the calling function to free the allocated string storage space.
The input value elem_topo can have the following values:
 
Type Value
Type Value
 
 
Tet4
Wedge20
Tet5
Wedge21
Tet10
Wedge24
Tet11
Wedge52
Tet14
Hex8
Tet15
Hex9
Tet16
Hex20
Tet40
Hex21
Wedge6
Hex26
Wedge7
Hex27
Wedge15
Hex32
Wedge16
Hex64
Example:
Please see fem_create_mesh_sol_5.
  
fem_create_mesh_surf_3
(mesher, options_control, surface_select, num_values, value_array, element_topology, node_select, element_select, anly_coord_frame, ref_coord_frame, num_fem_nodes, num_fem_elements, fem_nodes_created, fem_elements_created)
 
Description:
This function will create a FEM surface mesh.
Input:
STRING
mesher[31]
This value specifies the type of mesher to be used to create the FEM mesh and can be set to either “IsoMesh” or “Paver”.
INTEGER
options_control
This value specifies the use of various options influencing the creation of the FEM mesh. See the remarks below. Multiple options can be set by adding together the values for the different options. For example: setting this input value to 9748 would turn on all of the options.
STRING
surface_select[]
This value specifies a selection of surfaces to be meshed.
INTEGER
num_values
This value specifies the number of entries in the input value value_array. This value should be set to 1 if the input value mesher is set to “IsoMesh” and 4 if the input value mesher is set to “Paver”.
STRING
value_array(num_values)[]
This value specifies the global edge length in offset 1, the allowable curvature error for the curvature check in offset 2, the minimum desired edge length for the mesh in offset 3, and the maximum desired edge length for the mesh in offset four. The global edge length must be greater than 0.0. The allowable curvature error can range from 0.0 to 0.25. The desired edge length values must both be greater than zero and the maximum value must be greater than the minimum value. Offset 1 is used only when the input value mesher”is set to “IsoMesh” and the offsets 2, 3, and 4 are used only when the input value mesher is set to “Paver”.
STRING
element_topology[31]
This value specifies the topology of the elements to be created. See the remarks below.
STRING
node_select[]
This value specifies an optional list of FEM nodes.
STRING
element_select[]
This value specifies an optional list of elements.
STRING
anly_coord_frame[]
This value specifies an identifier for the analysis coordinate frame.
STRING
ref_coord_frame[]
This value specifies an identifier for the reference coordinate frame.
Output:
INTEGER
num_fem_nodes
This value returns the number of FEM nodes created by this function.
INTEGER
num_fem_elements
This value returns the number of elements created by this function.
STRING
fem_nodes_created [VIRTUAL]
This value returns a description of the FEM nodes created.
STRING
fem_elements_created [VIRTUAL]
This value returns a description of the elements created.
Remarks:
Space is internally allocated for the string returned by the output values fem_nodes_created and fem_elements_created. It is the responsibility of the calling function to free the allocated string storage space.
 
The integer input value options_control can have the following values:
 
Value
Option Description
4
Create a p-element mesh to be created.
16
Do a curvature check operation.
512
Allow triangular elements in a quad mesh
1024
Use the global space only.
8192
Use the desired edge lengths
The string input array value_array can have the following values:
0
Global Length
1
Maximum Deviation
2
Minimum Length
3
Maximum Length
The input value element_topology can have the following values:
 
Type Value
 
Type Value
Quad4
 
Tria3
Quad5
 
Tria4
Quad8
 
Tria6
Quad9
 
Tria7
Quad12
 
Tria9
Quad16
 
Tria13
Example:
Please see fem_create_mesh_surf_3.
 
fem_create_mesh_surf_4
(mesher_pick, flag, surface_list, num_val, val_array_str, elem_topo, node_list, elem_list, a_coord_frame, r_coord_frame, num_nodes, num_elems, nodes_created, elems_created)
Description:
This function will deal with the various meanings of the val_array data.
Input:
STRING
mesher_pick[]
Mesher to be used: “IsoMesh” or “Paver”.
INTEGER
flag
Flag word, not used yet.
The integer input value flag can have the following values:
Value     Option Description
4              Create a p-element mesh to be created.
16            Do a curvature check operation.
512          Allow triangular elements in a quad mesh
1024        Use the global space only.
8192        Use the desired edge lengths
STRING
surface_list[]
List of surfaces to be meshed.
INTEGER
num_val
Number of float values.
STRING
val_array_str[]
String values.
The string input array val_array_str can have the following values:
0       Global Length
1       Maximum Deviation
2       Minimum Length
3       Maximum Length
STRING
elem_topo[]
Element topology (i.e.; “Quad4”).
STRING
node_list[]
List of output node IDs.
STRING
elem_list[]
List of output element IDs.
STRING
a_coord_frame[]
Analysis coordinate frame.
STRING
r_coord_frame[]
Reference coordinate frame.
Output:
INTEGER
num_nodes
Number of nodes created.
INTEGER
num_elems
Number of elements created.
STRING
nodes_created []
IDs of nodes created.
STRING
elems_created []
IDs of elements created.
Remarks:
Space is internally allocated for the string returned by the output values nodes_created and elems_created. It is the responsibility of the calling function to free the allocated string storage space.
The input value elem_topo can have the following values:
 
Type Value
Type Value
Quad4
Tria3
Quad5
Tria4
Quad8
Tria6
Quad9
Tria7
Quad12
Tria9
Quad16
Tria13
Example:
Please see fem_create_mesh_surf_4
 
fem_create_mesh_quad_4
( in_elem_list, bndy_vert_list, bndy_edge_list, bndy_seed_list, hard_node_list, hard_edge_list, soft_edge_list, hard_elem_list, user_node_id_list, user_elem_id_list, elem_type, elem_size, int_param, feature_param, num_out_elems, num_out_nodes, out_elem_list, out_node_list )
Description:
These functions will convert an input shell mesh to a quad/tria mesh.
Input:
STRING
in_elem_list
A list of element ids ( "ELEM2D" ). If the "Guide elements" integer parameter ( offset 16 )
= 0 these are the elements on the input mesh.
= 1 these are the guiding elements for the elements ids to be obtained from groups.
STRING
bndy_vert_list
A list of 4 or less node ids defining the boundary verticies used for iso-meshing. See the "Use iso-meshing" ( offset 3 ) integer parameter.
STRING
bndy_edge_list
A list of bar element ids defining input boundary edges.
STRING
bndy_seed_list
A list of node ids defining boundary seeds. These boundary seeds may or may not be on the input mesh defined for in_elem_list. See the "Seed type" integer parameter ( offset 1 ).
STRING
hard_node_list
A list of node ids for defining hard nodes. The nodes may or may not be on the input mesh and or the boundary of the input mesh.
STRING
hard_edge_list
A list of bar element ids defining hard edges. The end nodes of the hard edges may or may not be on the input mesh and or the boundary of the of the input mesh.
STRING
soft_edge_list
A list of bar element ids defining soft edges. The end nodes of the soft edges may or may not be on the input mesh and or the boundary of the of the input mesh.
STRING
file_name
The input data file name.
STRING
user_node_id_list
A list of output node ids defined by the user.
STRING
user_elem_id_list
A list of output element ids defined by the user.
STRING
elem_type
The output element type. Currently only "Quad4" and "Tria3" are supported.
REAL
elem_size
The created element length.
INTEGER
int_param
This value provides integer parameters. The fem_create_mesh_mom ( ) function call accepts a maximum of 30 integer parameters. The fem_create_mesh_quad_4 ( ) function call accepts a maximum of 8 integer parameters and should be considered to be OBSOLETE. See integer parameter definitions in Notes below.
REAL
feature_param
This value provides real parameters. The fem_create_mesh_mom ( ) function call accepts a maximum of 30 real parameters. The fem_create_mesh_quad_4 ( ) function call accepts a maximum of 8 real parameters and should be considered to be OBSOLETE. See feature parameter definitions in Notes below.
Output:
INTEGER
num_out_elems
The number of elements created.
INTEGER
num_out_nodes
The number of nodes created.
STRING
out_elem_list
[ VIRTUAL ]
A list of the created element ids.
STRING
out_node_list
[ VIRTUAL ]
A list of the created node ids.
INTEGER
<return value>
A value of zero if the function executed correctly.
Remarks:
The input data includes hard edges and soft edges:
hard edge: A hard edge or its projection onto the input mesh will be preserved on the output mesh.
soft edge: A soft edge is an edge on a soft feature line. Only two end nodes on a soft line will be preserved on the output mesh and the program will re-create nodes along the soft line.
The fem_create_mesh_mom () function call accepts a maximum of 30 integer and real parameters.
The fem_create_mesh_quad_4 () function call accepts a maximum of 8 integer and real parameters.
The fem_create_mesh_quad_4 () function call is OBSOLETE.
 
Integer parameter definitions by offset:
[1] Seed type.
= 0 uniform boundary seeding.
= 1 curvature based boundary seeding (not supported yet).
= 2 use existing boundary nodes as seeds.
= 3 use input boundary seeds defined by bndy_seed_list and bndy_edge_list.
[2] Delete the input mesh.
= 0 No
= 1 Yes
[3] Use iso-meshing.
= 0 Do not use iso-meshing.
= 1 Use iso-meshing to mesh 3 or 4 sided region.
[4] Feature flag for automatic feature recognition.
= 0 The flag is off
= 1 Define the hard/soft edges/nodes based on the
feature angle, feature size and feature radius.
[5] Seed preview flag.
= 0 The flag is off;
= 1 Return seeds and vertices on the boundary/feature curves.
= 2 Return seeds and vertices on the boundary/feature curves
and modified input mesh.
= 3 Return modified input mesh after seeding.
= 4 Return seeds and vertices on the boundary/feature curves
and congruent input mesh.
= 5 Return congruent input mesh after seeding.
[6] Size type
= 0 Uniform size control.
= 1 Curvature based size control for surfaces and curves,
TriaMesh only.
= 2 Surface curvature size control, no curve curvature,
TriaMesh only.
= 3 Input size control, currently not supported.
 
[7] Projection type
= -1 No projection.
= 0 Project on input mesh, default option.
= 1 Project on input mesh, default option.
= 2 Project on geometry.
= 3 Project on bi-linear Coons patches.
= 4 Project on bi-cubic Coons patches, currently not supported.
[8] Mesh attribute type.
= 0 No attriabute.
= 1 Defined by property ids.
= 2 Defined by geometry ids.
= 3 Defined by group ids.
= 4 Defined by congruent regions.
= 5 Defined by tes-surface.
= 6 Defined by input data file.
[9] Client id.
= 0 Unknown.
= 1 GS-Mesher.
= 2 Tet-mesher.
= 3 Patran.
= 4 SuperForge.
= 5 AutoForge.
= 6 Mentet.
= 8 SuperForm.
= 9 Chrysler BIW batch.
= 10 Advance Surface Meshing,
= 11 Mesh On Mesh.
= 12 Sheetbody Meshing.
= 13 Hybrid Quad Mesh.
 
[10] Feature suppression flag. This is bit field allowing
for definition of multiple features for suppression.
= 0 Feature suppression is turned off.
= 1 MOM_SUPPRESS_HOLE; Suppress holes.
= 2 MOM_SUPPRESS_FACE; Suppress faces.
= 32 MOM_SUPP_KEEP_FILET; Suppress filets.
[11] Small hole patterns.
= 0 Do nothing.
= 1 Add washer to small holes.
[12] Number of nodes on hole.
[13] Minimum number of nodes on hole.
[14] Quality check
= 0 Off
= 1 On
[15] Cross face fixing.
= 0 Off
= 1 On
[16] Guide elements.
= 0 Get mesh element ids directly from the in_elem_list.
= 1 Get mesh element ids from groups using guiding elements.
[17] Output attribute type.
= 0 As input attribute type.
= 3 Defined by group ids.
[18] Topo preview flag.
= 0 Off.
= 1 On.
[19] Suppress face criteria. This a bit field allowing
multiple face types to be suppressed.
= 0 MOM_ET_CRITERIA_ALL_OFF.
= 1 MOM_ET_FACE_SIZE_ON.
= 2 MOM_ET_FACE_ANGLE_ON.
= 4 MOM_ET_FACE_4SIDE_ON.
= 8 MOM_ET_FACE_PERIMETER_ON.
= 4095 MOM_ET_CRITERIA_ALL_ON.
[20] tsurf_node_flag (not used).
[21] The number of washer rows along small holes.
[22] The method used to compute washer rows.
[23] Mesh types
= 0 MOM_MIXED_TRIAS_N_QUADS.
= 1 MOM_ALL_QUADS.
= 2 MOM_MIXED_TRIAS_N_QUADS.
= 3 MOM_ALL_TRIAS (Tria3).
= 4 MOM_QUAD_DOMINANT.
Feature parameter definitions by offset:
If the "Feature flag for automatic feature recognition" integer parameter ( offset 4 ) is on, use feature angle to define soft edges and vertices on the mesh.
[1] Feature edge angle.
[2] Feature vertex angle.
[3] Suppression size for the smallest size of faces to suppress.
[4] Suppression radius for the smallest hole size to suppress.
[5] Maximum element size for curvature size control.
[6] Minimum element size for curvature size control.
[7] Chordal deviation ratio for curvature size control.
[8] Transition ratio.
[9] Bend radius.
[10] Tria percent.
[11] Suppression edge angel.
[12] Suppression vertical angle.
[13] Suppression perimeter.
[14] Fillet angle.
[15] Small hole perimeter for washers.
[16] Washer width.
[17] Washer width factor.
 
fem_create_mshctl_surface.exec
(surface_list, global_edge_length)
Description:
This function creates a surface mesh control that will be used to mesh the interior of the surface. The mesh length given in the Create-Mesh form will continue to drive the element edge lengths on the boundary of the surfaces selected for meshing, irrespective of the mesh control applied to the surfaces.
Input:
STRING
surface_list[VIRTUAL]
This value specifies the list of surfaces to which surface mesh control must be applied.
STRING
global_edge_length
Global element length for the surfaces in surface_list
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
 
fem_create_surface_mesh_control
(surface_list, num_int_arg, int_arg_list, num_float_arg, float_arg_list)
Description:
This function creates a surface mesh control that will be used to mesh the interior of the surface. The mesh length given in the Create-Mesh form will continue to drive the element edge lengths on the boundary of the surfaces selected for meshing, irrespective of the mesh control applied to the surfaces.
Input:
STRING
surface_list[VIRTUAL]
This value specifies the list of surfaces to which surface mesh control must be applied.
INTEGER
num_int_arg
This value specifies the number of arguments in the input array int_arg_list.
INTEGER
int_arg_list(4)
This value specifies an array of integer values. The delimiter for each argument is a comma (,). The items in order in the list are as follows:
Mesher Type: 1= Iso mesher, and 2 = Paver.
Global Space Meshing Only: 1 = True, and 0 = False.
Curvature Refinement: 1 = True, and 0 = False.
p-Element Mesh: 1 = True, and 0 = False.
INTEGER
num_float_arg
This value specifies the number of arguments in the input array float_arg_list.
REAL
float_arg_list(3)
This value specifies an array of real (float) values. The delimiter for each item is a comma (,). The items in order in the list are as follows:
Global element length for the surfaces in surface_list
The next two fields are not used currently.
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Example:
Please see fem_create_surface_mesh_control.
 
fem_mom_region_mesh
( surf_list, feature_curve_list, feature_vertex_list, iso_mesh_flag, feature_flag, seed_type, num_val, val_array_str, elem_topo, node_list, elem_list, num_nodes, num_elems, nodes_created, elems_created )
Description:
This function will create a shell mesh on a congruent surfaced model and preserve the feature curves and feature vertices on the output mesh.
Input:
STRING
surf_list
The list of surface to be meshed.
STRING
feature_curve_list
The list of curves to be preserved.
STRING
feature_vertex_list
The list of vertices on the boundary of the region or feature curves to be preserved.
INTEGER
iso_mesh_flag
A value of 0 will turn this feature off. If the flag is on or 1, the program will iso-mesh a 3/4 sided region. The first 3/4 vertices on the feature_vertex_list will be the vertices of the region.
INTEGER
feature_flag
A value of 0 will turn this feature off. If the flag is on or 1, the program will define the feature edge/vertex based on the feaure_edge_angle and feature_vertex_angle.
INTEGER
seed_type
The following values can be used:
0 Uniform boundary seeding.
1 Curvature based boundary seeding.
2 Keep all boundary vertices.
INTEGER
num_val
The number of offsets in the val_array_str array of strings. This value must be greater than 0 and less than or equal to 6.
STRING
val_array_str
An array of strings providing input real values. The offsets are to be used as follows:
Offset Description
1 Element size
2 Height/Length ratio
3 "Minimum size"/"Element Size" ratio
4 Maximum size
5 Feature edge angle
6 Feature vertex angle
STRING
elem_topo
Element topology: "Quad" or "Tria"
STRING
node_list
List of output node IDs.
STRING
elem_list
List of output element IDs.
Output:
INTEGER
num_nodes
The number of nodes created.
INTEGER
num_elems
The number of elements created.
STRING
nodes_created
The ids of nodes created.
STRING
elems_created
The ids of elements created.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
 
fem_prj_nod_surf_norm
(node_select, surface_select)
Description:
This function will project FEM nodes onto surfaces using the closest approach method.
Input:
STRING
node_select[]
This value specifies a selection of FEM nodes to be projected onto the surfaces.
STRING
surface_select[]
This value specifies a selection of surfaces on which the FEM nodes will be projected.
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
This function will create FEM points on surfaces using the closest approach method. This method works by placing a point at the intersection of a vector through a point from the input value node_select with a surface from the input value surface_select. The vector is created so that it is normal to the surface at its point of intersection with the surface.
Example:
Please see fem_prj_nod_surf_norm.
 
fem_prj_nod_surf_vect
(node_select, surface_select, projection_option, projection_vector, coord_frame)
 
Description:
This function will project FEM nodes onto surfaces using one of three possible methods.
Input:
STRING
node_select[]
This value specifies a selection of FEM nodes to be projected onto the surfaces.
STRING
surface_select[]
This value specifies a selection of surfaces on which the FEM nodes will be projected.
INTEGER
projection_option
This value specifies the method to be used in projecting the FEM nodes onto the surfaces: 1 = the closest approach method, 2 = use a vector projection method, and 3 = the view vector method.
STRING
projection_vector[]
This value specifies the projection vector used when the input value projection_option is set to 2.
STRING
coord_frame[]
This value specifies the coordinate frame used with the input value projection_vector. This value is only used when the input value projection_option is set to 2.
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
This function will create finite element points on surfaces using one of three methods. The closest approach method will place a point at the intersection of a vector through a point from the input value node_select with a surface from the input value surface_select. The vector is created so that it is normal to the surface at its point of intersection with the surface.
The second method, the vector projection method, will use the input value projection_vector to define a vector through a point from the input value node_select. This will allow a node point to be created at the point where the vector intersects a surface specified by the input value surface_select.
The third, or view vector method, is very much like the vector projection method except that the view vector is used instead of the input value projection_vector.
Example:
Please see fem_prj_nod_surf_vect.
 
fem_prj_nod_curve_norm
(node_select, curve_select)
Description:
This function will project FEM nodes onto curves using the closest approach method.
Input:
STRING
node_select[]
This value specifies a selection of FEM nodes to be projected onto the curves.
STRING
curve_select[]
This value specifies a selection of curves onto which the FEM nodes will be projected.
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
This function will create FEM points on curves using the closest approach method. This method works by placing a point at the intersection of a vector through a point from the input value node_select with a curve from the input value curve_select. The vector is created so that it is normal to the surface of the curve at its point of intersection with the curve.
Example:
Please see fem_prj_nod_curve_norm.
  
fem_prj_nod_cplane
(node_select, direction, constant_value, coord_frame)
Description:
This function will project FEM nodes onto a constant plane.
Input:
STRING
node_select[]
This value specifies a selection of FEM nodes to be projected onto the plane.
INTEGER
direction
This value specifies the direction of a vector used to project the nodes onto the plane and is normal to that plane. This value can be set to 1= X axis, 2 = Y axis, or 3 = Z axis.
REAL
constant_value
This value specifies the distance from the origin along the axis specified by the input value direction at which the constant plane is defined.
STRING
coord_frame[]
This value specifies the coordinate frame for the input value node_select and the constant plane.
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Example:
Please see fem_prj_nod_cplane.
 
mesh_seed_create
(curve_select, seed_option, num_seeds, ratio, length_1, length_2)
Description:
This function will create and display FEM mesh seeds on a selection of curves based on a uniform, a one-way bias, or a two-way bias mesh seed spacing.
Input:
STRING
curve_select[]
This value specifies a selection of curves to be seeded.
INTEGER
seed_option
This value specifies the options for this function. See the remarks below.
INTEGER
num_seeds
This value specifies the number of seeds per edge for use when the input value seed_option is set to 1, 3, or 5.
REAL
ratio
This value specifies the length ratio used when the input value seed_option is set to 3 or 5. This value must be greater than 0.
REAL
length_1
This value specifies the first element length used when the input value seed_option is set to 2, 4, or 6. This value must be greater than 0.
REAL
length_2
This value specifies the second element length used when the input value seed_option is set to 4 or 6. This value must be greater than the input value “length_1”.
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
The integer input value seed_option can have the following values:
 
Value
Description
1
Space the mesh seeds in a uniform manner using the input value num_seeds to define the number of mesh seeds per edge.
2
Space the mesh seeds in a uniform manner using the input value length_1 to define the distance between the mesh seeds.
3
Space the mesh seeds using a one way bias defined by the input values length_1 and ratio.
4
Space the mesh seeds using a one way bias defined by the input value length_2 divided by the input value length_1.
5
Space the mesh seeds using a two way bias defined by the input value num_seeds and ratio.
6
Space the mesh seeds using a two way bias defined by the input value length_2 divided by the input value length_1.
Placing a one way bias on the mesh seeds will cause them to be placed closer together towards one end of an edge. A two way bias will space the mesh seeds further apart at the center of an edge and closer together towards the ends of the edge.
Example:
Please see mesh_seed_create.
  
mesh_seed_create_curv_based
(curve_select, element_length_type, allow_curve_error, constraint_option, minimum_id_length, maximum_id_length, minimum_number, maximum_number)
Description:
This function will create and display FEM mesh seeds on a selection of curves based on the allowable curve error and either the number of mesh seeds per element or the length of an element.
Input:
STRING
curve_select[]
This value specifies a selection of curves to be seeded.
STRING
element_length_type[31]
This value specifies an element length type of either “Uniform” or “Variable”.
REAL
allow_curve_error
This value specifies the allowable curvature error which must be greater than 0.
STRING
constraint_option[31]
This value specifies the element constraint option of either “Length” or “Number”. This value is used to select between the use of the input values minimum_id_length and maximum_id_length or minimum_number and maximum_number.
REAL
minimum_id_length
This value specifies the minimum length of an element that will be seeded. This value must be equal to or greater than 0 and is used only when the input value constraint_option is set to “Length”.
REAL
maximum_id_length
This value specifies the maximum length of an element that will be seeded. This value must be greater than the input value minimum_id_length and is used only when the input value constraint_option is set to “Length”.
INTEGER
minimum_number
This value specifies the minimum number of mesh seeds that will be placed on an element. This value must be greater than 0 and is used only when the input value constraint_option is set to “Number”.
INTEGER
maximum_number
This value specifies the maximum number of mesh seeds that will be placed on an element. This value must be greater than the input value minimum_number and is used only when the input value constraint_option is set to “Number”.
 
Output:
None.
Error Conditions:
None.
Example:
Please see mesh_seed_create_curv_based.
 
mesh_seed_create_tabular
(curve_select, coord_type, num_entries, table_of_values)
 
Description:
This function will create and display FEM mesh seeds at specific points on a selection of curves using a table of either percentage values of the arc length or of the parametric length of a curve.
Input:
STRING
curve_select[]
This value specifies a selection of curves to be seeded.
STRING
coord_type[]
This value specifies the coordinate type used in the input value table_of_values and can be set to either “Arc Length” or “Parametric”.
INTEGER
num_entries
This value specifies the number of entries in the input value table_of_values.
REAL
table_of_values(num_entries + 2)
This value specifies a table of either percentage values of the arc length or of the parametric length of a curve. The number of offsets allocated for this array should be two greater than the input value num_entries to allow for the inclusion of the values 0.0 and 1.0. All entries in this table can range from 0.0 to 1.0.
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
1
This is an internal status condition. There is no corresponding status message in the message database.
 
Example:
Please see mesh_seed_create_tabular.
 
mesh_seed_create_tabular2
(curve_select, coord_type, num_entries, table_of_values)
Description:
 
 
This function will create and display FEM mesh seeds at specific points on a selection of curves using a table of either percentage values of the arc length or of the parametric length of a curve.
Input:
 
 
STRING
curve_select[]
This value specifies a selection of curves to be seeded.
STRING
coord_type[]
This value specifies the coordinate type used in the input value table_of_values and can be set to either “Arc Length” or “Parametric”.
INTEGER
num_entries
This value specifies the number of entries in the input value table_of_values.
STRING
table_of_values(num_entries + 2)
 
 
This value specifies a table of either percentage values of the arc length or of the parametric length of a curve. The number of offsets allocated for this array should be two greater than the input value num_entries to allow for the inclusion of the values 0.0 and 1.0. All entries in this table can range from 0.0 to 1.0. Table_of_values is a string array so that each element can support unevaluated PCL expressions.
Output:
 
 
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
 
1
This is an internal status condition. There is no corresponding status message in the message database.
Example:
None.
 
mesh_seed_create_tabular_points
(curve_list, point_list, tolerance)
Description:
 
 
This function will create a mesh seed on a curve or an edge using the nodes, points or locations provided in the point_list. The points (nodes) should lie within tolerance specified.
Input:
 
 
STRING
curve_list[VIRTUAL]
This value specifies a list of curves or edges on which mesh seed needs to be created.
STRING
point_list[VIRTUAL]
This value specifies the list of locations. This value could be nodes, points, or [x y z] locations.
REAL
tolerance
This value specifies the tolerance within which the items in the input value point_list should lie with respect to the curve to create a tabular mesh seed.
Output:
 
 
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
 
MSG_FEM_SEED_00_ADDED - Arc length ratio 0.0 added to seed table for start point of curve.
MSG_FEM_SEED_10_ADDED - Arc length ratio 1.0 added to seed table for end point of curve.
While the above two can be ignored all other error messages should be handled as the situation warrants.
See the Status Messages for information on any error values returned by this function.
Example:
Please see mesh_seed_create_tabular_points.
  
mesh_seed_display_mgr.init
()
Description:
 
 
This function will initialize the mesh seed display manager.
Input:
 
 
None.
 
 
Output:
 
 
None.
 
 
Error Conditions:
 
None.
Remarks:
This function must be called before any other call is made to the mesh seed display manager.
Example:
Please see mesh_seed_display_mgr.init.
 
mesh_seed_display_mgr.plot
()
Description:
This function will display all visible mesh seeds in the current viewport.
Input:
None.
Output:
None.
Error Conditions:
None.
Example:
Please see mesh_seed_display_mgr.plot.
 
mesh_seed_display_mgr_erase
()
 
Description:
This function will erase all visible mesh seeds in the current viewport.
Input:
None.
Output:
None.
Error Conditions:
None.
Remarks:
This function does not modify the mesh seeds defined in the database, it just erases the mesh seeds from the current viewport.
Example:
Please see mesh_seed_display_mgr_erase.
 
mesh_seed_display_mgr.refresh
()
Description:
This function will refresh the mesh seed shown in the current viewport if the mesh seeds are displayed.
Input:
None.
Output:
None.
Error Conditions:
None.
Example:
Please see mesh_seed_display_mgr.refresh.