*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