*morphhandleprojectline
Morphs a mesh by projecting selected handles on to the selected line list.
Syntax
*morphhandleprojectline h_entity_type h_mark_id p_entity_type p_mark_id line_list node_list nproj proj sym con
Type
HyperMesh Tcl Modify
Description
This command will move each of the selected handles onto the line defined by the lines and nodes on the lists along a direction defined by the projection type. Applying symmetry links and constraints is optional. All domains influenced by the selected handles will be morphed accordingly.
If nproj is set to 2, the elements on the mark will be used to determine the projection direction for the handles. If no elements are on the mark then all shell elements will be used to determine the projection directions.
Handles linked through symmetry to those selected will be moved in a way that mirrors the selected handles which may or may not move them to other lines in the model.
Constraints may move the perturbed handles off of the selected line after the handles are moved to the line.
Inputs
- h_entity_type
- Must be set to handles.
- h_mark_id
- The mark ID containing the handles. Valid values are 1 and 2.
- p_entity_type
- Must be set to elems.
- p_mark_id
- The mark ID of the normal elements. Valid values are 1 and 2.
- line_list
- ID of the line list for line. Valid values are 1 and 2.
- node_list
- ID of the node list for the line. Valid values are 1 and 2.
- nproj
- 0 – Project along vector proj
- proj
- Temporary projection vector ID
- sym
- 0 – Ignore symmetry links
- con
- 0 – Ignore constraints
Examples
To project handles to a line along a vector:
*createmark handles 1 "all"
*createmark elems 1
*createlist lines 1 1
*createlist nodes 1
*createvector 1 1.0 0.0 0.0
*morphhandleprojectline handles 1 elems 1 1 1 0 1 1 1
To project handles to a line normal to the line:
*createmark handles 1 "all"
*createmark elems 1
*createlist lines 1 1
*createlist nodes 1
*createvector 1 1.0 0.0 0.0
*morphhandleprojectline handles 1 elems 1 1 1 1 1 1 1
To project handles to a line normal to the elements:
*createmark handles 1 "all"
*createmark elems 1 1 2 3 4 5 6
*createlist lines 1 1
*createlist nodes 1
*createvector 1 1.0 0.0 0.0
*morphhandleprojectline handles 1 elems 1 1 1 2 1 1 1
Errors
if { [ catch {command_name...} ] } {
# Handle error
}
"Could not create line from data." - occurs if insufficient or contradictory line and node data are placed on the lists. If multiple lines are selected they should connect and selected nodes should be on those lines.
Version History
10.0