*morphconstraintcreatefc

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

*morphconstraintcreatefc ntype nmark type name color

Type

HyperMesh Tcl Modify Command

Description

This command creates 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 - (types 17 and 19) enables out-of-plane rotation for clusters
+20 - (types 27 and 29) enables in-plane rotation for clusters
+30 - (types 37 and 39) enables full rotation for clusters
name
The name of the morphconstraint.
color
The color of the constraint. Valid values are 1 through 64.

Examples

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

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

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

*createmark nodes 1 "all"
*morphconstraintcreatefc 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
}