Files
3D/tir_sportif/dioptre-pédagogique/scad/blades_v2.scad
2025-06-30 17:14:30 +02:00

53 lines
1.4 KiB
OpenSCAD

$fn=60;
include<threads.scad>
include <BOSL2/std.scad>
include <BOSL2/shapes2d.scad>
include <boltsos_0.4.1/BOLTS.scad>
module bolt() {
difference() {
union() {
cuboid([26,21,10], rounding=1);
translate([-10,0,0]) cuboid([6,66,10], rounding=1);
}
translate([-2.5,0,0]) zcyl(l=10, d=15);
}
translate([-2.5,0,-5]) mirror([0,1,0]) RodEnd(15, 20, thread_len=20, thread_diam=12, thread_pitch=4);
}
module blade() {
difference () {
translate([-7.5,0,0]) cuboid([26,8,66], rounding=1);
translate([0,3.5,0]) cuboid([6,5,70], rounding=1);
}
translate([-7,-4,20]) ycyl(l=3, d=8, rounding=1);
translate([-7,-4,-20]) ycyl(l=3, d=8, rounding=1);
}
* bolt();
* blade();
// Horizontal blades
color("green") {
translate([-50,0,15]) rotate([0,-90,0]) {
// Right
translate([-2.5,65,0]) rotate([90,0,0]) bolt();
// Left
translate([5,-62,0]) blade();
translate([-14,0,30]) cuboid([3,129,6], rounding=1);
translate([-14,0,-30]) cuboid([3,129,6], rounding=1);
}
}
// Vertictal blades
color("pink") {
translate([50,0,15]) rotate([-90,-90,0]) {
// Top
translate([-2.5,0,65]) rotate([0,180,180]) bolt();
// Bottom
translate([5,0,-62]) rotate([90,0,0]) blade();
translate([-9.5,30.5,4]) cuboid([4,5,132], rounding=1);
translate([-9.5,-30.5,4]) cuboid([4,5,132], rounding=1);
}
}