*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 Command
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
- 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
- offset
- Amount of offset for tool in sculpting direction.
- path
- 0 - Along node list - smooth (using p_node_list )
- 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
- remesh
- 0 - Do not remesh
- solver
- 0 - Use mesh compression to determine mesh stretching
- con
- 0 - Do not 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).
- mode
- 0 - Sculpt along vector using fractional compression
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
if { [ catch {command_name...} ] } {
# Handle error
}
Version History
2019