← house

Inner West Wall Upper Wing Gable

v1 AI approved Generated with ElixiFree

SIP-120 gable panel 2858×142×2700mm (eave 2782mm). Corner window 1800mm@1.34m. Concave corner spline to e4, spline to e0. Valley rafter foot. ridge height 4432.1mm (duo-pitch gable end wall — this component MUST call .gable(ridge_height=4432.1) with this exact value; do NOT build a plain rectangular wall).

Dependencies

foundation.sole_plate_bearing

Interfaces Provided

corner_south_west_upper () corner_concave () body (component)
◉
Agent initialized (status: waiting_for_dependencies, action: check_dependencies)
◉
Provider: claude_code | Profile: balanced
◇
Received interface foundation.bearing_surface: %{name: "bearing_surface", type: nil, value: %{}, agent_id: "foundation"}
◉
All dependencies resolved, starting generation
◉
Refreshed placement from design spec (bbox %{"x" => 2858.0, "y" => 142.0, "z" => 2700.0})
◉
Generating v1
◉
[ElixiFree] active — code_module=elixifree.sip
◉
[ElixiFree] downgrading to claude-haiku-4-5-20251001 (builder API active)
○
Calling Claude (local subscription) for code generation (claude-haiku-4-5-20251001)...
◉
Generation token budget: max_tokens=12288, thinking_budget=0 (retry_count=0)
●
Received response ( tokens)
◉
Applied 1 deterministic .opening() call(s) from the design spec
◉
Normalized Wall builder dimensions/orientation to local-frame contract
◉
Removed a .gable(...) call the model added despite this storey having no gable data in the design spec
◆
s0_wall_e5_v1.py · 28 lines
from elixifree.domains.sip import Wall

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

# === PARAMETERS ===
SPAN = 2858.0           # mm — X direction, gable end span
THICKNESS = 142.0       # mm — Y direction, SIP-120 total thickness
EAVE_HEIGHT = 2700.0    # mm — Z direction, rectangular wall height to eave
WINDOW_WIDTH = 1800.0   # mm
WINDOW_HEIGHT = 1000.0  # mm
WINDOW_X = (SPAN - WINDOW_WIDTH) / 2  # Center window along span
WINDOW_Z = 1340.0       # mm — 1.34m from bottom
# === END PARAMETERS ===

result = (Wall(span=2858.0, height=2700.0, stock="SIP-120")
    .inner_groove(x=0)              # Left end spline to south wall
    .inner_groove(x=SPAN)           # Right end spline to outer wall
    .opening(x=1342.0, z=600.0, width=1800.0, height=1500.0)
    .build())

result.add_to_doc("Body")
◉
[ElixiFree] ✓ generated script uses elixifree imports
●
Executing in FreeCAD...
✖
FreeCAD execution failed: Traceback (most recent call last): File "/Users/briancunningham/elixicad/freecad/bin/../Mod/CadClaude/cadclaude_worker.py", line 267, in _exec_once exec(compile(script_source, "<cadclaude>", "exec"), {}) File "<cadclaude>", line 34, in <module> File "/Users/briancunningham/elixicad/freecad/Mod/CadClaude/elixifree/builder.py", line 129, in build self._validate() File "/Users/briancunningham/elixicad/freecad/Mod/CadClaude/elixifree/domains/sip.py", line 339, in _validate raise BuildError( elixifree.builder.BuildError: Opening 0 x-extent [1342.0, 3142.0] exceeds wall span 2858.0
◉
Retrying (attempt 2/4)
●
Received corrected script, re-executing...
●
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 claude_code / balanced
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
◉
Applied 1 deterministic .opening() call(s) from the design spec
●
Executing in FreeCAD...
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
v0.0.985