diff --git a/Artur/neuroshima_hex.scad b/Artur/neuroshima_hex.scad index 9701f15..4a84003 100644 --- a/Artur/neuroshima_hex.scad +++ b/Artur/neuroshima_hex.scad @@ -4,26 +4,36 @@ include $slop=0.5; $fn=36; -in_d = 37; -thread = "M45x3,80"; -in_h = 80; -t = 3; +in_d = 38; +thread = "M48x3,80"; +in_h = 90; +t = 2; -th_h = 10; -cap_h = 12; +th_h = 15; +cap_h = 15; -out_d = in_d + 2*t; +out_d = 45; -cap_d = 50; -cap_n = 24; // how many cutouts on edge +cap_d = 55; +cap_d2 = 50; +cap_edge_n = 48; // how many cutouts on edge +cap_edge_d = 1; + +cap_in_h = 6; +cap_in_d = cap_d/2; hole_d = 15; +coin_d = 18.2 + 0.5; +coin_h = 12; +coin_dist = 10.5 + 0.5; + difference() { union() { - down(th_h/2) cyl(h=in_h - th_h, d=in_d + 2*t, rounding1=2); + down(th_h/2) cyl(h=in_h - th_h, d=out_d, rounding1=2); up(th_h/2) screw(thread); } + // cut off excess threads down(th_h) difference() { cyl(h=in_h, d=out_d*2); cyl(h=in_h, d=out_d); @@ -31,9 +41,13 @@ difference() { // inside hollow up(t) cyl(d=in_d, h=in_h); // cutoff at the top - up(50 + in_h/2 + t/2)cuboid([100,100,100]); + up(50 + in_h/2)cuboid([100,100,100]); // hole in the bottom down(in_h/2 - t/2) cyl(h=t+0.1, d=hole_d, rounding=-1); + // cutouts for the coins + up(in_h/2) for(i=[0,120,240]) { + zrot(i) left(coin_dist) cyl(d=coin_d, h=coin_h*2); + } } right(100) union() { @@ -43,17 +57,21 @@ right(100) union() { up(th_h/2 + t/2) cyl(h=t, d=cap_d, rounding2=2); difference() { down(cap_h/2) cyl(d=cap_d, h=cap_h, rounding=2); - down(cap_h/2) cyl(d=in_d+2*t+1, h=cap_h+1); + down(cap_h/2) cyl(d=cap_d2+1, h=cap_h+1); } } difference() { cyl(d=cap_d*2, h=100); cyl(d=cap_d, h=101); } - for(i = [0 : 360 / cap_n : 360]) { - zrot(i) left(cap_d/2) cyl(h=cap_h*2); + for(i = [0 : 360 / cap_edge_n : 360]) { + zrot(i) left(cap_d/2) cyl(h=cap_h*2, d=cap_edge_d); } // hole up(th_h/2 + t/2) cyl(h=t+0.1, d=hole_d, rounding=-1); } + up(cap_h/2 + t) down(cap_in_h/2) difference() { + cyl(h=cap_in_h, d=cap_in_d + t, rounding=1); + cyl(h=cap_in_h + 0.1, d=cap_in_d, rounding=-1); + } } diff --git a/Neptune4/screw_tube.scad b/Neptune4/screw_tube.scad new file mode 100644 index 0000000..3d335cf --- /dev/null +++ b/Neptune4/screw_tube.scad @@ -0,0 +1,51 @@ +include +include + +h = 15; // if modified, also edit thread length +s_spec = "M8,15"; +s_d = 6; // also modify to fit thread + +hole_d = 4.38; + +base_d = 17; +base_h = 3; + +nut_h = 4; +nut_d = 17; + +// outside shape +nut_n = 16; +nut_n_d = 2; + +oring_od = 13; +oring_t = 1.5; + +$fn = 36*3; +$slop=0.1; + +module knurl(out_d, knurl_d, n, h) { + for(i = [0 : 360/n : 360]) { + zrot(i) left(out_d/2 + knurl_d/5) cyl(h=h+1, d=knurl_d); + } +} + +// thread +difference() { + union() { + up(h/2) screw(s_spec); + up(base_h/2) cyl(h=base_h, d=base_d, chamfer=0.2); + } + up(h/2) cyl(d=hole_d, h=h+0.1, chamfer=-0.5); + up(base_h/2) knurl(base_d, nut_n_d, nut_n, base_h); + // space for oring + up(base_h) torus(od=oring_od, r_min=oring_t/2); +} + +// nut +left((nut_d + base_d)/2 + 5) difference() { + union() { + up(nut_h/2) cyl(h=nut_h, d=nut_d, chamfer=0.2); + } + up(nut_h/2) screw_hole(s_spec, thread=true, l=nut_h+0.1, bevel=0.25); + up(nut_h/2) knurl(nut_d, nut_n_d, nut_n, nut_h); +} \ No newline at end of file diff --git a/Oliwka/pierscien.scad b/Oliwka/pierscien.scad new file mode 100644 index 0000000..50455fe --- /dev/null +++ b/Oliwka/pierscien.scad @@ -0,0 +1,27 @@ +include + +t=3; +d = 50; +h = 50; +conn = 5; +tr = 3; // trytytka szer +tr_d = 0.5; + +$fn = 360; + +difference() { + torus(d_maj=d, d_min=t); + back(d + conn/2)cuboid([2*d,2*d,2*d]); + left(d/2) union() { + up(conn/2) cuboid([conn,conn,conn]); + xrot(90) tube(h=tr, id=t-tr_d, wall=t, rounding=0.3); + } + right(d/2) union() { + down(conn/2) cuboid([conn,conn,conn]); + xrot(90) tube(h=tr, id=t-tr_d, wall=t, rounding=0.3); + } + +} +for(i = [0:1] ) { + zrot(90*i + 45) left(d/2) up(h/2) cyl(h=h, d=t); +} \ No newline at end of file diff --git a/Sasza/celownik/celownik3.scad b/Sasza/celownik/celownik3.scad index dedf74d..54ebd65 100644 --- a/Sasza/celownik/celownik3.scad +++ b/Sasza/celownik/celownik3.scad @@ -10,7 +10,7 @@ include // parameters length = 9; // ustaw poniżej 5 do testów wymiarów -clamp_inner = 22.1; +clamp_inner = 22.075; clamp_inner_acurracy = 90; clamp_thickness = 2; diff --git a/Sasza/cz_mag.scad b/Sasza/cz_mag.scad new file mode 100644 index 0000000..20f1d1a --- /dev/null +++ b/Sasza/cz_mag.scad @@ -0,0 +1,42 @@ +include + +mag_base = 16 + 1; +mag_h = 6 + 1; // height of the wider base +mag_width = 11 + 0.5; +mag_length = 37; + +magnet_h = 0.8; +magnet_d = 4.3; +magnet_n1 = 7; +magnet_n2 = 3; + +t = 3; +n = 4; +h = 20; + +width = n * mag_base + (n+1) * t; +l = mag_length + t; + +$fn = 360; + +difference() { + round3d(0.75, $fn=3) { + back(width/4) cuboid([width, t, h]); + difference() { + cuboid([width,l,h]); + xrot(-3) left(width/2) for(i = [0 : n-1]) { + up(h/2) down(t) down(magnet_h) down(mag_h/2) + right((i+1)*t) right(i*mag_base) right(mag_base/2) union() { + cuboid([mag_base,l+0.1,mag_h]); + down(mag_h/2) down(h/2) cuboid([mag_width,l+0.1,h+0.1]); + } + } + } + } + up(h/2) down(magnet_h/2 - 0.1) left(width/2 - magnet_d/2 - t) back(l/2 - magnet_d/2 - t) + for(i = [0 : (width - magnet_d - t*2)/(magnet_n1-1) : width]) { + for(j = [0 : (l - magnet_d - t*2)/(magnet_n2-1) : l]) { + right(i) fwd(j) cyl(d=magnet_d, h=magnet_h); + } + } +} \ No newline at end of file diff --git a/Sasza/transalp_ladowarka.scad b/Sasza/transalp_ladowarka.scad new file mode 100644 index 0000000..2375c7d --- /dev/null +++ b/Sasza/transalp_ladowarka.scad @@ -0,0 +1,43 @@ +include +include + +// kierownica moto +kier_d1 = 13; +kier_d2 = 22; +kier_dyst = 75.5; +kier_t = 2; + +// gniazdko 12v +lad_d1 = 29.5; +lad_d2 = 26.5; // wciecia po obu stronach + +t = 5; + +dyst = 27; +szer = 10; +h = kier_dyst + kier_d1 + kier_d2; + +$fn = 360; + +up(t) difference() { + union() { + cyl(h=t, d=lad_d1 + 2*t); + left((lad_d1/2+dyst)/2) cuboid([lad_d1/2+dyst,lad_d1 + 2*t,t]); + // pionowy trzpień + left(lad_d1/2 + dyst - t/2) up(h/2 + kier_d1/2 + t/2) + cuboid([t,szer,h], rounding=-10, edges=[BOTTOM+FRONT, BOTTOM+BACK]); + left(lad_d1/2 + dyst - t/2) up(kier_d1/4 + t/2) + cuboid([t,lad_d1+2*t,kier_d1/2], rounding=-kier_d1/2, edges=BOTTOM+RIGHT); + + } + difference() { + cyl(h=t+1, d=lad_d1); + left(100/2 + lad_d2/2) cuboid([100,100,100]); + right(100/2 + lad_d2/2) cuboid([100,100,100]); + } + // dziury na trytytki + left(lad_d1/2 + dyst - kier_d1) fwd(lad_d1/3) + cuboid([1.5,4,100]); + left(lad_d1/2 + dyst - kier_d1) back(lad_d1/3) + cuboid([1.5,4,10]); +}