Model.autotopocleanuplimited#

Model.autotopocleanuplimited(surface_collection, elsize, min_elsize, prox_suppr_thresh, sharp_steps_width_suppr_thresh, flat_feat_suppr_level, adj_surfs_layers=1)#

Performs a limited set of topology cleanup operations, including merging of narrow surfaces by suppressing topological edges and suppressing topological edges representing flat features. It takes CAD or FE surfaces as the input.

Parameters:
  • surface_collection (Collection) – The collection containing the input surface entities.

  • elsize (double) – The target element size.

  • min_elsize (double) – The minimum element size. The value should be smaller than the element_size

  • prox_suppr_thresh (double) – The maximal distance between topological edges of surfaces triggering a partial or complete suppression of one of the edges in proximity. Values smaller or equal to 0 disable the proximity suppression operation, including suppression of sharp edges.

  • sharp_steps_width_suppr_thresh (double) – The maximal width threshold for narrow surfaces with sharp edges. If the surface width is lower than the specified value, sharp edges are allowed to be suppressed. If set to 0, sharp edges are not allowed to be suppressed by the proximity suppression tool.

  • flat_feat_suppr_level (int) – The integer value controlling the suppression level of flat features’ edges. The valid value range is 0 (disabled) to 6 (highest suppression level). Applicable to CAD surfaces only.

  • adj_surfs_layers (int) – The number of additional layers of surfaces with respect to the original selection. This allows to merge narrow surfaces by edges suppression even if only narrow surfaces are selected. The recommended value is 1. If the option is selected, edges of the originally selected surfaces are allowed to be suppressed.

Examples#

Perform topology cleanup on all surfaces of the model use a target element size of 8.0 , minimal element size of 4.0 , proximity suppression threshold of 3.0 , sharp edge suppression threshold of 1.1 , and flat feature suppression level of 1#
import hm
import hm.entities as ent

model = hm.Model()

# Performing clean-up operation
surf_col = hm.Collection(model, ent.Surface)
model.autotopocleanuplimited(
    surface_collection=surf_col,
    elsize=0.8,
    min_elsize=4.0,
    prox_suppr_thresh=3.0,
    sharp_steps_width_suppr_thresh=1.1,
    flat_feat_suppr_level=1,
)
Perform topology cleanup on narrow surfaces with IDs 165 , 24 , 345 allow to use adjacent surfaces use a target element size of 8.0 , minimal element size of 4.0 , proximity suppression threshold of 3.0 , sharp edge suppression threshold of 1.1 , and flat feature suppression level of 1#
import hm
import hm.entities as ent

model = hm.Model()

# Performing clean-up operation
surf_col = hm.CollectionByDisplayed(model, ent.Surface, [165, 24, 345])
model.autotopocleanuplimited(
    surface_collection=surf_col,
    elsize=0.8,
    min_elsize=4.0,
    prox_suppr_thresh=3.0,
    sharp_steps_width_suppr_thresh=1.1,
    flat_feat_suppr_level=1,
    adj_surfs_layers=1,
)