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