*findholesshell

Finds holes in shell meshes.

Syntax

*findholesshell hole_type min_planar_dim max_planar_dim max_offset_plane_dev max_geom_dev_percent max_smooth_edge_angle organize flag param

Type

HyperMesh Tcl Modify

Description

Finds holes in shell meshes. The shell elements are bounded by connected and closed sequences of free edges subject to the specified parameters. The output is plot elements around the perimeter of each hole.

The process of finding holes requires the initialization of the process using *findholesinit. This initialization process requires the components or elements utilized by subsequent *findholesshell and *findholessolid commands. To utilize different input components or elements, the *findholesinit command needs to be rerun. After completing the find hole process, the command *findholesend should be called to clear the memory.

Inputs

hole_type
The hole type to find. Valid values are:
  • 0 - any
  • 1 - circular
  • 2 - square
  • 3 - rectangular
Hole type definitions use two parameters: max_geom_dev_percent and max_smooth_edge_angle. Any other value is interpreted as 0 for hole_type 0.
Circular holes
The distance from any of its nodes to the calculated center must not differ from the calculated radius by more than max_geom_dev_percent. Also, no edge must make an angle greater than max_smooth_edge_angle with either adjoining edge.
Square holes
At every node except four, no edge must make an angle greater than max_smooth_edge_angle. At those four nodes, the measured angle is within max_geom_dev_percent of 90 degrees. And, all four sides must have lengths within max_geom_dev_percent of their average.
Rectangular holes
At every node except four, no edge must make an angle greater than max_smooth_edge_angle. At those four nodes, the measured angle is within max_geom_dev_percent of 90 degrees. Opposite pairs of sides must have lengths within max_geom_dev_percent of each other.
Additional functionality is provided by this parameter for a value of -1. This finds all (any) holes, and also creates plot elements at any element edges exceeding the feature angle. For a value of -2, plot elements are only created at the feature edges. Note that only for this additional option is the feature angle in *findholesinit utilized for finding holes for shell elements.
min_planar_dim
The minimum planar dimension of the hole must exceed this value. If ≤ 0.0, this check is skipped.
max_planar_dim
The maximum planar dimension of the hole cannot exceed this value. If ≤ 0.0, this check is skipped.
max_offset_plane_dev
No node on the perimeter of a hole must exceed this distance from the mean plane. If ≤ 0.0, this check is skipped.
max_geom_dev_percent
See hole_type. Acceptable values are [0.0, 100.0], otherwise closer extreme is used. If ≤ 0.0, this check is skipped.
max_smooth_edge_angle
See hole_type. Acceptable values are [0.0, 90.0], otherwise closer extreme is used.
organize
Flag to define how found edge plot elements are organized. Valid values are:
  • 0 - Place found edge plot elements in ^edge_holes_shell component.
  • 1 - Place found edge plot elements in current component.
flag
Reserved for future use. Set to 0.
param
Reserved for future use. Set to 0.

Example

To find all open holes in the displayed 2D elements:
*createmark elems 1 displayed
*findholesinit elems 1 1 30 0 0
*findholesshell 0 0 0 0 0 0 0 0 0
*findholesend

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

11.0