*morphreflectshapemark

Reflects shapes in accordance with symmetries and applies them only to the nodes on the mark.

Syntax

*morphreflectshapemark s_entity_type s_mark_id sym_entity_type sym_mark_id a_entity_type a_mark_id mode tol con

Type

HyperMesh Tcl Modify

Description

This command will reflect each shape on s_mark_id and reflect them according to each symmetry on sym_mark_id and affect only the nodes on a_mark_id. The shapes may be applied to the mesh, created as new shapes, added to existing shapes, or may replace existing shapes.

Inputs

s_entity_type
Must be set to shapes.
s_mark_id
The mark ID of the shapes. Valid values are 1 and 2.
sym_entity_type
Must be set to symmetries.
sym_mark_id
The mark ID for symmetries. Valid values are 1 and 2.
a_entity_type
Must be set to nodes.
a_mark_id
The mark ID for target nodes. Valid values are 1 and 2.
mode
0 – Apply each shape to the mesh
1 – Apply each shape and add the perturbations to the original shape
2 – Apply each shape and overwrite the original shape
3 – Apply each shape and create a new shape or shapes
4 – Create a new shape or shapes but do not apply them to the mesh
tol
The "envelope" or distance around the translated shape inside which nodes are affected.
con
0 – Do not use constraints
1 – Use constraints

Examples

To reflect a shape using a symmetry and apply it to the mesh:

*createmark shapes 1 1
*createmark symmetrys 1 1
*createmark nodes 2 "all"
*morphreflectshapemark shapes 1 symmetrys 1 nodes 2 0 3.0 1

To reflect all shapes using all symmetries and create new shapes, but only on selected nodes:

*createmark shapes 1 "all"
*createmark symmetrys 1 "all"
*createmark nodes 2 1 2 3 4 5 6 7 8 9 10 11 12
*morphreflectshapemark shapes 1 symmetrys 1 nodes 2 4 3.0 1

Errors

Incorrect usage of *morphreflectshapemark results in a Tcl error. To detect errors, you can use the catch command:
if { [ catch {*morphreflectshapemark shapes 1 symmetrys 1 nodes 2 0 3.0 1} ] } {
# Handle error
}
"Symmetries must be reflective type (1, 2, 3-plane, or cyclical)." - occurs if none of the symmetries on the mark are of a reflective type. Non-reflective symmetries are allowed on the mark but will be ignored.
if { [ catch {*morphreflectshapemark shapes 1 symmetrys 1 nodes 2 0 3.0 1} ] } {
# Handle error
}

"Symmetries must be reflective type (1, 2, 3-plane, or cyclical)." - occurs if none of the symmetries on the mark are of a reflective type. Non-reflective symmetries are allowed on the mark but will be ignored.

Version History

10.0