*prepare_solid_holes_for_meshing
Detects holes in a 3D model and prepares them for meshing.
Syntax
*prepare_solid_holes_for_meshing entity_type input_mark_id output_mark_id string_array number_of_strings
Type
HyperMesh Tcl Modify
Description
This command takes as input a mark of surfaces or solids of a 3D body. It finds holes in the 3D body, and collects the found connected holes in "tubes”. It also trim and merges hole surfaces to make more surfaces suitable for the mapping mesh algorithm.
It sets element densities on surface edges. Moreover, independent holes can also be removed.
Optionally, this command groups holes by diameter, and creates a component with auto generated name for each holes group and moves the surfaces of the tubes to the corresponding components. Blind and through holes are considered as different separation groups, so they are grouped separately. the surfaces of the detected holes can be put to an output mark.
The command parameters have the following meaning
Inputs
- entity_type
- The type of input entities. Valid values are surfaces or solids.
- input_mark_id
- The ID of the input mark. Valid values are 1 and 2.
- output_mark_id
- The ID of the output mark to put the surfaces of the detected holes. Valid values are 0, 1 or 2. If set to 0, no surfaces are placed on the mark.
- string_array
- The ID of the string array that contains the fillet width and radius group information. The string array is created using the *createstringarray command. This should always be set to 1.
- number_of_strings
- Integer indicating the size (number of strings) in the string array created using *createstringarray.
Examples
To recognize and prepare holes with diameters in three different intervals 0 – 15, 15 – 20 and 20.0 – 40.0, and separate them according to different seeding design:
*createmark surfaces 1 "all"
*createstringarray 4 "cross_sect_size_max = 100 diams_ratio_max = 2.5 min_elem_size = 2.0 seperate_holes = 1"
"0 15 6 6.0" "15 20 6 8.0" "20 40 8 10.0"
*prepare_solid_holes_for_meshing surfaces 1 2 1 4
To remove holes with diameter in the range 0 – 5.0:
*createmark surfaces 1 "all"
*createstringarray 2 "cross_sect_size_max = 100 diams_ratio_max = 2.5 min_elem_size = 2.0 separate_holes = 1"
"0 5 0"
*prepare_solid_holes_for_meshing surfaces 1 2 1 2
Errors
if { [ catch {command_name...} ] } {
# Handle error
}
Version History
10.0