vibe-openscad

pdf-page/gemini-3.5-flash / tier-4-gp2y0a21yk

success tier 4

pdf-page (gemini 3.5 flash)

render
bare render of tier-4-gp2y0a21yk
loading STL…
success 73.0s · 1528/1124t · $0.0124
SCAD (86 lines)
$fn = 50;

// GP2Y0A21YK0F 測距センサ外形モデル
// 座標系: 本体の中心が原点。+Z は上方向(レンズが上面)、+Y は前方(コネクタの反対方向)

module gp2y0a21yk0f() {
    // 全体の中心を原点 (0, 0, 0) に合わせるためのオフセット調整
    // (X方向は対称のため 0、Y方向とZ方向はバウンディングボックスの中心を基準に調整)
    translate([0, 1.3, -10.45]) {
        
        // 1. ベース本体ケース (Base case)
        // 29.5mm x 13mm x 13.5mm の直方体
        difference() {
            translate([-14.75, -6.5, 0])
                cube([29.5, 13, 13.5]);
            
            // 下部のケーブル/コネクタ用切欠き
            translate([-13.85, -6.6, -1])
                cube([10.1, 3.0, 5.0]);
        }
        
        // 2. 連結バー & 取付耳 (Mounting ears)
        // 厚み: 1.8mm (Z: 0 〜 1.8)
        // 穴ピッチ: 37mm (X: -18.5, 18.5)
        // 耳の中心はベース後端から 7.2mm の位置 (Y: -0.7)
        for (x = [-18.5, 18.5]) {
            difference() {
                union() {
                    // 耳の半円部 (R3.75)
                    translate([x, -0.7, 0])
                        cylinder(d=7.5, h=1.8);
                    
                    // ベース本体と耳をつなぐ連結バー
                    if (x < 0) {
                        translate([x, -0.7 - 3.75, 0])
                            cube([3.75, 7.5, 1.8]);
                    } else {
                        translate([x - 3.75, -0.7 - 3.75, 0])
                            cube([3.75, 7.5, 1.8]);
                    }
                }
                // 取付穴 (直径 3.2mm)
                translate([x, -0.7, -1])
                    cylinder(d=3.2, h=4.0);
            }
        }
        
        // 3. レンズ部本体ケース (Lens case)
        // 29.5mm x 6.3mm x 5.4mm
        // ベースの上面 (Z: 13.5) に配置
        translate([-14.75, -1.8, 13.5])
            cube([29.5, 6.3, 5.4]);
            
        // 4. レンズ (Lenses)
        // 高さ: 2.0mm
        
        // 発光側レンズ (Light emitter: 左側、円形)
        // レンズ中心: X = -14.0 (耳から 4.5mm)
        translate([-14.0, 1.35, 18.9]) {
            cylinder(d=5.0, h=2.0);
        }
        
        // 受光側レンズ (Light detector: 右側、角丸矩形)
        // レンズ中心: X = 6.0 (発光側から 20.0mm)
        translate([6.0, 1.35, 18.9]) {
            hull() {
                translate([-2.5, 0, 0]) cylinder(d=4.5, h=2.0);
                translate([2.5, 0, 0]) cylinder(d=4.5, h=2.0);
            }
        }
        
        // 5. コネクタ部 (Connector)
        // 幅 10.1mm、飛び出し 2.6mm
        translate([-13.85, -9.1, -4.0])
            cube([10.1, 2.6, 5.5]);
            
        // 6. ケーブル (Cable: 簡易表現の丸棒)
        translate([-8.8, -7.8, -15.0]) {
            color("gray")
                cylinder(d=3.0, h=11.0);
        }
    }
}

// モデルの呼び出し
gp2y0a21yk0f();

meta

runIdpdf-page_gemini-3.5-flash-e0afc5484def-2026-05-20T00-16-19-041Z
matrixIdpdf-page/gemini-3.5-flash
signaturee0afc5484def4df6…
providergoogle
modelgemini-3.5-flash
harnesspdf-page
statussuccess
duration73.04s (wallclock: load + prompt eval + generation + network)
tokens1528 in / 1124 out
wallclock tok/s15.4 tok/s (end-to-end)
cost$0.0124
createdAt2026-05-20T00:16:19.041Z
gitCommitc16a216592f0
openscadOpenSCAD version 2026.04.27

prompt

添付画像は Sharp 製測距センサ GP2Y0A21YK0F のデータシートのページです。
OpenSCAD でモデリングしてください。

座標系: 単位 mm、本体の中心を原点とし、取付面(PWB / コネクタ側)を -Z に向ける。

完成したコード全体を ```openscad ... ``` のフェンスで囲んで出力してください。