*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
1 – Project normal to line
2 – Project normal to elements in p_mark_id
proj
Temporary projection vector ID
sym
0 – Ignore symmetry links
1 – Apply symmetry links
con
0 – Ignore constraints
1 – Apply constraints after perturbing handles

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

Incorrect usage results in a Tcl error. To detect errors, you can use the catch command:
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