plot_extruded_shapes_3d (ops_vis)

ops_vis.plot_extruded_shapes_3d(ele_shapes, az_el=(-60.0, 30.0), fig_wi_he=(16.0, 10.0), fig_lbrt=(0.04, 0.04, 0.96, 0.96))[source]

Plot an extruded 3d model based on cross-section dimenions.

Three arrows present local section axes: green - local x-axis, red - local z-axis, blue - local y-axis.

  • ele_shapes (dict) – keys are ele_tags and values are lists of: shape_type (str): ‘rect’ - rectangular shape, ‘I’ - double T shape and shape_args (list): list of floats, which necessary section dimensions. For ‘rect’ the list is [b d]; width and depth, for ‘I’ shape - [bf d tw tf]; flange width, section depth, web and flange thicknesses Example: ele_shapes = {1: [‘rect’, [b, d]], 2: [‘I’, [bf, d, tw, tf]]}
  • az_el (tuple) – azimuth and elevation
  • fig_wi_he – figure width and height in centimeters
  • fig_lbrt – figure left, bottom, right, top boundaries
ele_shapes = {1: ['circ', [b]],
              2: ['rect', [b, h]],
              3: ['I', [b, h, b/10., h/6.]]}


  • For now only rectangular, circular and double T sections are supported.
  • This function can be a source of inconsistency because OpenSees lacks functions to return section dimensions. A workaround is to have own Python helper functions to reuse data specified once

See example Statics of a 3d 3-element cantilever beam (ops_vis)