← Shed

West gable wall (FALL-RUN raked)

v1 AI approved

SIP-120 wall, 5716mm span × 142mm thick, height 2700mm at north end raking to 2909.52mm at south end (height_end). Butts into south/north walls via splined joints at corners. Sole plate bearing on foundation.

Dependencies

foundation.bearing_top_face south_wall.corner_joint_west north_wall.corner_joint_west

Interfaces Provided

bearing_top_plate_raked ()
◉
Agent initialized (status: waiting_for_dependencies, action: check_dependencies)
◉
Provider: claude_code | Profile: balanced
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
◇
Received interface foundation.bearing_top_face: %{name: "bearing_top_face", type: nil, value: %{}, agent_id: "foundation"}
◉
Provider updated to claude_code / balanced
◇
Received interface north_wall.bearing_top_plate: %{name: "bearing_top_plate", type: nil, value: %{}, agent_id: "north_wall"}
◇
Received interface north_wall.corner_joint_east: %{name: "corner_joint_east", type: nil, value: %{}, agent_id: "north_wall"}
◇
Received interface north_wall.corner_joint_west: %{name: "corner_joint_west", type: nil, value: %{}, agent_id: "north_wall"}
◇
Received interface north_wall.partition_mount_surface: %{name: "partition_mount_surface", type: nil, value: %{}, agent_id: "north_wall"}
◇
Received interface south_wall.bearing_top_plate: %{name: "bearing_top_plate", type: nil, value: %{}, agent_id: "south_wall"}
◇
Received interface south_wall.corner_joint_east: %{name: "corner_joint_east", type: nil, value: %{}, agent_id: "south_wall"}
◇
Received interface south_wall.corner_joint_west: %{name: "corner_joint_west", type: nil, value: %{}, agent_id: "south_wall"}
◉
All dependencies resolved, starting generation
◉
Refreshed placement from design spec (bbox %{"x" => 5716.0, "y" => 142.0, "z" => 2909.5246169504862})
◉
Generating v1
◇
Received interface south_wall.partition_mount_surface: %{name: "partition_mount_surface", type: nil, value: %{}, agent_id: "south_wall"}
◉
[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)
◉
Normalized Wall builder dimensions/orientation to local-frame contract
◆
west_wall_v1.py · 21 lines
from elixifree.domains.sip import Wall

# === ANCHOR POINTS ===
ANCHOR_TOP_FACE = (2858.0, 71.0, 2909.5246169504862)
ANCHOR_BOTTOM_FACE = (2858.0, 71.0, 0.0)
ANCHOR_FRONT_FACE = (2858.0, 0.0, 1454.7623084752431)
ANCHOR_BACK_FACE = (2858.0, 142.0, 1454.7623084752431)
ANCHOR_LEFT_FACE = (0.0, 71.0, 1454.7623084752431)
ANCHOR_RIGHT_FACE = (5716.0, 71.0, 1454.7623084752431)
# === END ANCHOR POINTS ===

# === PARAMETERS ===
SPAN = 5716.0      # mm — length along X
THICKNESS = 142.0  # mm — depth/thickness along Y
HEIGHT = 2700.0    # mm — height at north end (X=0)
HEIGHT_END = 2909.5246169504862  # mm — height at south end (X=span)
STOCK = "SIP-120"
# === END PARAMETERS ===

result = Wall(span=5716.0, height=2909.5, stock="SIP-120").build()
result.add_to_doc("Body")
✖
This wall's goal declares a RAKED (fall-run) top, but the script builds a level wall: the Wall(...) call has no `height_end`. The rake is what the roof deck bears on — without it the deck cuts across a flat wall top and leaves a triangular gap. Pass BOTH heights, e.g. `Wall(span=SPAN, height=HEIGHT_AT_X0, stock=..., height_end=HEIGHT_AT_SPAN)`. Do NOT add a separate tapered plate or wedge — the wall itself is the taper.
◉
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)
v0.0.985