*morphhandleprojectplane

Morphs a mesh by projecting selected handles on to the specified plane.

Syntax

*morphhandleprojectplane h_entity_type h_mark_id p_entity_type p_mark_id plane nproj proj sym con

Type

HyperMesh Tcl Modify Command

Description

This command will move each of the selected handles on to the defined plane 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 the specified plane.

Constraints may move the perturbed handles off of the specified plane after the handles are moved to the plane.

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.
plan
Temporary target plane ID.
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 plane along a vector:

*createmark handles 1 "all"
*createmark elems 1
*createplane 1,1.0 0.0 0.0 1.0 0.0 0.0
*createvector 1 1.0 0.0 0.0
*morphhandleprojectplane handles 1 elems 1 1 0 1 1 1

To project handles to a plane normal to the plane:

*createmark handles 1 "all"
*createmark elems 1
*createplane 1,1.0 0.0 0.0 1.0 0.0 0.0
*createvector 1 1.0 0.0 0.0
*morphhandleprojectplane handles 1 elems 1 1 1 1 1 1

To project handles to a plane normal to the elements:

*createmark handles 1 "all"
*createmark elems 1 1 2 3 4 5 6
*createplane 1,1.0 0.0 0.0 1.0 0.0 0.0
*createvector 1 1.0 0.0 0.0
*morphhandleprojectplane handles 1 elems 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
}

Version History

10.0