vibe-openscad

bare/nemotron-3-nano-4b / tier-2-l-bracket

render_error tier 2
error
openscad stl render failed (exit 1): ERROR: Parser error: syntax error in file ../../../../../tmp/render-WfjEHA/input.scad, line 17
Can't parse file '/tmp/render-WfjEHA/input.scad'!

bare (nvidia/nemotron-3-nano-4b)

render
no render
render_error 20.6s · 323/2156t
openscad stl render failed (exit 1): ERROR: Parser error: syntax error in file ../../../../../tmp/render-WfjEHA/input.scad, line 17
Can't parse file '/tmp/render-WfjEHA/input.scad'!

SCAD (70 lines)
module Lbracket() {
    outer_w = 50; // width (X)
    outer_d = 40; // depth/height per plate
    t = 3;        // thickness

    // ---------- plates ----------
    // Horizontal plate: lies in X‑Y plane, extends +Y, thickness outward -Z
    h_plate = cube([outer_w, outer_d, t]);                // full solid
    translate([0,0,-t/2])
        rotateX(90)
            difference() {
                // cut interior cavity (3 mm wall) – not needed for L shape but keeps plate thin
                cylinder(d=outer_w-2*t, h=t);
                cylinder(d=outer_d-2*t, h=t);
            }
    h_plate = translate([0,0,-t/2])
        rotateX(90)
            difference() {
                cylinder(d=outer_w-2*t, h=t);
                cylinder(d=outer_d-2*t, h=t);
            }

    // Vertical plate: lies in X‑Z plane, extends +Z, thickness outward -Y
    v_plate = cube([outer_w, outer_d, t]);
    translate([0,0,t/2])
        rotateY(90)
            difference() {
                cylinder(d=outer_w-2*t, h=t);
                cylinder(d=outer_d-2*t, h=t);
            }
    
    // ---------- countersunk holes ----------
    hole_d = 8;   // Ø for the countersink seat (8 mm)
    hole_depth = 2; // depth of seat

    // Four holes per face: two on each plate, centered on its long edge,
    // 10 mm inside the outer edge and symmetrically placed.

    // Hole on horizontal plate – left side
    translate([outer_d/4 - hole_depth/2 - 10, 0, -t/2])
        difference() {
            cylinder(d=hole_d, h=hole_depth);
            // seat
            translate([0,0,-(hole_depth/2)]) cylinder(d=hole_d+2, h=hole_depth);
        }

    // Hole on horizontal plate – right side
    translate([outer_w - 10 - hole_depth/2, 0, -t/2])
        difference() {
            cylinder(d=hole_d, h=hole_depth);
            translate([0,0,-(hole_depth/2)]) cylinder(d=hole_d+2, h=hole_depth);
        }

    // Hole on vertical plate – bottom side
    translate([0, outer_w - 10 - hole_depth/2, t/2])
        difference() {
            cylinder(d=hole_d, h=hole_depth);
            translate([0,0,-hole_depth/2]) cylinder(d=hole_d+2, h=hole_depth);
        }

    // Hole on vertical plate – top side
    translate([0, outer_w - 10 - hole_depth/2, t/2 + hole_depth])
        difference() {
            cylinder(d=hole_d, h=hole_depth);
            translate([0,0,-hole_depth/2]) cylinder(d=hole_d+2, h=hole_depth);
        }
}

// Assemble L‑bracket
Lbracket();

meta

runIdbare_nemotron-3-nano-4b-f45b7c3319a0-2026-04-29T07-38-35-151Z
matrixIdbare/nemotron-3-nano-4b
signaturef45b7c3319a05a7b…
provideropenai-self-hosted
modelnvidia/nemotron-3-nano-4b
harnessbare
statusrender_error
duration20.58s (wallclock: load + prompt eval + generation + network)
TTFT7.075s
generation time6.88s (pure decode, excludes load + prompt eval)
tokens323 in / 2156 out
generation tok/s313.3 tok/s (pure decode rate)
wallclock tok/s104.8 tok/s (end-to-end)
createdAt2026-04-29T07:38:35.151Z
gitCommit68749000bf3a
openscadOpenSCAD version 2026.04.27

model metadata (self-hosted)

セルフホスト LLM はクラウドの単一 provider と違い、 実質「(モデル開発者, weight publisher, 量子化)」の組で挙動が決まる。 run 時に LM Studio / Ollama から取得した値:

publishernvidia
typellm
archnemotron_h
quantizationQ4_K_M
max ctx1,048,576 tok
capabilitiestool_use
host GPUNVIDIA GeForce RTX 3090 (Vulkan)
host VRAM24 GB
host CPU12th Gen Intel(R) Core(TM) i9-12900K
host RAM32 GB

prompt

OpenSCAD で、L 字に折れた金具(L-bracket)を作ってください。

形状:
- 水平面と垂直面の 2 つのフランジが直角に繋がっている
- 水平面は 50mm × 40mm(幅 × 奥行き)
- 垂直面は 50mm × 40mm(幅 × 高さ)
- 板厚はどちらも 3mm
- 内側コーナーが原点になるように配置(水平面は +Y 方向、垂直面は +Z 方向に伸びる)

皿穴(countersunk holes):
- 各面に 2 個ずつ、合計 4 個
- M4 ねじ用(貫通穴 Φ4.5mm + 皿座面 Φ8mm × 深さ 2mm)
- 各面の中心線上で、面の縁から 10mm 内側、左右対称に 2 個並べる
- 皿座面は外側(ボルト頭が当たる側)に向ける

完成したコード全体を ```openscad ... ``` のフェンスで囲んで出力してください。コードのみで、追加の説明は不要です。