```html
For the kind of workflow you're describing — "given these float shapes and this triangle geometry, design the actual truss and spit out a bill of materials with weights" — there isn't one perfect off-the-shelf tool, but there are several good open-source building blocks. Below I've grouped them by what part of the job they do, then suggested a practical pipeline.
| Tool | License | What it does for you |
|---|---|---|
| FreeCAD (with the Ship and Arch/BIM workbenches) | Open source (LGPL) | Fully parametric 3D CAD. You can script the triangle frame, floats, and NACA foil legs in Python. The Ship workbench computes hydrostatics (displacement, waterplane area, CB, CF, GM) which is exactly what you need for a SWATH-like design. Material properties + volumes give you weights automatically. |
| OpenSCAD or CadQuery | Open source | Script-driven parametric modeling. Great for "change one number, regenerate the whole seastead." CadQuery (Python) is more suited to structural parts than OpenSCAD. |
| Blender + Sverchok | Open source (GPL) | Node-based parametric geometry. Good for visualization, less ideal for engineering BOM. |
| Tool | License | Notes |
|---|---|---|
| PyNite (Pynite) | Open source (MIT), Python | 3D finite element frame analysis in pure Python. You define nodes, members, loads, and material (e.g., 6061-T6 or 5083 marine aluminum). It returns forces, deflections, and reactions. Pair with a member-sizing loop and you can auto-pick tube sizes to meet stress/deflection limits, then sum weights. |
| OpenSees / OpenSeesPy | Open source (BSD) | Very powerful FEA, originally for earthquake engineering. Overkill for a first pass but handles nonlinear dynamic loads (wave slam, etc.). |
| anaStruct | Open source, Python | 2D frame analysis — useful for quick sanity checks on individual trusses before building the 3D model. |
| CalculiX / code_aster | Open source | Full 3D FEA solvers. Good if you later want to analyze the foil legs as shells or check stress concentrations at joints. |
| FreeCAD FEM workbench | Open source | Wraps CalculiX with a GUI inside FreeCAD — nice if you're already modeling there. |
| Tool | License | Notes |
|---|---|---|
| FreeCAD Ship Workbench | Open source | Hydrostatics, displacement, tank capacity, GZ curves. Works on any hull geometry — including your three separate foils. |
| Delftship Free | Freeware (not FOSS) | Hull modeler with hydrostatics. Less suited to trimaran/SWATH but usable. |
| Capytaine | Open source, Python | Boundary element hydrodynamics — wave loads, added mass, motion RAOs. Very relevant for SWATH-type platforms where motions in waves are a key design driver. |
| OpenFOAM | Open source | CFD. Use later to check drag on the foil legs and thruster wash. |
None of the above gives you a polished BOM automatically, but all of them expose geometry and material data via Python. A ~200-line Python script can:
| Tool | Notes |
|---|---|
| Rhino 3D + Grasshopper + Karamba3D | Excellent parametric structural design; Karamba does exactly the "auto-size members, get weight" loop. Not free, but the cheapest commercial option for this kind of workflow. |
| SolidWorks / Inventor + Simulation | Great CAD + FEA but heavy licenses. |
| Maxsurf / Orca3D / ShipConstructor | Marine-specific; powerful but expensive and more focused on conventional hulls. |
| RISA-3D / SAP2000 / STAAD | Pro-grade frame analysis. |
For early trade studies you may not even need software. Marine-aluminum displacement platforms and aluminum catamarans typically come in at:
For your geometry (80 × 40 ft triangle ≈ 149 m² deck, three 19 ft × 10 ft foils ≈ ~18 m² wetted each) this gives a ballpark structural mass of roughly 7,000–11,000 kg before equipment, solar, batteries, water, stores, and people. Use this as a sanity check against whatever the software produces.
I can write you a Python starter (CadQuery + PyNite) that:
seastead_bom.html with a per-member table and totals.Just ask and I'll draft it.
```