Elastic Properties#

import veux

Steel#

The from_aisc function generates standard steel shapes using an AISC identifier:

from xsection.library import from_aisc

shape = from_aisc("W14x211", fillet=True)
veux.render(shape.model)

Once a shape is constructed, elastic properties can be extracted from the elastic attribute:

print(shape.elastic.Iy)
2660.8931001437513

The summary() method can also be used to print all properties at once:

print(shape.elastic.summary())
  Iy : 2661
  Iz : 1027
   A : 62.26
  Ay : 43.04
  Az : 13.94
   J : 47.8
 Iyz : -1.581e-13

Concrete#

Rectangle#

from xsection.library import Rectangle, Circle
from xsection import CompositeSection

h = 24
b = 15
d = 7/8
r = 0 #d/2

c = 1.5

bar = Circle(d/2, z=2, mesh_scale=1/2, divisions=4, name="rebar")

shape = CompositeSection([
            Rectangle(    b, h,     z=0, name="cover"),
            Rectangle(b-2*c, h-2*c, z=1, name="core"),
            *bar.linspace([-b/2+c+r, -h/2+c+r], [ b/2-c-r,-h/2+c+r], 3), # Top bars
            *bar.linspace([-b/2+c+r,        0], [ b/2-c-r,       0], 2), # Center bars
            *bar.linspace([-b/2+c+r,  h/2-c-r], [ b/2-c-r, h/2-c-r], 3)  # Bottom bars
        ])


print(shape.elastic.summary())

artist = veux.create_artist(shape.model) #veux.model.FiberModel(shape.create_fibers()))
# artist.draw_samples()
artist.draw_outlines()
artist.draw_surfaces()
artist

Octagon#