hm_proximityinit
Checks the proximity between elements or components, and stores the results internally.
Syntax
hm_proximityinit entity_type mark_id max_distance ?mode? ?check_side?
Type
HyperMesh Tcl Query
Description
Checks the proximity between elements or components, and stores the results internally. Other APIs can be used to query the results.
This must precede any calls to other hm_proximityget*/hm_proximitymark* APIs, and must be followed by a call to hm_proximityend.
Inputs
- entity_type
- The type of entity to query. Valid values are elements and components.
- mark_id
- The ID of the mark containing the input entities. Valid values are 1 and 2.
- max_distance
- The maximum distance beyond which proximity is not reported.
- ?mode?
- 1 – Global proximity (default behavior if not specified)
- ?check_side?
- 1 – Check both sides of the elements
Example
To calculate the proximity between all comps using a max distance of 2.5 and to query the component pairs:
*createmark comps 1 all
hm_proximityinit comps 1 2.5
set comp_pair_count [hm_proximitygetcomponentpaircount]
for {set i 0} {$i < $comp_pair_count} {incr i} {
set comp_pair [hm_proximitygetcomponentpair $i]
puts "Component pair $i: $comp_pair"
set elem_pair_count [hm_proximitygetcomponentelementpaircount]
for {set j 0} {$j < $elem_pair_count} {incr j} {
set elem_pair [hm_proximitygetcomponentpair $i $j]
puts " Element pair $j: $elem_pair"
}
}
hm_proximityend
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
14.0