Updates
This commit is contained in:
131
tir_sportif/dioptre-pédagogique/scad/dioptre.scad
Normal file
131
tir_sportif/dioptre-pédagogique/scad/dioptre.scad
Normal file
@@ -0,0 +1,131 @@
|
||||
$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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user