*create_lines_by_mesh_plane_intersection

Create the lines at the intersection between input elements and a plane.

Syntax

*create_lines_by_mesh_plane_intersection mark_id edge_break_angle x0 y0 z0 x1 y1 z1 x2 y2 z2 x3 y3 z3

Type

HyperMesh Tcl Modify Command

Description

Creates lines at the intersection between input elements and the plane and further breaks them into different segments based on the input edge_break_angle. The plane is assumed to be quadrilateral, bounded between four points that are input in cyclic order to the command. The lines at the intersections are created in a new component "mesh_plane_intersection_lines."

Inputs

mark_id
The ID of the mark containing the input elements. Valid values are 1 and 2.
edge_break_angle
The line break angle in degrees.
x0
The x coordinate of the 0th point.
y0
The y coordinate of the 0th point.
z0
The z coordinate of the 0th point.
x1
The x coordinate of the 1st point.
y1
The y coordinate of the 1st point.
z1
The z coordinate of the 1st point.
x2
The x coordinate of the 2nd point.
y2
The y coordinate of the 2nd point.
z2
The z coordinate of the 2nd point.
x3
The x coordinate of the 3rd point.
y3
The y coordinate of the 3rd point.
z3
The z coordinate of the 3rd point.

Examples

To create lines at the intersection of any displayed elements and a plane defined by points 30, 27, 22, 35 (in cyclic order) and breaking them if the angle is greater than 20 degrees:
set x0 [hm_getvalue points id=30 dataname=x]
set y0 [hm_getvalue points id=30 dataname=y]
set z0 [hm_getvalue points id=30 dataname=z]
set x1 [hm_getvalue points id=27 dataname=x]
set y1 [hm_getvalue points id=27 dataname=y]
set z1 [hm_getvalue points id=27 dataname=z]
set x2 [hm_getvalue points id=22 dataname=x]
set y2 [hm_getvalue points id=22 dataname=y]
set z2 [hm_getvalue points id=22 dataname=z]
set x3 [hm_getvalue points id=35 dataname=x]
set y3 [hm_getvalue points id=35 dataname=y]
set z3 [hm_getvalue points id=35 dataname=z]

*createmark elems 1 displayed
*create_lines_by_mesh_plane_intersection 1 20 $x0 $y0 $z0 $x1 $y1 $z1 $x2 $y2 $z2 $x3 $y3 $z3

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

2021.2