*morphsculptmesh3

Sculpts the affected elements according to the selected tools and parameters, optionally using a finite element solver to resolve the mesh stretching.

Syntax

*morphsculptmesh3 e_entity_type e_mark_id s_entity_type s_mark_id t_entity_type t_mark_id n_entity_type n_mark_id tool t_vec t_line_list t_node_list t_plane xbase ybase zbase tsize offset path p_line_list p_node_list p_xyz p_nxyz s_vec push remesh solver con comp mode

Type

HyperMesh Tcl Modify

Description

This command sculpts the elements on the first mark according to the various parameters. Sculpting is treated as a morph and can be undone and redone.

Note that you must always create all marks, lists, vectors, and the plane before *morphsculptmesh3, even if they are not used. Make sure the vectors and the plane are non-zero.

Inputs

e_entity_type
Must be set to elems.
e_mark_id
Mark ID of elements to be sculpted. Valid values are 1 and 2.
s_entity_type
Must be set to surfs.
s_mark_id
Mark ID of surfaces defining the sculpting tool (tool 5). Valid values are 1 and 2.
t_entity_type
Must be set to elems.
t_mark_id
Mark ID of elements defining the sculpting tool (tool 6). Valid values are 1 and 2.
n_entity_type
Must be set to nodes.
n_mark_id
Mark ID of the fixed nodes. If using a finite element solver, the stretching of the mesh will occur between the nodes which are sculpted and the fixed nodes. Valid values are 1 and 2.
tool
0 - ball
1 - cone
2 - cylinder
3 - line from line list
4 - plane
5 - surfaces
6 - mesh
7 - line from nodes
t_vec
ID of the orientation vector for cylinder tool (tool 2), created using *createvector . Valid values are 1 and 2.
t_line_list
ID of the line list for line tool (tool 3), created using *createlist. Valid values are 1 and 2.
t_node_list
ID of the node list for node tool (tool 3) and line sculpting tool (tool 7), created using *createlist. Valid values are 1 and 2.
t_plane
ID of plane for plane tool (tool 4), created using *createplane. Valid values are 1 and 2.
xbase
X-coordinate of reference point for positioning line, surface, and mesh tools (tool 3, 5, and 6).
ybase
Y-coordinate of reference point for positioning line, surface, and mesh tools (tool 3, 5, and 6).
zbase
Z-coordinate of reference point for positioning line, surface, and mesh tools (tool 3, 5, and 6).
tsize
Radius for ball and cylinder tools
Angle for cone tool
Taper angle for line, surface, and mesh tools
offset
Amount of offset for tool in sculpting direction.
path
0 - Along node list - smooth (using p_node_list )
1 - Along line list (using p_line_list and p_node_list )
2 - Along list of coordinates - smooth (using p_xyz andp_nxyz)
p_line_list
ID of the line list for path, created using *createlist. Valid values are 1 and 2.
p_node_list
ID of the node list for path, created using *createlist. Valid values are 1 and 2.
p_xyz
ID of array of doubles, created using *createdoublearray. This should be set to 1. The format for this array is that the first three doubles are the x, y, and z coordinates of the first point along the path, the next three doubles are the xyz coordinates of the second point along the path, and so forth.
p_nxyz
The number of doubles in p_xyz.
s_vec
ID of the vector for the sculpting direction, created using *createvector. Valid values are 1 and 2.
push
0 - Pull
1 - Push
remesh
0 - Do not remesh
1 - Remesh (not supported)
2 - Interactive mode
3 - Interactive mode with remesh (not supported)
solver
0 - Use mesh compression to determine mesh stretching
1 - Use linear analysis to determine mesh stretching (OptiStruct). Automatically generate properties and materials for the affected elements.
2 - Use nonlinear analysis to determine mesh stretching (Radioss). Automatically generate properties and materials for the affected elements.
3 - Use linear analysis (as 1 above) but use existing properties and materials
4 - Use nonlinear analysis (as 2 above) but use existing properties and materials
con
0 - Do not use constraints
1 - Use constraints
comp
0.0 - 1.0 - If using fractional compression, this is the maximum amount of mesh compression allowed per element (1.0 allows full compression and elements may become flat, 0.5 allows 50% compression).
> 0.0 - If using distance-based compression, this is the distance, in model units, from the tool through which all compression will be applied.
Not used when sculpting using a finite element solver.
mode
0 - Sculpt along vector using fractional compression
1 - Sculpt along vector using distance-based compression
2 - To sculpt normal to mesh using fractional compression
3 - To sculpt normal to mesh using distance-based compression
4 - To sculpt with smoothed normals using fractional compression
5 - To sculpt with smoothed normals using distance-based compression
6 - To sculpt with cfd corners for normals using fractional compression
7 - To sculpt with cfd corners for normals using distance-based compression
Note that sculpting normal to the mesh requires that shell elements be included in the affected elements. If solid elements are covered with a layer of shell elements then the solid elements will be sculpted as well.

Example

To sculpt all elements using a ball of size 5.0 normal to the mesh using linear analysis and automatic properties:

*createmark elems 1 "all"
*createmark surfs 1
*createmark elems 2
*createmark nodes 1 12 13 14 15
*createlist lines 1
*createlist nodes 1
*createlist lines 2 12
*createlist nodes 2
*createvector 1 1.0 0.0 0.0
*createplane 1,1.0 0.0 0.0 1.0 0.0 0.0
*createdoublearray 0
*createvector 2 16.9220 -3.7030 -25.1660
*morphsculptmesh3 elems 1 surfs 1 elems 2 nodes 1 0 1 1 1 1 7027 5.0 0.0 0 2 2 1 0 2 1 0 1 1 0 2

Errors

Incorrect usage results in a Tcl error. To detect errors, you can use the catch command:
if { [ catch {command_name...} ] } {
   # Handle error
}

Version History

2019