OpenSCAD online viewer/ja
// 3Dプリント用トルテリーニ3Dモデル // 伝統的なイタリアのトルテリーニの形状に基づいています // FDMプリント用に最適化された寸法
$fn = 50; // 滑らかさ - 品質を高めるには値を大きくします。
// リングセグメント(ピザ) - OpenSCAD
// 外径 = 500 mm、内径 = 440 mm、高さ = 3 mm、6セグメント、アリ溝式インターロック
$fn = 120; // za glatkije kružne ivice (ポデシ ポ ポトレビ)
outerD = 500;
innerD = 440;
高さ = 3;
セグメント数 = 6;
r_out = outerD/2;
r_in = innerD/2;
angle_per = 360/セグメント数;
// ダブテールパラメータ (u mm)
dov_深さ = 6; // コリコ デュボコ イデ ダブテール ラジアルノ
dov_width = 12; // širina baze dovetail-a duž Tangente (približno)
クリアランス = 0.2; // モンタジニ ルフト
// stepovi za aproksimaciju ルカ u ポリゴヌ
アークステップ = 60; // モゼ マンジェ/ヴィシェ ザ ブルジ レンダリング
module annulus_sector(r1, r2, a1, a2, steps=36) {
// pravi 2D ポリゴン sektora između a1 i a2, spoljašnji luk pa unutrašnji obrnuto
pts = concat(
[ for(i=[0:steps]) let(t = a1 + (a2-a1)*i/steps) [ r2*cos(t), r2*sin(t) ] ],
[ for(i=[0:steps]) let(t = a2 - (a2-a1)*i/steps) [ r1*cos(t), r1*sin(t) ] ]
);
多角形(点数=pts);
}
module dovetail_protrusion(mid_r, half_w, depth) {
// プラビラン トラペズ/ストレリカ コジャ グレダ ナ +x osu (centar u 0,0)
// definišemo u lokalnim koordinatama、pozicionujemo kasnije rotacijom
// バザナmid_r、シリナ = 2*half_w
pts = [
[ mid_r, -half_w ],
[ mid_r + depth, 0 ],
[ 中央右、半分幅 ]
];
多角形(点数=pts);
}
module dovetail_notch(mid_r, half_w, depth, extra=0) {
// malo širi negativ (ノッチ) - koristimo ista geometrija、ali ubacujemo クリアランス
pts = [
[ mid_r - extra、-half_w - extra ]、
[ mid_r + depth + extra, 0 ],
[ mid_r - extra、half_w + extra ]
];
多角形(点数=pts);
}
モジュールセグメント(インデックス) {
a1 = index*angle_per;
a2 = a1 + angle_per;
// 2D ベースセクター
base2d = translate([0,0]) annulus_sector(r_in, r_out, a1, a2, arc_steps);
// ポジシジャ ダブテール-a: 中心。橈骨
mid_r = (r_in + r_out)/2;
half_w = dov_width/2;
// pripremi アリオス/ノッチ u lokalnom koordinatnom sistemu;ロティラモ・ザ・ウガオ a1 i a2
// Alterniramo orijentaciju: parni インデックス -> 突起部分 a1、ノッチ na a2;ネパルニ・オブヌト
left_is_male = (index % 2 == 0);
// kombinacija 2D: base + male dovetail (union) - notch (difference)
違い() {
union() {
base2d;
// 左側(角度 a1)
if (left_is_male)
rotate(a1) translate([0,0]) dovetail_protrusion(mid_r, half_w, dov_depth);
// 右側面(角度 a2)
if (!left_is_male)
rotate(a2) translate([0,0]) dovetail_protrusion(mid_r, half_w, dov_depth);
}
// subtrahujemo odgovarajuci ノッチ sa クリアランス
// dodajemo malo クリアランス (クリアランス) da olaksamo uklapanje
if (left_is_male)
rotate(a2) translate([0,0]) dovetail_notch(mid_r, half_w, dov_depth, clearance);
それ以外
rotate(a1) translate([0,0]) dovetail_notch(mid_r, half_w, dov_depth, clearance);
}
}
モジュール segment_3d(index) {
// izbaci 3D セグメント sa visinom = 高さ
linear_extrude(height=height, center=false, convexity=10)
セグメント(インデックス)
}
// ASSY: クレイラジ sve セグメント i ローティラジ ih u krug
for(i=[0:segments-1]) {
translate([0,0,0])
rotate([0,0,0]) // プレースホルダー
segment_3d(i);
}
| 著者 | |
|---|---|
| ライセンス | CC-BY-SA-4.0 |
| 引用元 | 「OpenSCADオンラインビューア」。Appropedia。2024–2025 。2026年4月17日取得。 |