Nº 03Tools / Calculator

DXF, SVG and STEP section properties calculator

Measure the area, centroid, second moments of area, section moduli and radii of gyration of a profile drawn in a DXF, SVG, planar STEP or BREP file, and the cut length and mass of a sheet part. It measures many files at once and saves the results as CSV. planex2d measures the exact lines, arcs and splines in this tab, running on Pyodide/ngapp. Nothing is uploaded.

The calculator measures the sections a file holds. For a quick prototype without a drawing, or for a measurement it does not offer, use the playground, where the moment of inertia example does the same in a few lines of Python.

No files
Add DXF, SVG, STEP or BREP files, a zip of them, or a sample, to measure them.

Results

Section

iThe area of the section and its centroid, the center of its area, in the drawing's coordinates.
iThe width and height of the box around the section.
iIx and Iy about the x and y axes through the centroid, and the product moment Ixy.
iI1 and I2, the largest and the smallest second moment about an axis through the centroid, and the angle of the axis of I1 from x.
iIp = Ix + Iy, the polar second moment about the centroid. It is the torsion constant only for a round bar or tube.
ii = √(I / A) about each of the four axes, which enters the buckling of a column.
iWel = I / e, with e the distance from the axis to the farthest point of the section. The bending stress at the outer fiber is M / Wel.
iWpl about the x and the y axis that halve the area: the first moments of the two halves added. The fully plastic moment is the yield strength times Wpl.
iThe thinnest and the thickest wall: the diameter of the largest disc inside the section, at 400 points along its boundary. Sharp corners are left out.

Sheet part

iThe length of every contour on the chosen layers, open ones included, and one pierce per contour.
iThe mass of a sheet part, its area times the sheet thickness and the density, and the mass per meter of a profile with this section.

Drop DXF, SVG, STEP or BREP files, or a zip of them, onto the sheet, or open a sample below. Each file opens in a tab of its own. The bar on the right picks what the results and the CSV hold. Hover over a mark to see what it is, and click a legend entry to show or hide it.

Examples

Try a sample file

Each one opens in the calculator above. Download them to measure the same files with planex2d in Python.

  • Fig. 1DXF

    IPE 200

    A rolled steel beam with root radii of 12 mm. Its values match the producers' tables: A 28.48 cm², Iy 1943 cm⁴, Wel,y 194.3 cm³ and Wpl,y 220.6 cm³.

    Download
  • Fig. 2DXF

    Unequal angle L 150 × 100 × 10

    An angle without an axis of symmetry, so its principal axes are tilted: I1 637 cm⁴ and I2 114 cm⁴, with tan α 0.438, as the section tables give.

    Download
  • Fig. 3DXF

    Mounting plate

    A plate of 3 mm sheet, 120 × 80 mm, with four holes and a slot. Its outline is open by 0.01 mm, and its center lines are on a layer of their own. Pick Mass to weigh it.

    Download
Reference

What the calculator measures

The calculator joins a drawing's closed contours into one section and measures it on its exact lines, arcs and splines.

The section properties example in the playground runs the same measurements in Python. It measures an IPE 200 and prints its values next to those of the steel table.

Section properties describe how a cross-section carries load. The second moment of area sets the bending stiffness EI of a beam, the section modulus the bending stress at its outer fiber, the radius of gyration how soon a column buckles, and the area with the density its weight per meter. Producers list these values for their standard steel and aluminum profiles. For a custom extrusion, a welded section or any profile drawn in CAD, they follow from the drawing itself, and that is what the calculator measures. For sheet parts it adds the values a laser or waterjet shop quotes by, the cut length, the number of pierces and the mass.

The section

A DXF file is read entity by entity, and SVG, STEP and BREP files by planex2d's readers. Layer by layer, two ends closer than a thousandth of the drawing's larger side are joined, and a stretch drawn twice is kept once. The closed contours of all layers then form one section, in which a contour inside another is a hole and a contour inside a hole is material again. A contour that stays open is left out of the area. When a file has more than one layer, the bar on the right lists them, so that a layer of center lines or dimensions can be left out.

Units

The values are in the unit the file names, or in the unit picked on the right. A DXF file names its unit in its header, an SVG file in its width and height, and a STEP file in the file itself. A file that names none, such as every BREP file, is taken in meters. Areas are in the unit squared, section moduli cubed and second moments to the fourth power.

Area, centroid and second moments

planex2d's Measure() integrates over the section's exact edges, so a circle or a fillet is measured as the arc it is, not as a polygon. Ix is the integral of y² over the area, about the x axis through the centroid, Iy the integral of x², and Ixy the integral of x·y. planex2d calls them Ih, Iv and Ihv, after its h and v axes. The principal moments I1 and I2 are the largest and the smallest second moment about any axis through the centroid, and the angle is that of the axis of I1 from x. A section with I1 = I2, such as a circle or a square, has every axis through its centroid as a principal axis, and no angle is given.

Section moduli and radii of gyration

  • The elastic section modulus Wel = I / e divides a second moment by the distance e from its axis to the farthest point of the section, on either side.
  • The plastic section modulus Wpl is the sum of the first moments of the two halves of the area about the axis that halves it. The calculator finds that axis by cutting the section with planex2d's Boolean operations.
  • The radius of gyration i = √(I / A) is given about the x and y axes and the two principal axes; the smallest of them governs the flexural buckling of a column.
  • The polar moment Ip = Ix + Iy is the torsion constant only for a round bar or a tube. The torsion example in the documentation computes the torsion constant of other sections in Python.

