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 Command
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.
- 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:
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
*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
if { [ catch {command_name...} ] } {
# Handle error
}
Version History
14.0.130