hm_getsurfacecurvatureforedges

Returns information about the curvature of surfaces attached to edges.

Syntax

hm_getsurfacecurvatureforedges ?curv_method=<curve_method>? mark=<mark_id>? ?min_edgepts_span=<distance>? ?offset=<size>? ?offset_method=<offset_method>? ?straight_edge_max_pts=<number_of_points>?

Type

HyperMesh Tcl Query Command

Description

Returns information about the curvature of surfaces attached to edges. The output is a list of lists, with each list item containing the following information:

edge_id surface1_id surface1_curvature_max surface1_curvature_min surface1_curvature_avg surface2_id surface2_curvature_max surface2_curvature_min surface2_curvature_avg surface1_curvature_at_max_break_point surface2_curvature_at_max_break_point surface1_curvature_at_min_break_point surface2_curvature_at_min_break_point break_angle_max break_angle_min break_angle_avg

max_break_point and min_break_point refer to the edge points with corresponding max and min curvature breaks. Only shared and suppressed edges are considered, results are not returned for free and non-manifold edges. For suppressed edges, the adjacent face IDs are output for surface1_id and surface2_id. These IDs are presented as negative numbers to allow for easy identification. Results for break angle are presented in degrees.

The options use a name=value syntax and can be provided in any order.

Inputs

curv_method=<curve_method>
A string specifying the approximate calculation of the adjacent surface curvature using offset. Valid strings are:
  • by_chord (default) - The circle radius is evaluated by the edge test point, offset point and angle between the surface normal at the test point and the chordal segment defined by the test and offset points.
  • by_3pts - The circle radius is evaluated by the edge test point, offset point and middle surface point.
  • by_normal - The circle radius is evaluated by the angle between the surface normals at the edge test point and offset point and offset arc distance.
mark=<mark_id>
The ID of the mark containing the surface edges to consider. Valid values are 1 and 2. If not specified or 0, all edges are considered.
min_edgepts_span=<distance>
A positive number specifying the minimal distance between the edge test points where the break information is evaluated. If not specified, it is auto defined. A smaller value allows for more detailed information for an edge.
offset=<size>
The value of offset across an edge inward to the adjacent surfaces, used for evaluation of curvature of the surfaces. The offset is applied at several test points along the edge. Valid values are:
  • A positive real number
  • autodefined (default)
  • global_element_size
offset_method=<offset_method>
A string specifying the how the offset inward from adjacent surfaces is performed. Valid strings are:
  • in_surface (default) - The offset is limited by the surface opposite edge. It stops on the opposite surface edge if it is reached at a distance smaller than the specified offset value. Suppressed edges are disregarded and offset is performed over those edges.
  • in_face - The offset is limited by the face opposite edge. It stops on the opposite face edge if it is reached at a distance smaller than the specified offset value. Suppressed edges are considered.
  • in_face_monot - Same as in_face but the offset is also limited by the distance from the edge test point where the curvature changes monotonically. If the face has an inflection point, the offset stops at this point.
  • no_offset - The offset is not performed at all and the local surface curvature is found analytically in a surface point adjacent to the edge test point.
  • over_surface - The offset is not limited by the adjacent surface boundary. It is performed until the specified offset value is reached and stops only on non-manifold edges.
straight_edge_max_pts=<number_of_points>
The maximum number of test points for straight edges. If not specified a value of 10 is used. If 0, the number of test points for straight edges is not limited.

Examples

To return the curvature for surfaces attached to all edges:

hm_getsurfacecurvatureforedges

To return the curvature for surfaces attached to edges 1-100:

*createmark lines 1 1-100
hm_getsurfacecurvatureforedges mark=1

To return the curvature for surfaces attached to edges 1-100, using an offset size of 4.5:

*createmark lines 1 1-100
hm_getsurfacecurvatureforedges mark=1 offset=4.5

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

2019