*element2Dalign

Aligns the order of nodes in 2D elements based on the nodes of attached 1D elements.

Syntax

*element2Dalign mark_id_2D mark_id_1D propagate

Type

HyperMesh Tcl Modify Command

Description

Aligns the order of nodes in 2D elements based on the nodes of attached 1D elements. This is done in such a way that the starting edge the 2D element has the same nodes as the 1D element. This can also use aligned quad elements to align all "attached by edge" quads with the same node order.

Inputs

mark_id_2D
The mark ID containing the quad elements to align.
mark_id_1D
The mark ID containing the 1D elements to use as reference. 2D elements can only be used when propagate is set to 1 or 2.
propagate
0 - Aligns only 2D elements directly attached by edge to 1D elements (1 layer).
1 - Propagate alignment to all attached by edge quad elements. Several assumptions apply to this option:
  • Mesh has a regular structure in terms of connectivity. "Regular" means that it is a drag-like structure.
  • Mesh structure may contain holes, and layers may be truncated.
  • For example, you can take a regular 16x9 grid of quads and delete any quads from the grid, keeping the rest connected by edges. Not more than one 1D element for alignment should contact any 2D element. To avoid conflicts, aligning 1D elements should not be in different alignment directions.
For regular quad meshes just one 1D or 2D element is enough to set alignment for the whole grid. If there are other (tria) 2D elements in the mesh, the command aligns only the tria elements directly attached to 1D elements.
2 - Same as 1, but shift base nodes to make a "checkerboard".

Examples

To align all quad4 elements by plot elements use the command:
*createmark elems 1 "by config" quad4
*createmark elems 2 "by config" plot
*element2Dalign 1 2 1
To align all displayed elements to element ID 100:
*createmark elems 1 displayed
*createmark elems 2 100
*element2Dalign 1 2 0

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

9.0