Model.beamsectionsetdatasolidelems#
- Model.beamsectionsetdatasolidelems(vertices_double_array, elemverts_int_array, beam_sect_id)#
Updating a solid beam section requires two functions of which this is the second. This function will update all data for a solid type beam section. The function
Model.beamsectionsetdataroot()should precede use of this function.Beam section data cannot be updated piecemeal with this function; all data must be known for the beam and sent in as arguments.
The solid beam section interior elements are explicitly sent in using this function and results will be calculated for the beam section automatically after updating. Unlike the function
Model.beamsectionsetdatasolid(), no internal meshing of the beam will occur.- Parameters:
vertices_double_array (hwDoubleList) –
The ID of the double array that contains pairs representing a series of local y and z locations for the vertices of all the elements defining the section.
As an example, to define a rectangular section consisting of a single quad4 element with vertices at points (5,5), (5,0), (0,0), and (0,5), and two tria3 elements, one with vertices at points (5,5), (5,0), and (7,2), and one with vertices at points (0,0), (0,5), and (-2,2), use the following:
[5.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 5.0, 7.0, 2.0, -2.0, 2.0]
Note that vertices (5,5), (5,0), (0,0), and (0,5) are each shared by two elements and so they do not need to be repeated. Extra spaces were added for clarity.
elemverts_int_array (hwIntList) –
The ID of the integer array that contains four groups, with each group containing the number of elements in the group followed by the vertex IDs for each element in the group listed one after the other. The groups follow a specific order with tria3 coming first, quad4 second, tria6 third, and quad8 last.
As an example, to define a rectangular section consisting of a single quad4 type element at vertices 4, 3, 2, and 1 and two tria3 type elements, one at vertices 1, 2, and 5, and the other at vertices 3, 4, and 6, use the following:
[2, 1, 2, 5, 3, 4, 6, 1, 4, 3, 2, 1, 0, 0]
Note the four groups (separated by extra spaces for clarity) starting with the two tria3s and that a zero must be used to denote that there are no elements of a certain type (tria6 and quad8).
Also note that it is critical to order the vertices in a clockwise direction given that the Y axis points upward and the Z axis points to the right. Also, for second order elements you must list the corner vertices first and then the mid-side vertices second. For the mid-side vertices, start with the mid-side located clockwise after the first corner vertex listed.
beam_sect_id (unsigned int) – The ID of the shell or solid beam section to update.
Example#
Update the element data for a solid type section#import hm model = hm.Model() model.beamsectionsetdataroot( beam_sect_id=3, collector_id=1, solver=0, beam_config=0, line_color=7, fill_color=1, flags=0, torsion_factor=1, warping_factor=1, orient_vector1=0, orient_vector2=0, orient_origin1=0, orient_origin2=0 ) model.beamsectionsetdatasolidelems( vertices_double_array=[5.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 5.0, 7.0, 2.0, -2.0, 2.0], elemverts_int_array=[2, 1, 2, 5, 3, 4, 6, 1, 4, 3, 2, 1, 0, 0] , beam_sect_id=3 )