Model.absorbmember#
- Model.absorbmember(collection, break_angle, create_legs, along_line=0, auto_detect_thin_solids=0, autoweld=0, create_member_sections=0, create_sketch=0, elemconfig='', elemdensity=0.0, elemsize=0.0, elemtype='', planelength=0.0, planewidth=0.0, prefix='', realize=0, sectiontype='none', useelemdensity=False, vertexangle=0.000000, numcontrollocs=0, intersectingentitytype='elems', topologycleanupfactor=0.000000)#
Absorbs selected entities (1D elements or lines) to create members and memberjoints (from connecting nodes or points). If 1D elements are absorbed and they have a beamsection assigned to them, a membersection containing the beamsection is created and assigned to the member. No cleaning operation is performed at the end of the absorption.
- Parameters:
collection (Collection) – The collection containing the entities. Valid entity types are elements and lines.
break_angle (double) – The break angle limit (in degrees) to define if two continuous members may be merged into a single member.
create_legs (unsigned int) – The flag defining if legs should be created on memberjoints. Valid values are 0 and 1. If 1, the leg size is set to 10% of the member size.
along_line (unsigned int) – The flag to create control locations of member on the line selected. Valid values are 0 and 1.
auto_detect_thin_solids (unsigned int) – The flag to detect thin solids for the realized beam section of the member section. This flag works only if the
intersectingentitytype="solids"(solids’ ID). Valid values are 0 and 1.autoweld (unsigned int) – The flag to perform auto weld on the realized beam section of the member section. Valid values are 0 and 1.
create_member_sections (unsigned int) – The flag to create member sections on memberjoints and members created during the process. Valid values are 0 and 1.
create_sketch (unsigned int) – The flag to create sketch entity on beam section when member section is realized. Only supported for
sectiontype="real". Valid values are 0 and 1.elemconfig (hwString) – The element config of the 1D elements of member joint mesh (i.e., bar2, rod).
elemdensity (double) – The element density to be used for meshing the member joint leg.
elemsize (double) – The size of the 1D elements to be created during meshing if elemdensity is not specified.
elemtype (hwString) – The element type of the 1D element of member joint mesh (i.e., CBAR, CBEAM, CROD).
planelength (double) – The length of the member section plane.
planewidth (double) – The width of the member section plane.
prefix (hwString) – The prefix for the member name.
realize (unsigned int) – The flag to realize member joints, members and member sections created during the process. Valid values are 0 and 1.
sectiontype (hwString) –
The section type string for beam section. Valid values are:
real - Creates shell or solid beam sections.
boundingbox - Creates a standard box type beam section equivalent to the bounding box of the real section.
useelemdensity (bool) – The flag determines if element density is to be used for meshing the member joint. Valid values are
FalseorTrue.vertexangle (double) – Section contour is smoothened if vertex angle between two lines is below this limit. Valid values are between 0 to 90.0.
numcontrollocs (unsigned int) – Reserved for future use.
intersectingentitytype (unsigned hwString) – Intersecting entity type ID to intersect the face of member sections. Valid values are elements, surfaces and solids.
topologycleanupfactor (double) – The topology cleanup factor to use.
Examples#
Absorbing displayed lines in the current model#import hm import hm.entities as ent model = hm.Model() # Create a collection of all displayed lines in the current model. line_col = hm.CollectionByDisplayed(model, ent.Line) model.absorbmember(collection=line_col, break_angle=True, create_legs=1)
Absorbing elements ID 1-100 with a name prefix top_#import hm import hm.entities as ent model = hm.Model() # Create a collection of elements with ID 1-100. filter = hm.FilterByEnumeration(ent.Element, list(range(1, 101))) elem_col = hm.Collection(model, filter) model.absorbmember(collection=elem_col, break_angle=True, create_legs=1, prefix="top_")
Absorbing a collection of line with ID 3 to create sections#import hm import hm.entities as ent model = hm.Model() model.absorbmember( collection=hm.Collection(model, ent.Line, [3]), create_legs=0, create_member_sections=1, numcontrollocs=3, realize=1, autoweld=1, auto_detect_thin_solids=1, create_sketch=0, along_line=1, intersectingentitytype="elems", planelength=300, planewidth=300, vertexangle=60, break_angle=1, elemconfig="bar2", elemtype="CBEAM", elemsize=40.0, sectiontype="real", )