131 lines
3.9 KiB
OpenSCAD
131 lines
3.9 KiB
OpenSCAD
$fn=60;
|
|
|
|
include<threads.scad>
|
|
include <BOSL2/std.scad>
|
|
include <BOSL2/shapes2d.scad>
|
|
include <boltsos_0.4.1/BOLTS.scad>
|
|
|
|
// Sight
|
|
color("grey", alpha=1) {
|
|
// Base
|
|
difference() {
|
|
translate([0,-5,0]) cuboid([20,50,40], rounding=2);
|
|
xcyl(l=20, d=12.5);
|
|
}
|
|
translate([0,-30 ,0]) rotate([-90,0,0]) tube(od=15, wall=3, h=7, chamfer=0.5);
|
|
// Eye
|
|
translate([2.5,0,0]) {
|
|
rotate([0,90,0]) {
|
|
tube(od=12, wall=3, h=22, chamfer=0.5);
|
|
translate([0,0,14.5]) tube(h=10, or1=6, or2=20, wall=3, chamfer=0.5);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Screws
|
|
// Top
|
|
translate ([0,0,83.5]) rotate([0,180,0]) {
|
|
cylinder(h=15, d=14, $fn=6);
|
|
translate([0,0,15]) mirror([0,1,0]) RodStart(20, 3, thread_len=30, thread_diam=15, thread_pitch=4);
|
|
}
|
|
|
|
// Right
|
|
translate ([0,83.5,0]) rotate([90,0,0]) {
|
|
cylinder(h=15, d=14, $fn=6);
|
|
translate([0,0,15]) mirror([0,1,0]) RodStart(20, 3, thread_len=30, thread_diam=15, thread_pitch=4);
|
|
}
|
|
|
|
// Horizontal blades
|
|
color("green") {
|
|
// Haut
|
|
translate([0,0,22.5]) {
|
|
mirror([0,1,0]) RodEnd(20, 30, thread_len=31, thread_diam=16, thread_pitch=4);
|
|
translate([0,-2.5,0]) cuboid([20,105,5], rounding=1);
|
|
}
|
|
translate([0,-50,0]) {
|
|
rotate([90,0,0]) tube(od=20, wall=5.5, h=5, rounding=1);
|
|
}
|
|
translate([0,-52.5,7.5]) rotate([-90,0,0]) cuboid([20,35,5], rounding=1);
|
|
// Bas
|
|
union() {
|
|
translate([0,0,-25]) cuboid([20,80,10], rounding=1);
|
|
translate([0,15,-30]) tube(od=11, wall=1, h=5);
|
|
}
|
|
}
|
|
|
|
// Vertical blades
|
|
color("pink") {
|
|
// Droite
|
|
rotate([-90,0,0]) {
|
|
translate([0,0,22.5]) {
|
|
mirror([0,1,0]) RodEnd(20, 30, thread_len=31, thread_diam=16, thread_pitch=4);
|
|
cuboid([20,22,5], rounding=1);
|
|
}
|
|
}
|
|
// Gauche
|
|
* union() {
|
|
translate([0,-52,0]) ycyl(l=32, d=12, rounding=1);
|
|
translate([0,-67.5,9.5]) rotate([-90,0,0]) cuboid([20,31,5], rounding=1);
|
|
}
|
|
}
|
|
|
|
// Springs
|
|
color("orange", alpha=.5) {
|
|
translate([0,15,-35]) zcyl(l=9.5, d=9);
|
|
translate([0,-15,-35]) zcyl(l=9.5, d=9);
|
|
translate([0,-40,-0]) ycyl(l=20, d=9);
|
|
}
|
|
// Enclosure
|
|
outerWidth=30;
|
|
outerLength=141;
|
|
innerWidth=22;
|
|
innerLength=135;
|
|
|
|
color("cyan", alpha=0.5) {
|
|
translate([0,0,19]) difference() {
|
|
union() {
|
|
translate([0,0,10]) prismoid(size1=[outerWidth,outerLength], size2=[outerWidth,25], h=43, rounding=5);
|
|
translate([0,0,-25]) cuboid([outerWidth,outerLength,70], rounding=5, edges=[FRONT+RIGHT,FRONT+LEFT,BACK+RIGHT,BACK+LEFT]);
|
|
}
|
|
translate([0,0,-25]) cuboid([innerWidth,innerLength,70], rounding=1);
|
|
translate([0,0,10]) prismoid(size1=[innerWidth,innerLength], size2=[innerWidth,30], h=40, rounding=5);
|
|
translate([0,0,-19]) {
|
|
xcyl(l=60, d=38);
|
|
* cuboid([60,35,35], rounding=15);
|
|
translate([0,70,0]) ycyl(l=20, r=7);
|
|
translate([0,0,70]) zcyl(l=20, r=7);
|
|
}
|
|
}
|
|
difference() {
|
|
union() {
|
|
translate([0,60,-38]) cuboid([30,17,6], rounding=3);
|
|
translate([0,-60,-38]) cuboid([30,17,6], rounding=3);
|
|
}
|
|
translate([0,60,-38.5]) zcyl(l=10, r=2.25);
|
|
translate([0,60,-37]) rotate([180,0,0]) DIN931("M4");
|
|
translate([0,-60,-38.5]) zcyl(l=10, r=2.25);
|
|
translate([0,-60,-37]) rotate([180,0,0]) DIN931("M4");
|
|
}
|
|
}
|
|
// Cover
|
|
* translate([0,0,-44.5]) {
|
|
difference() {
|
|
cuboid([50,160,7], rounding=5, edges=[TOP,FRONT+RIGHT,FRONT+LEFT,BACK+RIGHT,BACK+LEFT]);
|
|
translate([0,60,3.5]) {
|
|
zcyl(l=10, r=2.25);
|
|
translate([0,0,-5]) zcyl(l=4, r=3.3);
|
|
}
|
|
translate([0,-60,3.5]) {
|
|
zcyl(l=10, r=2.25);
|
|
translate([0,0,-5]) zcyl(l=4, r=3.3);
|
|
}
|
|
}
|
|
translate([0,15,4]) {
|
|
zcyl(l=2, r=5.5);
|
|
tube(od=11, wall=1, h=5);
|
|
}
|
|
translate([0,-15,4]) {
|
|
zcyl(l=2, r=5.5);
|
|
tube(od=11, wall=1, h=5);
|
|
}
|
|
} |