*separate_fillets

Detects fillets in 3D models, groups them by radius and width, and moves the fillet surfaces to separate components created for the fillet groups.

Syntax

*separate_fillets 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 recognizes fillets in the 3D body and groups them by radius and width. The command creates a component with an autogenerated name for each fillet group and moves the fillet surfaces to the corresponding components.

Optionally the surfaces of the detected fillets can be put to an output mark.

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.
Each string may contain either two quoted values:
min_fillet_radius
(double)
or four quoted values:
max_fillet_radius
(double)
min_fillet_radius
(double)
max_fillet_radius
(double)
min_fillet_width
(double)
max_fillet_width
(double)
The groups should not overlap.
number_of_strings
Integer indicating the size (number of strings) in the string array created using *createstringarray.

Example

To separate fillets from all surfaces using the following groups:

Group 1:

min_fillet_radius – 0.001

max_fillet_radius – 10.0

min_fillet_width – 0.01

max_fillet_width – 30.0

Group 2:

min_fillet_radius – 10.0

max_fillet_radius – 20.0

min_fillet_width – 30.0

max_fillet_width – 50.0

*createmark surfaces 1 "all"
*createstringarray 2 "0.001 10 0.01 30" "10 20 30 50"
*separate_fillets surfaces 1 2 1 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

10.0