← Demo

Storey 1 Wall Edge 3

v1 Gemini approved Generated with ElixiFree

Create Storey 1 Wall Edge 3, 3716mm long x 142mm thick x 2700mm high, stock sip/panel/osb_eps_142_2440x1220. Butt corner.

Dependencies

floor_deck_0.top_face

Interfaces Provided

top_face (bearing) inner_face (butt)
◉
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" => 3716.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 (511 tokens)
◆
s1_wall_e3_v1.py · 35 lines
import FreeCAD
from elixifree.domains.sip import Wall

# === ANCHOR POINTS ===
ANCHOR_TOP_FACE = (1858.0, 71.0, 2.7e3)
ANCHOR_BOTTOM_FACE = (1858.0, 71.0, 0.0)
ANCHOR_FRONT_FACE = (1858.0, 0.0, 1350.0)
ANCHOR_BACK_FACE = (1858.0, 142.0, 1350.0)
ANCHOR_LEFT_FACE = (0.0, 71.0, 1350.0)
ANCHOR_RIGHT_FACE = (3716.0, 71.0, 1350.0)
# === END ANCHOR POINTS ===

# === PARAMETERS ===
# Dimensions derived from the goal and required bounding box
SPAN = 3716.0       # mm (Length along X)
THICKNESS = 142.0   # mm (Depth along Y - corresponds to SIP-120)
HEIGHT = 2700.0     # mm (Height along Z)
STOCK = "SIP-120"   # SIP-120 has a total thickness of 142mm
# === END PARAMETERS ===

# Create the SIP wall panel using the declarative builder.
# Per the BUILD AXIS constraint, we model span along X and thickness along Y.
# We do not call .orient("Y") as the assembly layer handles world rotation.
builder = Wall(
    span=SPAN,
    height=HEIGHT,
    stock=STOCK
)

# Build the geometry
result = builder.build()

# Add to the document under the name "Body" as per standard conventions.
# This method handles document creation, object addition, and recomputation.
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