hm_getconnected3delems
Detects and categorizes connections involving 3D elements and provides a list of entities involved in the connections.
Syntax
hm_getconnected3delems entity_type mark_id string_array number_of_strings
Type
HyperMesh Tcl Query Command
Description
Detects and categorizes connections involving 3D elements (either 3D-3D or 3D-2D) and provides a list of entities (elements and nodes) involved in the connections. It identifies the connected area and the dimensions of the area are used to determine the connection category. It returns the lists of nodes defining the connections and the involved elements. Advanced options are available to categorize the connections (T-connected, L-connected, butt-connected, or overlap connected) and to specify the format of the return values.
Two input angle parameters (overlap_angle and L-angle) and one input width parameter (weld_length) are used to determine the type of connection.
All connections between different components involving 3D elements with an angle between normals to the adjacent faces of 3D elements (angle between the normal to a face and the normal to a shell element in case of 3D-2D connection) less than (180 - L_angle) are considered as butt-connection, and with an angle greater that overlap_angle as an overlap-connection.
All connections with an angle between (180 - L_angle) and (180 - overlapped angle) are considered as T- or L- connections based on the minimum weld length (a closed loop with an average width less than weld_length considered as a T-connection, otherwise, it is an L-connection).
For 3D-2D connections in the case of a 2D flange and a 3D web connection, the same rules are applied as in the case of a 3D-3D connection. If a 3D flange and a 2D web, it is always a T-connection (shell elements embedded in the 3D mesh are excluded from the output).
The return from this command are lists of 3D and 2D elements and/or nodes. Each list is a unique continuous connection, based on the specified options. A unique connection is defined as one that is of a single type and spans only a single boundary.
For example, if an element with uncategorized output is requested:
{all elems elems1_1 elems1_2 … elems1_N}
If an element with categorized output is requested:
{t elems elems1_1 elems1_2 … elems1_N} {o elems elems elems2_1 elems2_2 … elems2_N}
{l elems elems3_1 elems3_2 … elems1_N} {b elems elems elems2_1 elems2_2 … elems2_N}
If an element-ordered output list is requested:
{ type1 elems elems_1 elems1_2 … elems1_N type2 elems elems2_1 elems2_2 … elems2_N} { type3 elems elems3_1 elems3_2 … elems3_N } … and so on, where each sequence in brackets represents one connection and elements are ordered.
A similar output is provided for nodes.
Inputs
- entity_type
- The type of entity to query. Valid values are comps and elems. Only 3D elements are considered from the input.
- mark_id
- The ID of the mark containing the entities. Valid values are 1 and 2.
- string_array
- The ID of the string array that contains the additional input options. 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. Each argument must be space separated.
Example
*createmark comps 1 displayed
*createstringarray 3 "find: 1 1 1 1" "features: 5.0 170.0 30.0" "output: 0 3"
set connections_list [hm_getconnected3delems comps 1 1 3]
Errors
if { [ catch {command_name...} ] } {
# Handle error
}
Version History
2021.2