Model.beamsectionsetdatasolid#

Model.beamsectionsetdatasolid(point_array, elem_order, is_hollow, 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 will be remeshed and results will be calculated for the beam section automatically after updating.

Parameters:
  • point_array (hwDoubleList) –

    The ID of the double array that contains the points defining the solid section perimeter.

    The contents of this array are stored in groups of pairs with each group representing a series of local y and z locations of one of the perimeters defining the section. Each group must begin and end with the same point so that perimeter groups can be differentiated. This is true even if there is only one perimeter defined for the section. The first two values are the y and z locations, respectively, of the first point of the first perimeter. The next two values are the y and z locations, respectively, of the second point of the first perimeter, and so on. This repeats for all points and all perimeters.

    Thus, to define a rectangular section running through points (5,5), (5,0), (0,0), (0,5) and back to (5,5) with a rectangular hole running through points (4,4), (4,1), (1,1), (1,4) and back to (4,4) cut into it, the following array would be needed:

    [5.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 5.0, 5.0, 5.0, 4.0, 4.0, 4.0, 1.0, 1.0, 1.0, 1.0, 4.0, 4.0, 4.0]

  • elem_order (int) – The order (1 or 2) of the elements to use.

  • is_hollow (int) –

    0 - The solid section does not have an internal void.

    1 - The solid section has an internal void.

  • beam_sect_id (unsigned int) – The ID of the beam section to update.

Example#

Update the parameter data for a solid type section with ID 3, consisting of a single perimeter and no internal voids. Note that this function should be used in tandem with Model.beamsectionsetdataroot() as follows#
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.beamsectionsetdatasolid(
  point_array=[3.0, -3.0, 3.0, 3.0, -3.0, 3.0, -1.0, -2.0, 3.0, -3.0],
  elem_order=1,
  is_hollow=0,
  beam_sect_id=3
)