This is a complete HTML document that addresses your seastead design workflow questions. You can save and open it directly in your browser to explore the recommended toolchains and methodologies. ```html Seastead Parametric Design · Open‑Source Workflow

🌊 parametric seastead · one model openscad↔︎analysis

From digital ground‑truth to 3D‑printed wave tanks, BEM hydrodynamics, FEA & CFD — using open‑source pipelines.

📐 single ground truth .scad → everything

Yes, it’s absolutely reasonable to keep one authoritative OpenSCAD model as the source. All downstream geometries (STL, STEP, meshes for simulation) should be exported or derived from that same parametric file. This keeps dimensions, hull shape, column spacing and attachment points consistent.

🔹 master .scad parametric variables (length, beam, pontoon diameter, draft, column count).
🔹 sub‑modules separate files for hull, connectors, deck, mooring points.
🔹 assembly file uses use + transformations to place components.
🔹 export switches variables like EXPORT_STL = true; that trigger single‑part output.

🧩 recommended file structure

// 📁 seastead_master.scad include ; // all dimensions, scale factor, material flags use ; // main pontoon / spar geometry use ; use ; use ; module full_seastead() { hull_core(); deck_platform(); connectors(); mooring_lugs(); } // export logic: when printing separate parts if (EXPORT_PART == "hull") hull_core(); else if (EXPORT_PART == "deck") deck_platform(); else full_seastead(); // for visualization & CFD/BEM prep

🔧 tip Use params.scad to set scale_factor = 1/50 for Froude models, or toggle SIMPLIFY_MESH = true for faster CFD/BEM runs.

🧪 ① Froude scale models · 3D printing

You already use OpenSCAD → STL → slicer → gcode. That works perfectly. For wave tank testing keep the same parametric file and just set scale_factor = 1/50 (or your chosen λ). Print hull segments, glue/seal, add ballast to match scaled displacement.

⚖️ Froude similarity: scale time by √λ. If λ=1:50, wave period in tank = full‑scale period ÷ √50 ≈ full‑scale/7.07. Your OpenSCAD variables can output both full‑scale and model‑scale geometry with a single parameter change.

🌊 ② capytaine · wave diffraction & radiation

Capytaine (open‑source BEM) directly reads .stl or .gdf mesh files. From OpenSCAD you export STL (full scale), then use a tiny Python script to convert/clean the mesh for Capytaine. It computes added mass, damping, wave excitation forces — ideal for comparing hull shapes in regular/irregular waves.

# example: run capytaine with OpenSCAD STL import capytaine as cpt mesh = cpt.load_mesh("seastead_fullscale.stl", file_format="stl") body = cpt.FloatingBody(mesh=mesh) # add RAO computation, wave periods, etc.

open source Capytaine uses the Nemoh/Bemio core, no licensing cost. Perfect for early design loops.

🔩 ③ FEA · structural strength

OpenSCAD can export .stl (surface mesh) or, with a workaround, .off/.obj. For FEA you often need a volumetric mesh. Recommended open‑source path:

Single parametric source ensures structural analysis uses exactly the same geometry as hydrodynamics.

🧬 ④ scaled structural modeling · plastic → aluminum insight

Scaling a 3D‑printed plastic model by λ=1/50 can give qualitative stiffness clues if you respect similitude rules. However, material properties do not scale linearly. To extract meaning:

Rules for helpful plastic‑to‑aluminum scaling:
• Use geometric scaling (all dimensions × λ).
• Match elastic bending stiffness ratio: (EI)model / (EI)full should follow λ5 if same material; with plastic(E≈2‑4 GPa) vs aluminum(E≈70 GPa), you can adjust thickness or interpret carefully.
• Apply scaled loads (weight, wave forces) using similarity: force scales with λ3.
Qualitative deflection shape is useful; absolute stress numbers are not directly transferable.
• Best use: identify weak spots, buckling tendencies, connection behaviour.

Generate the scaled model directly from params.scad with λ factor, print in PLA/PETG, load with weights proportional to λ3 × density ratio. It’s a low‑cost sanity check before aluminum prototypes.

💨 ⑤ CFD · wave interaction & viscous effects

OpenSCAD STL can be used as geometry input for open‑source CFD. Two strong recommendations:

workflow OpenSCAD → STL (watertight!) → OpenFOAM/snappyHexMesh → wave simulation. This is more computationally heavy than BEM but captures viscous drag, green water, and nonlinear effects.

🔄 software that works with OpenSCAD exports

🎯 STL (standard) 3D printing, Capytaine, OpenFOAM (via snappyHexMesh), Gmsh, ParaView.
📐 STEP/IGES OpenSCAD doesn't natively export STEP. Workaround: OpenSCAD → STL → FreeCAD (convert to STEP) → Salome/PrePoMax.
🧊 OBJ/OFF Some mesh tools accept OBJ. OpenSCAD can export OFF via command line (useful for Gmsh).
⚙️ DXF for 2D profiles (cross sections) → FreeCAD → extrude → FEA.

🧰 alternative open‑source stacks (beyond OpenSCAD)

If you ever want a more integrated parametric environment that still keeps one master model:

Your current OpenSCAD + AI approach is valid — it gives fast iteration. Adding a STEP export step (via FreeCAD conversion) extends reach to traditional FEA/CFD preprocessors.

🗺️ one model → five deliverables

Use caseExport from .scadNext toolOutput
🧪 Froude tank modelSTL (scaled)Slicer (Prusa/Cura)gcode, physical model
🌊 BEM waves (Capytaine)STL (full scale)Capytaine/PythonRAO, added mass
🔩 FEA strengthSTL → Gmsh/FreeCADCalculiX/PrePoMaxstress, deformation
🧬 scaled structural PLASTL (λ=1/50)3D printer, weightsqualitative stiffness
💨 CFD wavesSTL (watertight)OpenFOAM / FreeCAD+CfdOFforces, flow field

✅ recommended strategy for pre‑NA design phase

  1. Keep OpenSCAD as single parametric truth. Store all dimensions in params.scad.
  2. For each analysis, write a short Python/bash script that exports the needed STL with correct scale/simplification.
  3. Use Capytaine heavily for wave response — it’s fast, open, and directly consumes STL.
  4. For structural FEA, invest one session to convert your STL into a CalculiX mesh via Gmsh or Salome.
  5. Print scaled plastic models with λ=1/50, load them cleverly (scaled weights) — it’s excellent for visual buckling and stiffness intuition.
  6. CFD with OpenFOAM is powerful but more time‑consuming; use it selectively for critical sea states.

Brainstorming phase is the perfect time to build this parametric backbone. It will save enormous effort later.

```