*morphhandleprojectlineoffset

Morphs a mesh by projecting selected handles on to the specified node list or line list.

Syntax

*morphhandleprojectlineoffset h_entity_type h_mark_id p_entity_type p_mark_id line_list node_list nproj proj sym con offset

Type

HyperMesh Tcl Modify Command

Description

This command moves each of the selected handles onto a line defined by the lines and nodes on the lists along a direction defined by the projection type. Applying symmetry links, constraints, and an offset are optional. All domains influenced by the selected handles will be morphed accordingly.

If nproj is set to 2, 5, or 6, the shell elements on p_mark_id 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.

If symmetry is specified, 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 the selected line after the handles are moved to the line.

The offset can be set as an absolute amount, an amount added to half the thickness of the shells touching the handles, or an amount multiplied by half the thickness of the shells touching the handles.

Inputs

h_entity_type
Must be set to handles.
h_mark_id
ID of the mark containing the handles. Valid values are 1 and 2.
p_entity_type
Must be set to elements.
p_mark_id
ID of the mark containing 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 (averaged)
5 - Project normal to elements in p_mark_id (smoothed)
6 - Project normal to elements in p_mark_id (cfd corners)
+10 – offset along projection vector (rather than absolute distance)
+20 – offset distance = t / 2 + offset
+40 – offset distance = t / 2 * offset
proj
ID of the temporary projection vector.
sym
0 - Ignore symmetry links
1 - Apply symmetry links
con
0 - Ignore constraints
1 - Apply constraints after perturbing handles
offset
The distance the handles will be offset from line (or added to or multiplied by half the thickness of the shells touching the 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
*morphhandleprojectlineoffset handles 1 elems 1 1 1 0 1 1 1 0.0
To project handles to a node list normal to the line:
*createmark handles 1 "all"
*createmark elems 1
*createlist lines 1
*createlist nodes 1 10 11 12 15 16 17 22
*createvector 1 1.0 0.0 0.0
*morphhandleprojectlineoffset handles 1 elems 1 1 1 1 1 1 1 0.0
To project handles to a line normal to the elements and offset by the 1.5x the thickness:
*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
*morphhandleprojectlineoffset handles 1 elems 1 1 1 22 1 1 1 1.5

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

2022.3