opsvis.plot_extruded_shapes_3d(ele_shapes, az_el=(-60.0, 30.0), fig_wi_he=False, fig_lbrt=False, ax=False)[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