Documentation#

The xsection package comprises the following core geometry classes:

PolygonSection(exterior[, interior, ...])

A homogeneous polygon section.

CompositeSection(patches, **kwds)

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

The xsection.library submodule exposes the following convenience classes which inherit from the core geometry classes:

from_aisc(identifier[, units, fillet])

Create a homogeneous cross-section from an AISC identifier.

Circle(radius[, centroid, mesh_scale, divisions])

A polygon representation of a circle section.

Rectangle(b, d[, centroid, mesh_scale])

A polygon representation of a rectangle section.

WideFlange(d[, bf, tw, tf, t, b, k, k1, ...])

A polygon representation of a wide flange (I) section.

HalfFlange(d[, bf, tw, tf, t, b, k, ...])

A polygon representation of a half wide flange (T) section.

Channel(d, b, tf[, tw, sf, mesh_scale])

A polygon representation of a channel (C) section.

Angle(b, d, t[, k, centroid, mesh_scale])

A polygon representation of an angle (L) section.

aisc_data(identifier[, props, units])

Return a dictionary of cross section properties from the AISC database.

The central abstraction in the xsection package is the Section interface, which is defined by the following attributes:

Section.elastic

An object holding the elastic properties of a section.

Section.linspace(start, stop, num[, radius])

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

Section.translate(location)

Translate the section to a new location.