Model.beamsectionsetdatashell#
- Model.beamsectionsetdatashell(vertex_array, connectivity_array, part_name_array, beam_sect_id, part_count, vertex_count)#
Updating a shell beam section requires two functions of which this is the second. This function will update all data for a shell 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.
Results will be calculated for the beam section automatically after updating.
- Parameters:
vertex_array (hwDoubleList) –
The ID of the double array that contains the vertices defining the shell section.
The contents of this array are stored in two groups. The first group contains the local Y and Z locations for each vertex. These are stored in pairs such that the first value is the Y location for the first vertex, the second value is the Z location of the first vertex, the third value is the Y location for the second vertex, the fourth value is the Z location of the second vertex, and so on. This repeats for all vertices. The second group contains the initial, minimum, and maximum thicknesses for each part. These are stored in threes such that the first three values are the current thickness, minimum thickness, and the maximum thickness for the first part. The second three values are the current thickness, minimum thickness, and the maximum thickness for the second part, and so on. This repeats for all parts.
connectivity_array (hwIntList) – The ID of the integer array that defines the vertex connectivity.
The contents of this array are stored in groups with the first value of each group denoting the number of vertices for the part and the following values being the IDs of the vertices for the part. This repeats for all parts.
Thus, if a shell type section has two parts, one going through 4 vertices: 1, 2, 3, and 4; and the other going through 3 vertices: 1, 5, and 4; the array should follow this pattern and be written as follows:
[9, 4, 1, 2, 3, 4, 3, 1, 5, 4]
Note that the list of vertices starts with an ID of 1. There is no vertex with an ID of 0.
- Parameters:
part_name_array (hwStringList) –
The ID of the string array that defines the part names.
The contents of this array are stored as a list of names for each part. The order of this array should match the order used for the integer array when defining the connectivity.
beam_sect_id (unsigned int) – The ID of the beam section to update.
part_count (int) – The number of parts in the section.
vertex_count (int) – The number of vertices in the section.
Example#
Update the parameter data for a shell type section with ID 2. Note that this function should be used in tandem withModel.beamsectionsetdataroot()as follows#import hm import hm.entities as ent model = hm.Model() model.beamsectionsetdataroot( beam_sect_id=2, collector_id=1, solver=0, beam_config=3, 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.beamsectionsetdatashell( vertex_array=[3, -3, 3, 2, 3, 1, -2, 1, -2, -3, 0, -3, 1, 0.5, 1.5], connectivity_array=[6, 5, 1, 2, 3, 4, 5], part_name_array=["shellpart.0"], beam_sect_id=2, part_count=1, vertex_count=6 )