← Test Lab — Gemini — 2026-05-15T12:44

Base Plate West

v1 Gemini approved

Create a timber base plate, 100x1800x45mm, C24 structural pine. Provides upward 45mm timber spline interface for the west wall SIP assembly.

Interfaces Provided

base_spline (spline)
◉
Agent initialized (status: waiting_for_dependencies, action: check_dependencies, delay: 2000ms)
◉
Provider: google | Profile: quality
◉
Starting after stagger delay (action: check_dependencies)
◉
Generating v1
○
Calling Gemini API for code generation (gemini-3.1-pro-preview)...
◉
Generation token budget: max_tokens=12288, thinking_budget=0 (retry_count=0)
●
Received response (469 tokens)
◆
base_plate_west_v1.py · 46 lines
import FreeCAD
import Part
import math
from FreeCAD import Vector, Placement, Rotation

FreeCAD.loadModule("PartDesign")
import PartDesign

# === PARAMETRIC CONSTANTS ===
PLATE_WIDTH = 100       # mm (X axis)
PLATE_LENGTH = 1800     # mm (Y axis)
PLATE_HEIGHT = 45       # mm (Z axis)

SPLINE_WIDTH = 45       # mm
SPLINE_HEIGHT = 45      # mm

# === DOCUMENT & BODY ===
doc = FreeCAD.ActiveDocument or FreeCAD.newDocument("Model")
body = doc.addObject("PartDesign::Body", "Body")

# === SKETCHES & FEATURES ===
# Base Plate
base = doc.addObject("PartDesign::AdditiveBox", "BasePlate")
base.Length = PLATE_WIDTH
base.Width = PLATE_LENGTH
base.Height = PLATE_HEIGHT
base.Placement = Placement(Vector(0, 0, 0), Rotation())
body.addObject(base)
doc.recompute()

# Upward Spline Interface
spline = doc.addObject("PartDesign::AdditiveBox", "Spline")
spline.Length = SPLINE_WIDTH
spline.Width = PLATE_LENGTH
spline.Height = SPLINE_HEIGHT

# Center the spline on the base plate width and position on top
spline_x_offset = (PLATE_WIDTH - SPLINE_WIDTH) / 2.0
spline.Placement = Placement(Vector(spline_x_offset, 0, PLATE_HEIGHT), Rotation())
body.addObject(spline)
doc.recompute()

# === FINAL ===
doc.recompute()
if FreeCAD.GuiUp:
    FreeCAD.Gui.ActiveDocument.ActiveView.fitAll()
●
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
◉
Provider updated to google / balanced
◉
Provider updated to google / balanced
◉
Provider updated to google / balanced
◉
Provider updated to google / balanced
◉
Provider updated to google / balanced
◉
Provider updated to google / balanced
◉
Provider updated to google / balanced
v0.0.985