Wall thickness

The wall thickness is the diameter of the largest disc that fits inside the section and touches its boundary, at 400 points along the boundary. The thinnest and the thickest wall are the smallest and the largest of these. A sharp convex corner is infinitely thin at its tip, so the points where such a corner pinches the disc are left out. The legend entry Wall thickness colors the section by its local wall thickness, each point by the largest of these discs that covers it, as CAD thickness maps show it.

Sheet parts

The cut length is the length of every contour on the chosen layers, open ones included, and every contour needs one pierce. The mass of a sheet part is its area times the sheet thickness and the density of the material. The mass per meter is the area times the density, the weight of a bar or profile with this section per meter of its length.

Methodology

How the calculator works

A small page around the planex2d Python library. It runs the same code you get with pip install planex2d, compiled to WebAssembly and loaded with Pyodide/ngapp.

  1. Load

    The page loads Python and planex2d into this tab. Your browser keeps both in its cache, so later visits start faster.

  2. Read

    The browser reads the files you add from your disk into memory and unpacks a zip in the tab. No request carries a file to a server.

  3. Measure

    planex2d joins each file's closed contours into one section and measures it. The bar on the right picks what the results show; it changes nothing that was measured.

  4. Save

    Save (csv) writes the results of the file shown, Save all (csv) one row for every open file, in the unit picked on the right.

Supported files

FormatExtensionsNotes
DXF.dxfLines, arcs, circles, polylines, splines and ellipses of the model space, by layer. See Files.
SVG.svgPaths and shapes, by group label. See SVG.
STEP.step .stpPlanar parts. See STEP and BREP.
BREP.brepPlanar parts, taken in meters, since BREP names no unit.
Zip.zipEvery DXF, SVG, STEP and BREP file inside opens in a tab of its own.
CSVThe results, written with a byte order mark, so that spreadsheet programs read the units' ² and ⁴.

Run it in Python

Everything the calculator measures is available in the library. Install it and see Measuring in the docs. The example reads the IPE 200 sample in its own millimeters and measures it.

$ pip install planex2d
import planex as px

ipe = px.Face(px.FromDXF("ipe-200.dxf", scale=1))
m = ipe.Measure()
print("A", m["area"], "Iy", m["Ih"], "Iz", m["Iv"])
print("thinnest wall", ipe.Measure(px.measurements.MinThickness(ignore_corners=179.999)))

Privacy

NOTE

Nothing is uploaded. Files are read and measured in this tab and are gone when you close it. Python, planex2d and its packages come from public package servers (jsDelivr and PyPI). See the privacy notice.

Limits

  • This tool reads planar STEP and BREP files only.
  • Text, dimensions, hatches and images are not read; the calculator looks at the geometry only.
  • The torsion constant needs a finite element solution, which this page does not run.
  • In the browser, planex2d runs in one thread, so large drawings take longer than in Python on your machine.
  • A file that fails? Open an issue on GitHub and attach the file if you can.
Questions

Questions and answers

Is my file uploaded?

No. The file is read and measured in this browser tab by planex2d, running on Pyodide/ngapp, and is gone when you close the tab. Python and its packages come from jsDelivr and PyPI; your file is never sent anywhere.

How do I get the moment of inertia of a DXF profile?

Open the DXF file here. The calculator joins the profile's closed contours into one section, holes included, and gives the second moments Ix and Iy about the axes through the centroid, in the unit of the file. Save (csv) writes them, with everything else picked on the right, into a spreadsheet file.

Which axes are x and y?

The drawing's own x and y axes, moved to the centroid of the section. European steel tables call the strong axis of a beam y and the weak one z, so for a beam drawn upright the table's Iy is Ix here. I1 and I2 are about the principal axes, which are tilted for a section without an axis of symmetry, such as an unequal angle.

What is the difference between the elastic and the plastic section modulus?

The elastic section modulus Wel = I / e gives the bending stress at the outer fiber while the whole section is elastic. The plastic section modulus Wpl gives the bending moment at which the whole section yields, with the neutral axis where it halves the area. For the IPE 200 sample, Wpl,y is 220.6 cm³ against a Wel,y of 194.3 cm³, 14 % more.

Why is a part missing from the results?

Only closed contours have an area. The calculator closes gaps below a thousandth of the drawing's size on its own, and says how many; a contour that stays open is left out of the area but counts in the cut length. The contour checker shows where a drawing is open and repairs it.

Can it compute the torsion constant?

Not on this page. The torsion constant J of a section other than a circle or a tube needs a finite element solution of the warping function. The planex2d documentation shows how to compute it in Python, with planex2d drawing the section and NGSolve solving it.

More tools

Other tools on planex2d.org

Every tool runs on the planex2d library, in your browser.

  • Viewer

    DXF, SVG, planar STEP and BREP files shown layer by layer, read by planex2d.

  • Converters

    Many DXF, SVG, STEP and BREP files in, one format out, all saved at once.

  • Contour checker

    Open contours, gaps, doubled lines and tiny edges in DXF, SVG and STEP drawings, marked and repaired.

  • Nesting

    Plies and flat parts placed on a roll for the shortest length, with the fiber direction kept.

  • Playground

    planex2d code in the browser, beside what it prints and draws, shared as a link that carries the code.

The planex2d documentation shows the library behind the tools, and the homepage lists everything on planex2d.org.