*morphconstraintupdatefc

Creates either a fixed or cluster type morphconstraint for the selected nodes with the options of having mesh stretching around those nodes and having the nodes rotate.

Syntax

*morphconstraintupdatefc ntype nmark type mcon color

Type

HyperMesh Tcl Modify

Description

This command updates either a fixed type morphconstraint or a cluster type morphconstraint for the selected nodes with the option of having mesh stretching around those nodes. Rotation options are also available for cluster type morphconstraints.

There are three options for rotation: in-plane, out-of-plane, and full rotation. In-plane will limit rotation of the cluster to the plane in which the cluster lies (spinning) while out-of-plane limits the rotation of the cluster to take place normal to the plane of the cluster (tilting). Full rotation allows both in-plane and out-of-plane rotation. For cluster constraints where the nodes do not lie in a discernable plane any rotation option results in full rotation.

Inputs

ntype
Must be set to nodes.
nmark
The ID of the mark for the constrained nodes. Valid values are 1 and 2.
type
0 – Fixed type constraint without mesh stretching
6 – Fixed type constraint with mesh stretching
7 – Cluster type constraint with mesh stretching (no rotation)
9 – Cluster type constraint without mesh stretching (no rotation)
+10 - (type 17 and 19) enables out-of-plane rotation for clusters
+20 - (type 27 and 29) enables in-plane rotation for clusters
+30 - (type 37 and 39) enables full rotation for clusters
mcon
The ID of the morph constraint to update.
color
The color of the constraint. Valid values are 1 through 64.

Examples

To update a cluster morphconstraint with mesh stretching and full rotation:

*createmark nodes 1 "all"
*morphconstraintupdatefc nodes 1 37 "rivet" 12

To update a cluster morphconstraint without mesh stretching and with in-plane rotation:

*createmark nodes 1 "all"
*morphconstraintupdatefc nodes 1 29 "rivet" 12

Errors

Incorrect usage results in a Tcl error. To detect errors, you can use the catch command:
if { [ catch {command_name...} ] } {
   # Handle error
}