hm_flangedetectionfindmates

Executes the flange mating tools.

Syntax

hm_flangedetectionfindmates max_search_dist=<distance> min_search_dist=<distance> ?parameter1=<value1>? ?parameter2=<value2>? ... ?parameterN=<valueN>?

Type

HyperMesh Tcl Query Command

Description

Runs the flange detection mating functions for finding flanges mating 'groups'. This must be preceded by a call to hm_flangedetectionfindflanges.

max_search_dist and min_search_dist are mandatory. All other parameters are optional and have default values. Parameters can be specified in any order.

Inputs

max_search_dist=<distance>
The maximum distance for the proximity search.
min_search_dist=<distance>
The minimum distance for the proximity search.
mode=<value>
0 - Perform flange-to-flange mating only (default)
1 - Perform flange-to-everything mating
percent_mate_area_tol=<value>
The minimum mating area percentage required for valid mating. Default value 0.1.
search_scope=<value>
0 - No filter (default)
1 - Limit mating check to parent assembly

Examples

To find 2D flanges from elements in all components, using a min width of 2, a max width of 20 and a feature angle of 20, and write out all flange details to a file named C:/temp/flanges.txt:

set flangesfile [open "C:/temp/flanges.txt" "w"]
*createmark comps 1 all
hm_flangedetectioninit comps 1
hm_flangedetectionsetparams min_width=2.0 max_width=20 feature_angle=20
hm_flangedetectionfindflanges 1
set n [hm_flangedetectiongetnumberofflanges]
if { $n > 0 } {
    puts $flangesfile "Number of flanges = $n"
    puts $flangesfile "Flanges details"
    for {set i 0} {$i < $n} {incr i} {
        puts $flangesfile "$i details = [hm_flangedetectiongetflangedetails $i]"
        puts $flangesfile "$i midline = [hm_flangedetectiongetflangemidline $i offset_dist=0]"
    }
    hm_flangedetectionfindmates min_search_dist=0 max_search_dist=10
    set m [hm_flangedetectiongetnumberofmatinggroups]
    if { $m > 0 } {
        for {set i 0} {$i < $m} {incr i} {
            puts $flangesfile "$i = [hm_flangedetectiongetmatinggroupdetails $i]"
        }
    } else {
        puts $flangesfile "Flange mates not detected."
    }
} else {
    puts $flangesfile "Flanges not detected."
}
hm_flangedetectionend
close $flangesfile

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

2019