*sweep_envelope

Sweeps a volume along a trajectory, extracting only the envelope of the swept volume as a mesh.

Syntax

*sweep_envelope entitytype=<value> entitymark=<mark_id> <option1>=<value1> <option2>=<value2> ...<optionN>=<valueN>

Type

HyperMesh Tcl Modify Command

Description

Sweeps a volume along a given trajectory, outputting the envelope mesh of the volume formed by the sweeping motion. The input can be either surfaces, solids, elements, or components. When solids or surfaces are given, they are faceted and subsequently swept. The trajectory can be specified by either a line (for sweep) or a spin axis and angles (for spin). The output is organized in a component called “envelope N” (N starting with 0).

Inputs

entity_type=<value>
The type of entity to be swept. Valid values are elements, components, solids, or surfaces.
entitymark=<mark_id>
The ID of the mark containing the input entities. Valid values are 1 and 2.
path_line=id
The ID of the line the input entities are swept along.
path_rotation=<value>
Specifies whether the volume to be swept is rotated and aligned with the tangent of motion. Valid values are line_tangent (rotation is enabled) or fixed_frame (rotation is disabled).
path_reverse=<value>
Indicates whether to reverse the trajectory specified by the path line. Valid values are 0 and 1.
axis_base={valuex valuey valuez}
The coordinates of a sample point on the axis line.
axis_direction={valuex valuey valuez}
The components of the directional vector of the axis.
angle_range={value1 value2}
The start and end angle of the spin motion, specified in degrees.

Examples

To sweep the displayed elements along the line ID 5 and rotate the input entities to follow the line’s tangent:

*createmark elems 1 displayed
*sweep_envelope entitytype=elems entitymark=1 path_line=5 path_rotation=line_tangent

To spin all solids along an axis that goes through the point (1, 2.5, 3) and is parallel to the y axis, from -30 degrees to +30 degrees:

*createmark solids 1 all
*sweep_envelope entitytype=solids entitymark=1 axis_base={1 2.5 3} axis_direction={0 1 0} angle_range={-30 30}

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

2022.1