hm_getcoordinatesfromnearestsurface
Finds coordinates of a point that belongs to one of surfaces in input set and is a closest point to the location specified in command input.
Syntax
hm_getcoordinatesfromnearestsurface x y z surf_id_list
Type
HyperMesh Tcl Query
Description
This command finds the point on one of surfaces (specified by the list of surface IDs surf_id_list) closest to the point specified by coordinates x, y, z. The command returns the result as a list of four values. The first, second and third value in the list specify the x, y and z coordinates of the closest point correspondingly. The fourth value in the list is the ID of the surface on which the closest point is found.
Inputs
- x
- The x coordinate.
- y
- The y coordinate.
- z
- The z coordinate.
- surf_id_list
- The ID of the surface on which the closest point is found.
Example
To find coordinates of the point on surface 12 that is closest to the location specified by x=1, y=3, z=5:
hm_getcoordinatesfromnearestsurface 1 3 5 12
On surfaces with IDs 12, 14, 15 find the point closest to global origin point (x=0, y=0, z=0):
hm_getcoordinatesfromnearestsurface 0 0 0 [ list 12 14 15 ]
To create node on surface with ID 10, closest to the point specified by x=1, y=3, z=5:
set closest_pnt [ hm_getcoordinatesfromnearestsurface 1 3 5 10 ]
set x [ lindex $closest_pnt 0 ]
set y [ lindex $closest_pnt 1 ]
set z [ lindex $closest_pnt 2 ]
*createnode $x $y $z
Errors
Incorrect usage of hm_getcoordinatesfromnearestsurface results in a Tcl error. The function returns an error when the list of input surfaces (surf_id_list) is empty or some of IDs specified in surf_id_list does not belong to any surface in the model. To detect errors, you can use the Tcl catch command:
if { [ catch { hm_getcoordinatesfromnearestsurface $x $y $z $surf_list } ] } {
# Handle error here
}
Version History
9.0