Files
3D/arbalète/scad/détente_v2.scad
2025-06-28 15:48:30 +02:00

84 lines
2.7 KiB
OpenSCAD

$fn=60;
include <BOSL2/std.scad>
include <threads.scad>
include <nutsnbolts/cyl_head_bolt.scad>
i_width=7;
o_width=16;
module screws() {
translate([0,0,-.6]) nutcatch_parallel("M3", clh=0.1);
translate([0,0,13]) hole_through(name="M3", l=13, cld=0.1, h=3, hcld=0.4);
}
module r_bolt() {
RodEnd(14, 7, thread_len=7, thread_diam=13, thread_pitch=2);
}
module r_screw() {
difference() {
RodStart(15, 3, thread_len=7, thread_diam=12, thread_pitch=2);
translate([0,0,5]) zcyl(l=10, d=5.5, rounding=-1);
}
}
// noix
color("red") {
difference() {
union() {
translate([10,10,0]) /* rotate([0,0,-35])*/ scale([0.9,1,1]) zcyl(l=i_width, d=24, rounding=1);
translate([6,17,0]) rotate([0,0,-34]) scale([0.4,1,1]) zcyl(l=i_width, d=21, rounding=1);
translate([21,21,0]) rotate([0,0,-40]) scale([0.4,1,1]) zcyl(l=i_width, d=24, rounding=1);
}
translate([10,10,0]) zcyl(l=i_width, d=4, rounding=-1);
translate([19,26,0]) rotate([0,0,-48]) scale([0.5,1,1]) zcyl(l=i_width, d=22, rounding=-1);
translate([20,10,0]) cuboid([5,5,i_width-1], rounding=2);
}
}
// tige
translate([48,10,0]) {
xcyl(l=60, d=4, rounding=1);
translate([5,0,0]) xcyl(l=2, d=9);
}
// queue
color("orange") rotate([0,0,0]) {
difference() {
union() {
translate([45,22,0]) zcyl(l=i_width, d=8, rounding=1);
translate([47,10,0]) scale([1.5,1,1]) zcyl(l=i_width, d=7, rounding=1);
translate([45,7.5,0]) cuboid([8,30,i_width], rounding=1);
translate([42,-15,0]) rotate([0,0,-17]) scale([.3,1,1]) zcyl(l=i_width, d=35, rounding=1);
}
translate([40,10,0]) cuboid([30,i_width+2,4.5], rounding=2.25);
translate([45,22,0]) zcyl(l=i_width, d=4.5, rounding=-1);
translate([30,-18,0]) rotate([0,0,-26]) scale([.7,1.2,1]) zcyl(l=i_width, d=35, rounding=-2);
}
}
// carter
color("green", .7) {
difference() {
translate([0,0,-o_width/2]) linear_extrude(height=o_width)
import("../svg/cover_v2.svg");
translate([45.5,28,0]) rotate([90,0,0]) prismoid(size1=[8,i_width+1], size2=[15,i_width+1], xang=[90,75], h=28);
translate([10,10,-5]) screws();
translate([45,22,-5]) screws();
/*translate([68,22,-5]) screws();
translate([28,5,-5]) screws();
translate([60,3,-5]) screws();*/
translate([12.5,14,0]) rotate([0,0,-36]) scale([.5,1,1]) zcyl(l=i_width+1, d=50);
translate([48,10,0]) xcyl(l=60, d=5);
translate([55,10,0]) xcyl(l=30, d=10, rounding=-1);
translate([72,10,0]) xcyl(l=7, d=14);
}
translate([68,10,0]) rotate([0,90,0]) r_bolt();
}
// screw
translate([90,10,0]) rotate([0,-90,0]) r_screw();