Model.hm_compareentitiessymmetry#

Model.hm_compareentitiessymmetry(source_entities, target_entities, tolerance, normal_x, normal_y, normal_z, base_x, base_y, base_z, result_type=1, review_results=True)#

Generates comparison results for entities positioned symmetrically about a plane. This must be preceded by a call to Model.hm_compareinit().

These results can then be queried using hm_compareget APIs, or written to a file using hm_comparewrite APIs.

Parameters:
  • source_entities (Collection) – The collection containing the source entities. Valid entities are surfaces or elements.

  • target_entities (Collection) – The collection containing the target entities. Valid entities are surfaces or elements.

  • tolerance (double) – The tolerance value to use for the comparison.

  • normal_x (double) – X-coordinate of symmetry plane normal direction.

  • normal_y (double) – Y-coordinate of symmetry plane normal direction.

  • normal_z (double) – Z-coordinate of symmetry plane normal direction.

  • base_x (double) – X-coordinate of symmetry plane base location.

  • base_y (double) – Y-coordinate of symmetry plane base location.

  • base_z (double) – Z-coordinate of symmetry plane base location.

  • result_type (int) –

    SURFS to SURFS

    SURFS to ELEMS

    ELEMS to SURFS

    ELEMS to ELEMS

    0 - Basic

    Matched (paired)

    Unmatched

    Matched (paired)

    Unmatched

    Matched

    Unmatched

    1 - Full (default)

    Matched (paired)

    Overlapped

    Intersected

    Unmatched

    Matched (paired)

    Overlapped

    Intersected

    Unmatched

    Matched

    Overlapped

    Intersected

    Unmatched

    2 - Detailed

    Matched (paired)

    Overlapped (paired)

    Intersected (paired)

    Unmatched

    Matched (paired)

    Overlapped (paired)

    Intersected (paired)

    Unmatched

    Matched

    Overlapped (paired)

    Intersected (paired)

    Unmatched

  • review_results (bool) –

    False - Do not automatically show the graphical comparison results after execution.

    True - Automatically show the graphical comparison results after execution (default). This is cleared upon a call to Model.hm_compareend().

Returns:

Example#

Write the detailed comparison results file to “ C:/temp / my_compare.txt “ for the symmetrical comparison of surfuces 1 - 20 and 101 - 120 about the xz - plane with base ( 0.0,50.0,0.0 )#
import hm
import hm.entities as ent

model = hm.Model()

surfs1 = hm.Collection(model, ent.Surface, list(range(1, 21)))
surfs2 = hm.Collection(model, ent.Surface, list(range(101, 121)))

model.hm_compareinit()

model.hm_compareentitiessymmetry(
    source_entities=surfs1,
    target_entities=surfs2,
    tolerance=0.1,
    normal_x=0.0,
    normal_y=1.0,
    normal_z=0.0,
    base_x=0.0,
    base_y=50.0,
    base_z=0.0,
    result_type=2,
    review_results=False,
)

model.hm_comparewriteresults(
    filename="C:/temp/my_compare.txt", source_component_id=0, target_component_id=0
)

model.hm_compareend()