← test

Central Interior Partition

v1 AI approved Generated with ElixiFree

Timber-stud partition, span 5150mm (E-W), thickness 122mm, height 2700mm; sole plate on foundation; butts to partition_ns_west and partition_ns_east at y=3050; one 900×2040mm interior door

Dependencies

foundation.bearing_surface partition_ns_west.connection partition_ns_east.connection
◉
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
◉
Provider updated to claude_code / balanced
◉
Provider updated to anthropic / balanced
◉
Provider updated to anthropic / balanced
◉
Provider updated to anthropic / balanced
◉
Agent initialized (status: waiting_for_dependencies, action: check_dependencies)
◉
Provider: anthropic | Profile: balanced
◉
Provider updated to anthropic / balanced
◉
Provider updated to anthropic / balanced
◉
Provider updated to anthropic / balanced
◉
Provider updated to anthropic / balanced
◉
Agent initialized (status: waiting_for_dependencies, action: check_dependencies)
◉
Provider: anthropic | Profile: balanced
◉
Provider updated to anthropic / balanced
◉
Provider updated to anthropic / balanced
◉
Provider updated to anthropic / balanced
◉
Provider updated to anthropic / balanced
◉
Provider updated to anthropic / balanced
◉
Provider updated to anthropic / balanced
◉
Provider updated to anthropic / balanced
◉
Provider updated to anthropic / balanced
◉
Provider updated to anthropic / balanced
◉
Agent initialized (status: waiting_for_dependencies, action: check_dependencies)
◉
Provider: anthropic | Profile: balanced
◉
Provider updated to anthropic / balanced
◉
Provider updated to anthropic / balanced
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
◉
Agent initialized (status: waiting_for_dependencies, action: check_dependencies)
◉
Provider: claude_code | Profile: balanced
◉
Provider updated to claude_code / balanced
◇
Received interface foundation.bearing_surface: %{name: "bearing_surface", type: nil, value: %{}, agent_id: "foundation"}
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
◉
Agent initialized (status: waiting_for_dependencies, action: check_dependencies)
◉
Provider: claude_code | Profile: balanced
◇
Seeded interface foundation.bearing_surface from DB (provider already approved)
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
◇
Received interface partition_ns_west.connection: %{name: "connection", type: "connection", value: %{}, agent_id: "partition_ns_west"}
◉
Provider updated to claude_code / balanced
◇
Received interface partition_ns_east.connection: %{name: "connection", type: "connection", value: %{}, agent_id: "partition_ns_east"}
◉
All dependencies resolved, starting generation
◉
Refreshed placement from design spec (bbox %{"x" => 5150.0, "y" => 122.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)
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
●
Received response ( tokens)
◉
Applied 1 deterministic .opening() call(s) from the design spec
◉
Normalized Wall builder dimensions/orientation to local-frame contract
◆
partition_ew_v1.py · 38 lines
import FreeCAD
from FreeCAD import Vector, Placement, Rotation
from elixifree.domains.sip import Wall

# === ANCHOR POINTS ===
ANCHOR_TOP_FACE = (2575.0, 61.0, 2700.0)
ANCHOR_BOTTOM_FACE = (2575.0, 61.0, 0.0)
ANCHOR_FRONT_FACE = (2575.0, 0.0, 1350.0)
ANCHOR_BACK_FACE = (2575.0, 122.0, 1350.0)
ANCHOR_LEFT_FACE = (0.0, 61.0, 1350.0)
ANCHOR_RIGHT_FACE = (5150.0, 61.0, 1350.0)
# === END ANCHOR POINTS ===

# === PARAMETERS ===
SPAN = 5150.0      # mm — E-W span along X
THICKNESS = 122.0  # mm — wall thickness along Y
HEIGHT = 2700.0    # mm — wall height along Z
DOOR_W = 900.0     # mm — interior door width
DOOR_H = 2040.0    # mm — interior door height
DOOR_X = (SPAN - DOOR_W) / 2  # centre the door
# === END PARAMETERS ===

# ElixiFree gap: TimberStudWall builder not yet implemented. 
# Actual construction: 75×100mm C16 timber studs at 400mm centres with OSB cladding.
# Using Wall(stock='SIP-100') to model the envelope equivalent.

doc = FreeCAD.ActiveDocument or FreeCAD.newDocument("Partition")

# Create timber-stud partition wall with door opening
result = (Wall(span=5150.0, height=2700.0, stock="SIP-100")
    .opening(x=1950.0, z=0.0, width=900.0, height=2040.0)
    .build())

result.add_to_doc("Body")

doc.recompute()
if FreeCAD.GuiUp:
    FreeCAD.Gui.ActiveDocument.ActiveView.fitAll()
◉
[ElixiFree gap] TimberStudWall builder not yet implemented.
◉
[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
★
Ready for review (v1)
◉
Provider updated to claude_code
◉
Component approved by user
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
◉
Provider updated to claude_code / balanced
◉
[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
◆
partition_ew_v2.py · 31 lines
import FreeCAD
from elixifree.domains.sip import Wall

# === ANCHOR POINTS ===
ANCHOR_TOP_FACE = (2514.0, 61.0, 2700.0)
ANCHOR_BOTTOM_FACE = (2514.0, 61.0, 0.0)
ANCHOR_FRONT_FACE = (2514.0, 0.0, 1350.0)
ANCHOR_BACK_FACE = (2514.0, 122.0, 1350.0)
ANCHOR_LEFT_FACE = (0.0, 61.0, 1350.0)
ANCHOR_RIGHT_FACE = (5028.0, 61.0, 1350.0)
# === END ANCHOR POINTS ===

# === PARAMETERS ===
SPAN = 5028.0      # mm — length along X
THICKNESS = 122.0  # mm — depth/thickness along Y
HEIGHT = 2700.0    # mm — height along Z
DOOR_WIDTH = 900.0 # mm
DOOR_HEIGHT = 2040.0  # mm
DOOR_SILL = 0.0    # mm
DOOR_CENTER_X = 2400.0  # mm
# === END PARAMETERS ===

# Compute door opening position (x = centre - width/2)
DOOR_X = DOOR_CENTER_X - DOOR_WIDTH / 2

# Create timber-stud partition wall with interior door opening
result = (Wall(span=5028.0, height=2700.0, stock="SIP-100")
    .opening(x=1950.0, z=0.0, width=900.0, height=2040.0)
    .build())

result.add_to_doc("Body")
◉
[ElixiFree] ✓ generated script uses elixifree imports
◉
[ElixiFree hybrid] 0 gap(s) in script for agent=partition_ew
●
Executing in FreeCAD...
◉
StepAnalyzer failed: FreeCAD could not read STEP file: FreeCAD exception thrown (File to load not existing or not readable) — skipping
v0.0.985