*calculateproximityelements
Used to determine the proximity distance between elements.
Syntax
*calculateproximityelements entity_type input_mark_id output_mark_id dim_type calc_type self_interference check_method proximity_dist pair_angle threshold_depth
Type
HyperMesh Tcl Modify
Description
This command allows you to find which input elements are within a specified proximity distance. There are options to narrow or expand the constraints placed on the search algorithm. These constraints include, dimension of elements considered, type of interference, whether elements of the same component can interfere, angle between interfering element face normals and a threshold depth.
Inputs
- entity_type
- The type of entity to check for element proximity: elems or comps.
- input_mark_id
- Input mark ID containing either components or elements.
- output_mark_id
- Output mark ID containing elements within proximity distance.
- dim_type
- The dimensionality of the elements to check:
- calc_type
- Type of interferences considered:
- self_interferenc
- Set to 1 to consider self-intersections and penetrations within component, otherwise set to 0.
- check_method
- Used to specify a stricter definition of penetration – one requiring all nodes on element to be within proximity distance for the elements to be added to output mark.
- proximity_dist
- Proximity distance – a float value greater than 0.0.
- pair_angle
- Only include elements forming interference pair with another element within this angle – a float with values ranging from 0.0 to 90.0.
- threshold_depth
- Results avoid elements penetrating by less than this value – float value greater than 0.0, and less than the proximity_dist.
Example
Place on mark 2 the elements contained in component mark 1 that are within 2.0 proximity
distance. Furthermore, avoid including any elements whose interference element partner’s
normal differs by more than 45
degrees.
*calculateproximityelements comps 1 2 0 2.0 45.0 0.0
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
9.0