*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
- 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