Model.cleanmember#
- Model.cleanmember(members=Collection(), min_length=-1.0, tolerance=-1.0, break_angle=1.0, merge_members=0, offset_legs=1, allow_member_destruction=1, erase_duplicated_members=0)#
Performs the following cleaning operations on selected members:
Equivalence cleaning - if two or more memberjoints are inside a tolerance radius, they are merged into only 1 memberjoint. If a member is smaller than a minimum length, start and end joints are also merged (see
allow_member_destructionargument).Duplicate cleaning - if two or more members are sharing the same memberjoints at start or end point, additional members are removed.
Merge cleaning - if two or more continuous members have a connection angle less than a break angle limit, they are merged into one member.
- Parameters:
members (Collection) – The collection containing the member entities to clean. If the collection is empty, cleaning operations are performed on all members.
min_length (double) – The minimum allowed member length. The start and end memberjoints may be merged into one, or an offset memberjoint may be created.
tolerance (double) – The radius tolerance to define if two or more memberjoints should be merged.
break_angle (double) – The break angle limit (in degrees) to define if two continuous members should be merged into a single member.
merge_members (int) – The flag defining if merge cleaning should be performed. Valid values are 0 and 1.
offset_legs (int) – The flag defining if two memberjoints connected by a member should be merged, or if an offset memberjoint should be created instead. Valid values are 0 and 1.
allow_member_destruction (int) – The flag defining if members should be destroyed on equivalence operations. Valid values are 1 and 0. If 1, members that are connected to two memberjoints within a tolerance are destroyed.
erase_duplicated_members (int) – The flag defining if duplicate cleaning should be performed. Valid values are 0 and 1.
Example#
Clean all displayed members#import hm import hm.entities as ent model = hm.Model() model.cleanmember( members=hm.CollectionByDisplayed(model, ent.Member), allow_member_destruction=1, erase_duplicated_members=1, merge_members=1, offset_legs=0, break_angle=15.0, min_length=0.1, tolerance=0.01, )