hm_getcrossreferencedentitiesmark

Finds entities that reference the entities on the specified mark.

Syntax

hm_getcrossreferencedentitiesmark entity_type mark_id reference_flag output_mark_id string_array number_of_strings ?exclude_regions"

Type

HyperMesh Tcl Query Command

Description

Finds entities that reference the entities on the specified mark. This includes collected references, data name references and attribute entity references. Each type of entity that references the specified input entities is returned in a list, and the found entities are then placed on the specified mark for those entity types. See the list of supported entities for hm_getcrossreferencedentities.

Inputs

entity_type
The type of entity to query.
mark_id
The ID of the mark containing the entities. Valid values are 1 and 2.
reference_flag
The type of cross-reference entities to find. Bit values are used and the value is calculated as (Bit0 + 2*Bit1 + 4*Bit2).
Bit0
0 - Do not consider collected entity cross-references.
1 - Consider collected entity cross-references. If the specified entity is not a collected entity, nothing will be returned for this bit.
Bit1
0 - Do not consider data name entity cross-references.
1 - Consider data name entity cross-references. If the specified entity is not referenced by any data names, nothing will be returned for this bit.
Bit2
0 - Do not consider attribute entity cross-references.
1 - Consider attribute entity cross-references. If the specified entity is not referenced by any entity attributes, nothing will be returned for this bit. Only entities for the currently loaded template are considered.
output_mark_id
The ID of the mark to place the found cross-referenced entities on. Valid values are 1 and 2.
string_array
Reserved for future use. Must be set to 0.
number_of_strings
Reserved for future use. Must be set to 0.
exclude_regions
0 - Include region entities in the search (default).
1 - Exclude region entities in the search (default).

Examples

To get all entities that cross-reference componenst 100-110 on mark 1 and highlight them on the screen:

*createmark comps 2 100-110
foreach entity_type [hm_getcrossreferencedentitiesmark comps 2 7 1 0 0 -byid] {
    hm_highlightmark $entity_type 1 h
}

To get only collected entity cross-references for components with IDs 100-110 on mark 2:

*createmark comps 1 100-110
hm_getcrossreferencedentitiesmark comps 1 1 2 0 0 -byid

To get only data name entity cross-references for components with IDs 100-110 on mark 1:

*createmark comps 2 100-110
hm_getcrossreferencedentitiesmark 2 100 2 1 0 0 -byid

To get only attribute entity cross-references for components with IDs 100-110 on mark 1:

*createmark comps 2 100-110
hm_getcrossreferencedentitiesmark comps 2 4 1 0 0 -byid

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

11.0

2019 - Added new optional argument exclude_regions.