hm_findnarrowsurfaces

Returns the list of narrow surfaces, including large surfaces with narrow tails or local narrow neck regions.

Syntax

hm_findnarrowsurfaces entity_type mark_id width_threshold ?output_surfs_flag? ?sharp_angle_threshold? ?reserved? ?panel_sensitive?

Type

HyperMesh Tcl Query

Description

Returns the list of narrow surfaces, including large surfaces with narrow tails or local narrow neck regions.

The output is a list of the narrow surface IDs.

If output_surfs_flag is set to 1, the output is grouped into two lists. The first list is the narrow surface IDs. The second list contains flags indicating information about the type of narrow surface, in the same order as the narrow surface IDs. Each flag represents a bit-wise flags mask:

1 - Sliver surface

2 - Surface containing a narrow neck region

4 - Surface containing a narrow tail region

The value for each surface can be either 1, 2, 4 or 6 (the surface contains both a neck and a tail).

Inputs

entity_type
The type of entity to query. Valid values are surfs, solids and comps.
mark_id
The ID of the mark containing the entities. Valid values are 0, 1 and 2. If set to 0, all corresponding entities are considered.
width_threshold
Positive value defining the maximal width of a narrow surface, or maximal gap for a surface narrow tail or neck region.
output_surfs_flag (optional)
Parameter defining the type of output.
0 - Output contains only list of surfaces IDs (default)
1 – Output contains an additional list of flags for narrow surfaces
sharp_angle_threshold (optional)
An angle, in degrees, that represents a corner angle above which the area nearby a surface corner is not considered as a narrow region. Default value is 10 degrees.
reserved
Reserved for future use. Must be set to 0.
panel_sensitive
Can be used when multiple panel levels have been pushed, either using the shortcut function keys, or the hm_pushpanel command. This option determines whether to use the current panel or the previous panel for the operation. This option is relevant only when the mark has been created from a panel entity selector under the above conditions. Valid options are:
0 – Use the previous panel
1 – Use the current panel (default).

Examples

To find narrow surfaces with width below 0.2 mm for component “main_body” :

*createmark comps 1 main_body
hm_findnarrowsurfaces comps 1 0.2
718 621 594 589 569 516 232 230 222 220 212 177 36 29
If the surfaces types are needed:
*createmark comps 1 main_body
hm_findnarrowsurfaces comps 1 0.2 1
{718 621 594 589 569 516 232 230 222 220 212 177 36 29} {4 1 4 4 4 2 4 4 1 4 4 6 4 2}

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

14.0.130