xsection.CompositeSection#

../../_images/composite-tee.png

A composite T-section with steel reinforcement.#

class xsection.CompositeSection(patches, **kwds)#

A non-homogeneous cross-section composed from multiple sections.

Parameters#

patches: list[Section]

A list of sections to combine into a composite section.

material: Material, optional

A default material to assign to patches without a material.

__init__(patches, **kwds)#

Methods

__init__(patches, **kwds)

add_patch(patch)

add_patches(patch)

create_fibers([origin, center, types, warp, ...])

use material to force a homogeneous material

exterior()

integrate(f)

interior()

linspace(start, stop, num[, endpoint, center])

Create num copies of this section with centroids linearly aranged from start to stop.

rotate([angle, principal])

summary([shear])

torsion_warping()

translate(offset)

Attributes

centroid

elastic

patches

Example#

import veux
from xsection import CompositeSection
from xsection.library import Rectangle, Circle
from xara.units import iks

d   = 18*iks.inch
b   = 20*iks.inch
t   =  6*iks.inch
cv  =  2*iks.inch
bar = Circle(0.4, z=2, mesh_scale=1, divisions=10)

c = CompositeSection([
      Rectangle(t,d),
      Rectangle(b,t).translate([0, -d/2-t/2]),
      *bar.linspace([-(b/2-cv), -d/2-t/1.5], [b/2-cv, -d/2-t/1.5], 4, z=2)
   ])

m = c.model
artist = veux.create_artist(c.model)
artist.draw_surfaces()
artist.draw_outlines()
veux.serve(artist)