← Demo

Storey 1 Wall Edge 0

v1 Gemini approved Generated with ElixiFree

Create Storey 1 Wall Edge 0, 12000mm long x 142mm thick x 2700mm high, stock sip/panel/osb_eps_142_2440x1220. Openings: window 1800x1200mm at u=2300 sill=900, window 1800x1200mm at u=8850 sill=900. Through corner.

Dependencies

floor_deck_0.top_face

Interfaces Provided

top_face (bearing)
◉
Agent initialized (status: waiting_for_dependencies, action: check_dependencies)
◉
Provider: google | Profile: balanced
◉
Provider updated to google / balanced
◇
Received interface floor_deck_0.top_face: %{name: "top_face", type: "bearing", value: %{}, agent_id: "floor_deck_0"}
◉
All dependencies resolved, starting generation
◉
Refreshed placement from design spec (bbox %{"x" => 12000.0, "y" => 142.0, "z" => 2700.0})
◉
Generating v1
◉
[ElixiFree] active — code_module=elixifree.sip
◉
[ElixiFree] downgrading to gemini-3-flash-preview (builder API active)
○
Calling Gemini API for code generation (gemini-3-flash-preview)...
◉
Generation token budget: max_tokens=12288, thinking_budget=0 (retry_count=0)
●
Received response (689 tokens)
◆
s1_wall_e0_v1.py · 50 lines
import FreeCAD
import Part
from elixifree.domains.sip import Wall

# === ANCHOR POINTS ===
ANCHOR_TOP_FACE = (6000.0, 71.0, 2700.0)
ANCHOR_BOTTOM_FACE = (6000.0, 71.0, 0.0)
ANCHOR_FRONT_FACE = (6000.0, 0.0, 1350.0)
ANCHOR_BACK_FACE = (6000.0, 142.0, 1350.0)
ANCHOR_LEFT_FACE = (0.0, 71.0, 1350.0)
ANCHOR_RIGHT_FACE = (12000.0, 71.0, 1350.0)
# === END ANCHOR POINTS ===

# === PARAMETERS ===
SPAN = 12000.0        # X dimension
THICKNESS = 142.0     # Y dimension
HEIGHT = 2700.0       # Z dimension
STOCK = "SIP-120"     # OSB/EPS 142mm total (120mm core)

# Opening 1: window 1800x1200mm at u=2300 sill=900
W1_X = 2300.0
W1_Z = 900.0
W1_W = 1800.0
W1_H = 1200.0

# Opening 2: window 1800x1200mm at u=8850 sill=900
W2_X = 8850.0
W2_Z = 900.0
W2_W = 1800.0
W2_H = 1200.0
# === END PARAMETERS ===

# === BUILD GEOMETRY ===
# Use the declarative SIP Wall builder
wall_builder = Wall(
    span=SPAN,
    height=HEIGHT,
    stock=STOCK
)

# Add the window openings
wall_builder.opening(x=W1_X, z=W1_Z, width=W1_W, height=W1_H)
wall_builder.opening(x=W2_X, z=W2_Z, width=W2_W, height=W2_H)

# Finalize the build
result = wall_builder.build()

# === FINAL ===
# result.add_to_doc handles document creation and setup
result.add_to_doc("Body")
◉
[ElixiFree] ✓ generated script uses elixifree imports
●
Executing in FreeCAD...
◉
StepAnalyzer failed: FreeCAD could not read STEP file: FreeCAD exception thrown (File to load not existing or not readable) — skipping
●
FreeCAD execution succeeded
●
Exported: model.stl
◉
Generation succeeded and component was auto-approved (v1)
◉
Provider updated to google / balanced
v0.0.985