Model.surfmark_trim_by_surfmark#

Model.surfmark_trim_by_surfmark(collection1, collection2, mode)#

Trims surfaces along the intersection(s) with other surfaces.

Parameters:
  • collection1 (Collection) – The collection containing the surface entities to be trimmed.

  • collection2 (Collection) – The collection containing the surface entities to use a trim tool.

  • mode (int) –

    0 - Surfaces on collection1 are trimmed by the surfaces on collection2.

    1 - Surfaces on both marks trim each other.

    2 - Surfaces on collection1 are trimmed by virtually extending surfaces of collection2.

Example#

Trim all surfaces on collection1 by those on collection2#
import hm
import hm.entities as ent

model = hm.Model()

# Creating a collection that contains the surfaces with IDs 1-100
filter_trimmed_surfaces = hm.FilterByEnumeration(ent.Surface, list(range(1, 101)))
surfaces_trimmed_collection = hm.Collection(model, filter_trimmed_surfaces)

# Creating a collection that contains the surfaces with IDs 101-200
filter_trimming_surfaces = hm.FilterByEnumeration(ent.Surface, list(range(101, 201)))
surfaces_trimming_collection = hm.Collection(model, filter_trimming_surfaces)

model.surfmark_trim_by_surfmark(
    collection1=surfaces_trimmed_collection,
    collection2=surfaces_trimming_collection,
    mode=0,
)