diff --git a/Admin/sluchawki.scad b/Admin/sluchawki.scad new file mode 100644 index 0000000..cdb98f3 --- /dev/null +++ b/Admin/sluchawki.scad @@ -0,0 +1,42 @@ +include +include + +h = 190; +w = 50; +t = 10; +d = 100; +top_d = 150; + +$fn=36*5; + +// main vertical part +cuboid([w,t,h]); + +// bottom +down(h/2 - t/2) fwd(d/2) difference() { + cuboid([w,d,t]); + for(i=[-w/3, w/3]) { + for(j=[0, d/3]) { + left(i) fwd(j) screw_hole("M4,10", head="flat"); + } + } +} + +bot_d = 30; +up(bot_d/2) fwd(bot_d/2) down(h/2 - t/2) difference() { + cuboid([w,bot_d,bot_d]); + xrot(45) up(bot_d + 2) cuboid([bot_d*2,bot_d*2,bot_d*2]); + //up(bot_d/2 + t/2) fwd(bot_d/2 + t/2) yrot(90) cyl(d=bot_d*2, h=w+1); +} + +// top +up(h/2 - t/2) up(top_d/(sqrt(2)*2)) difference() { + union() { + yrot(90) fwd(top_d/3) cyl(d=top_d, h=w); + down(w) fwd(w/2) cuboid([w,w,w]); + down(w/2) fwd(5) xrot(45) cuboid([w,w*2,w*2]); + } + yrot(90) fwd(top_d/3) cyl(d=top_d - t*2, h=w + 1); + up(top_d/5.6) cuboid([top_d*2,top_d*2,top_d]); + back(50) cuboid([w+1,100,h]); +} \ No newline at end of file diff --git a/Artur/neuroshima_hex.scad b/Artur/neuroshima_hex.scad new file mode 100644 index 0000000..9701f15 --- /dev/null +++ b/Artur/neuroshima_hex.scad @@ -0,0 +1,59 @@ +include +include + +$slop=0.5; +$fn=36; + +in_d = 37; +thread = "M45x3,80"; +in_h = 80; +t = 3; + +th_h = 10; +cap_h = 12; + +out_d = in_d + 2*t; + +cap_d = 50; +cap_n = 24; // how many cutouts on edge + +hole_d = 15; + +difference() { + union() { + down(th_h/2) cyl(h=in_h - th_h, d=in_d + 2*t, rounding1=2); + up(th_h/2) screw(thread); + } + down(th_h) difference() { + cyl(h=in_h, d=out_d*2); + cyl(h=in_h, d=out_d); + } + // 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]); + // hole in the bottom + down(in_h/2 - t/2) cyl(h=t+0.1, d=hole_d, rounding=-1); +} + +right(100) union() { + difference() { + union() { + nut(thread, thickness=th_h, bevel=false, ibevel=false, anchor=CENTER); + 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); + } + } + 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); + } + // hole + up(th_h/2 + t/2) cyl(h=t+0.1, d=hole_d, rounding=-1); + } +} diff --git a/Dom/minecraft_lantern/Assembly_Guide_-_Updated.pdf b/Dom/minecraft_lantern/Assembly_Guide_-_Updated.pdf new file mode 100644 index 0000000..99d400b Binary files /dev/null and b/Dom/minecraft_lantern/Assembly_Guide_-_Updated.pdf differ diff --git a/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856.zip b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856.zip new file mode 100644 index 0000000..ab430f2 Binary files /dev/null and b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856.zip differ diff --git a/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/LICENSE.txt b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/LICENSE.txt new file mode 100644 index 0000000..2c4679d --- /dev/null +++ b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/LICENSE.txt @@ -0,0 +1 @@ +This thing was created by Thingiverse user lemonfoxmere, and is licensed under Creative Commons - Attribution - Share Alike \ No newline at end of file diff --git a/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/README.txt b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/README.txt new file mode 100644 index 0000000..2499d08 --- /dev/null +++ b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/README.txt @@ -0,0 +1,4 @@ +Minecraft Lantern Night Light by lemonfoxmere on Thingiverse: https://www.thingiverse.com/thing:6843856 + +Summary: +Tired of your mundane and normal looking night lights? Now you can have a Minecraft lantern as a night light!Unlike most Minecraft lantern designs here, this one works with any standard light bulb. This means that if you want to turn this lamp into a smart IoT one, you can just install a smart bulbs like the Nanoleaf A19 Essential.However, since this uses city voltage, you need to be careful building this thing. Double-check all your connections before plugging it in, and make sure all your components can handle the current that you'll be putting it through. I’m not responsible if you accidentally burn your house down with it.For instructions on how to build this thing, check Assembly Guide.pdf. If you want to make some sort of remix of this, here is also the CAD file on onshape. \ No newline at end of file diff --git a/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/files/Assembly_Guide_-_Updated.pdf b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/files/Assembly_Guide_-_Updated.pdf new file mode 100644 index 0000000..99d400b Binary files /dev/null and b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/files/Assembly_Guide_-_Updated.pdf differ diff --git a/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/IMG_6308.JPG b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/IMG_6308.JPG new file mode 100644 index 0000000..6dec661 Binary files /dev/null and b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/IMG_6308.JPG differ diff --git a/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/IMG_7299.jpeg b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/IMG_7299.jpeg new file mode 100644 index 0000000..3b63fe4 Binary files /dev/null and b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/IMG_7299.jpeg differ diff --git a/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/IMG_7300.jpeg b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/IMG_7300.jpeg new file mode 100644 index 0000000..5c72e25 Binary files /dev/null and b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/IMG_7300.jpeg differ diff --git a/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/cad.png b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/cad.png new file mode 100644 index 0000000..d283db8 Binary files /dev/null and b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/cad.png differ diff --git a/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/img.jpeg b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/img.jpeg new file mode 100644 index 0000000..07cf5bd Binary files /dev/null and b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/img.jpeg differ diff --git a/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/internals.png b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/internals.png new file mode 100644 index 0000000..e2dd95a Binary files /dev/null and b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/internals.png differ diff --git a/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/shork.jpeg b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/shork.jpeg new file mode 100644 index 0000000..00d061b Binary files /dev/null and b/Dom/minecraft_lantern/Minecraft Lantern Night Light - 6843856/images/shork.jpeg differ diff --git a/Dom/minecraft_lantern/oprawka.scad b/Dom/minecraft_lantern/oprawka.scad new file mode 100644 index 0000000..00c3f8f --- /dev/null +++ b/Dom/minecraft_lantern/oprawka.scad @@ -0,0 +1,19 @@ +include +// oprawka + +slop = 1; + +d = 37 + slop; +cyl_h = 41; +top_d = 20 + slop; +top_h = 21; +top_d1 = 14 + slop; +top_d2 = 10 + slop; +h = 78; + +$fn=36*2; + +down(cyl_h/2) cyl(d=d, h=cyl_h); +sphere(d=d); +up(d/2) down(3) cyl(d=top_d, h=2); +up(d/2 + top_h/2) down(3) cyl(h=top_h, d1=top_d1, d2=top_d2); \ No newline at end of file diff --git a/Dom/stojak_golarka.scad b/Dom/stojak_golarka.scad new file mode 100644 index 0000000..cd74263 --- /dev/null +++ b/Dom/stojak_golarka.scad @@ -0,0 +1,66 @@ +// stojak na golarkę i pędzel +include + +h = 50; +t = 5; +razor_dist = 10; +razor_w = 11; +brush_dist = 15; +brush_w = 32; +dlugosc = razor_w + brush_w + 6*t; +top_valley = 8; + +slop = 0.3; +$fn = 36; + +szer = razor_w>brush_w ? razor_w+2*t : brush_w+2*t; + +// podstawka +union() { + // dół + union() { + cuboid([t*4,szer,t], rounding=t/2) + left((razor_dist+razor_w*6/4)/2) + cuboid([razor_dist+razor_w*6/4,szer,t], rounding=t/2); + right((brush_dist+brush_w)/2) + cuboid([brush_dist+brush_w,szer,t], rounding=t/2); + } + // pion + round3d(t/2) { + up(h/2) cuboid([t, szer-t, h], rounding=-15, edges=[BOT+RIGHT, BOT+LEFT]); + } + up(h) cuboid([t, szer-t, t], rounding=t/2, edges="Z"); + // połączenia + up(h+t) back(szer/4) cuboid([t,t,t], rounding=1, edges=TOP); + up(h+t) fwd(szer/4) cuboid([t,t,t], rounding=1, edges=TOP); +} + +// góra +back(szer*2) difference() { + // góra + union() { + left(razor_dist-brush_dist) + cuboid([(razor_dist+brush_dist),szer,t], rounding=t/2); + left((razor_dist+razor_w)/2) + cuboid([razor_dist+razor_w,szer,t], rounding=t/2); + right((brush_dist+brush_w)/2) + cuboid([brush_dist+brush_w,szer,t], rounding=t/2); + } + // dziury na połączenia + back(szer/4) cuboid([t+slop,t+slop,t+slop], rounding=-1, edges=BOT); + fwd(szer/4) cuboid([t+slop,t+slop,t+slop], rounding=-1, edges=BOT); + // dziura na golarkę + left(razor_dist + razor_w/2) union() { + cyl(h=t+slop, d=razor_w, rounding=-2); + left(dlugosc/2) cuboid([dlugosc, razor_w, t+slop], rounding=-2, edges="X"); + up((top_valley*razor_w/2)/2) xrot(90) + cyl(h=szer, d=top_valley*razor_w/2, $fn=$fn*2); + } + // dziura na pędzel + right(brush_dist+brush_w/2) union() { + cyl(h=t+slop, d=brush_w, rounding=-2); + right(dlugosc/2) cuboid([dlugosc, brush_w, t+slop], rounding=-2, edges="X"); + up((top_valley*brush_w/2)/2) xrot(90) + cyl(h=szer, d=top_valley*brush_w/2, $fn=$fn*2); + } +} \ No newline at end of file diff --git a/Neptune4/roll_holder.scad b/Neptune4/roll_holder.scad new file mode 100644 index 0000000..bf39bc6 --- /dev/null +++ b/Neptune4/roll_holder.scad @@ -0,0 +1,28 @@ +include +include +d1 = 80; +d2 = 10; +h = 30; +t = 5; + +thread = ""; + +$fn = 360; +$slop = 0.3; + +difference() { + cyl(h=h, d=struct_val(screw_info("M6"),"diameter") + 2); + // thread + screw_hole(spec="M8", l=100, thread=true); +} + +difference() { + cyl(d1=d1, d2=d2, h=h); + screw_hole(spec="M8", l=100, thread=true); + for(i=[0:3]) { + zrot(120*i) left(d1/3) cyl(h=h+1, d=d1/2); + zrot(120*i + 30) left(d1/2) cuboid([20,10,100]); + zrot(120*i - 30) left(d1/2) cuboid([20,10,100]); + } + // cyl(d1=t*(d2-d1)/h + d1 - 2*t, d2=(h-t)*(d2-d1)/h + d1 - 2*t, h=h-2*t); +} \ No newline at end of file diff --git a/Ojrzan/sup-cup-phone-holder-2.scad b/Ojrzan/sup-cup-phone-holder-2.scad index b5d7925..bc6605b 100644 --- a/Ojrzan/sup-cup-phone-holder-2.scad +++ b/Ojrzan/sup-cup-phone-holder-2.scad @@ -1,7 +1,7 @@ // The following should be editable within reason to adjust for container and phone size -$fn=50; // number of facets to the cylinders - basically level of detail +$fn=360; // number of facets to the cylinders - basically level of detail drink_rad = 46; // radius of drink container - allow some wiggle room phone_width = 100/2; // width of phone - allow some wiggle room diff --git a/Oliwka/drabinka.scad b/Oliwka/drabinka.scad index b9f2e31..ec9f03a 100644 --- a/Oliwka/drabinka.scad +++ b/Oliwka/drabinka.scad @@ -1,21 +1,24 @@ include wys = 500; -szer = 80; -t = 7.5; +szer = 60; +t1 = 10; +t2 = 6; + +spike_h = 25; ile=10; $fn=36; // paliki -cylinder(h=wys, d=t); -left(szer) cylinder(h=wys, d=t); +cylinder(h=wys, d=t1); +left(szer) cylinder(h=wys, d=t1); // drabinka -for(i=[0:1:ile]) { - up(i*(wys/ile)) yrot(-90) cylinder(d=t, h=szer); +for(i=[2:1:ile]) { + up(i*(wys/ile)) yrot(-90) cylinder(d=t2, h=szer); } // zaokrąglenie rogów -up() left() sphere(d=t); -up() left(szer) sphere(d=t); -up(wys) left() sphere(d=t); -up(wys) left(szer) sphere(d=t); \ No newline at end of file +down(spike_h/2) left() cyl(h=spike_h, d2=t1, d1=0); +down(spike_h/2) left(szer) cyl(h=spike_h, d2=t1, d1=0); +up(wys) left() sphere(d=t1); +up(wys) left(szer) sphere(d=t1); \ No newline at end of file diff --git a/Oliwka/drabinka2.scad b/Oliwka/drabinka2.scad new file mode 100644 index 0000000..c1cc3cf --- /dev/null +++ b/Oliwka/drabinka2.scad @@ -0,0 +1,23 @@ +include + +angle = 5; + +wys = 500; +szer = 80; +t1 = 15; +t2 = 7.5; +spike_h = 20; + +ile=10; + +$fn=36; + +for(i=[0,180]) { + zrot(i) union() { + left(szer/2) yrot(-angle) up(wys/2) cyl(h=wys, d=t1, rounding2=t1/2); + left(szer/2) yrot(-angle) down(spike_h/2) cyl(h=spike_h, d2=t1, d1=0); + for(j=[2:1:ile]) { + up(j*((wys-t2*0.7)/ile)) yrot(-90) cyl(d=t2, h=2*(szer + t2), rounding=t2/2); + } + } +} diff --git a/Oliwka/palik3.scad b/Oliwka/palik3.scad index 8d02de1..41bda72 100644 --- a/Oliwka/palik3.scad +++ b/Oliwka/palik3.scad @@ -59,7 +59,7 @@ left(d*2) union() { down(h/2) difference() { union() { cyl(d=d-t*2 - conn_slop, h=conn_h*2); - up(conn_h/2) cyl(d=d-t*2, h=conn_h); + up(conn_h/2) cyl(d=d, h=conn_h); up(conn_h/2) cuboid([d,t,conn_h]); } difference() { @@ -70,4 +70,36 @@ left(d*2) union() { } down(h/2) up(conn_h/2) fwd(t/2) cuboid([d,t*2,conn_h]); +} + +but_d = 35; +but_h = 28; +but_cap = 16; + +// na butelke +left(d*4) union() { + down(h/2) difference() { + union() { + cyl(d=d-t*2 - conn_slop, h=conn_h*2); + up(conn_h/2) cyl(d=d, h=conn_h); + up(conn_h/2) cuboid([d,t,conn_h]); + } + difference() { + cyl(d=d-t*4, h=conn_h*2 + 1); + fwd(t) cuboid([d,t,conn_h]*2); + } + left(d/2+0.1) down(h+0.1) fwd(t/2 + conn_slop) cube([d+1, d+1, h*2+1]); + } + down(h/2) up(conn_h/2) fwd(t/2) cuboid([d,t*2,conn_h]); + + // na butelke dziura + down(h/2) up(conn_h*3/4) difference() { + union() { + cyl(d=d, h=conn_h/2); + up(but_h/2) fwd(d/4) cyl(d=but_d + 2*t, h=but_h); + } + left(d/2+0.1) down(h+0.1) fwd(t/2 + conn_slop) cube([d+1, d+1, h*2+1]); + up(but_h/2) fwd(d/4) cyl(d=but_d, h=but_h+10); + up(but_h/2) cuboid([but_cap,d/4,but_h+1]); + } } \ No newline at end of file diff --git a/Sasza/Tłumik.scad b/Sasza/Tłumik.scad index 9811614..b15b656 100644 --- a/Sasza/Tłumik.scad +++ b/Sasza/Tłumik.scad @@ -17,13 +17,13 @@ include include test = 0; // 1 for exploded view -$fn=36; +$fn=36*5; // overall dimensions len = 200; out_d = 22; t = 2; -bullet_hole = 6; // for .22lr 5.6mm + some spare +bullet_hole = 7.5; // for .22lr 5.6mm + some spare // threaded portion th_len = 20; diff --git a/Sasza/dyfuzor_emisar.scad b/Sasza/dyfuzor_emisar.scad new file mode 100644 index 0000000..d311674 --- /dev/null +++ b/Sasza/dyfuzor_emisar.scad @@ -0,0 +1,27 @@ +include + +// latarka = ["D4", 28]; +// latarka = ["D1", 35]; +// latarka = ["DM11", 40]; +latarka = ["K1", 72.3]; + +od = latarka[1]; +txt = latarka[0]; +t = 2; +top_t = 0.75; + +h = 20; +step_h = 12; +$fn=360; + +difference() { + cyl(h=step_h, d=od+2*t); + cyl(h=step_h+0.01, d1=od+0.5, d2=od, rounding1=-1, chamfer2=1); + xrot(90) up(50 + od/2 + t/2) text3d(txt, h=100, center=true, size=step_h-1); +} + +up(step_h/2) difference() { + sphere(d=od+2*t); + sphere(d=od+2*t - 2*top_t); + down(50) cuboid([100,100,100]); +} \ No newline at end of file diff --git a/Sasza/krzesło_kółka.scad b/Sasza/krzesło_kółka.scad index 3b4cee3..b31a64f 100644 --- a/Sasza/krzesło_kółka.scad +++ b/Sasza/krzesło_kółka.scad @@ -8,7 +8,7 @@ in_length = 40; in_h=36.9; // including the half-circle in_h2=36.0; -in_hole_d=11.0; +in_hole_d=10.5; in_hole_dist = 15; // hole distance from the end cap in_hole_h = 20 + 5; // +5 for clearance diff --git a/Sasza/wyzwanie_od_Artura.scad b/Sasza/wyzwanie_od_Artura.scad new file mode 100644 index 0000000..dd5e48c --- /dev/null +++ b/Sasza/wyzwanie_od_Artura.scad @@ -0,0 +1,86 @@ +include +include + +module tube(d_in, d_out, h) { + difference() { + cyl(d=d_out, h=h); + cyl(d=d_in, h=h+1); + } +} + +module part4() { + spur_gear(mod=2,teeth=17, thickness=15); + // longer part + down(15/2) union() { + down(21/2 - 1) cyl(h=21 + 2, d=20, rounding=1/2); + down(21+11/2 + 1/2) cyl(h=11, d=20, rounding=1/2); + // shaft + down(132/2) difference() { + cyl(d=18, h=132); + down(75/2)left(4/2 + 7) cuboid([4,4,75]); + } + } + //shorter part + up(15/2) union() { + up(5/2 - 1) cyl(h=5 + 2, d=20, rounding=1/2); + up(5 + 1 + 10/2) cyl(h=10, d=20, rounding=1/2); + up(5)cyl(h=10, d=18); + } + +} + +module gear_holes(teeth, indent, h_num, h1, h1d, h2, h2d, cd1, cd2, ch) { + difference() { + spur_gear(mod=2, teeth=teeth, thickness=15); + // middle hole + cyl(d=30, h=15); + // indent + up(15/2) cyl(d=indent, h=7, rounding=0.5); + down(15/2) cyl(d=indent, h=7, rounding=0.5); + // holes + for(i=[0:360/h_num:360]) { + zrot(i) left(h1/2) cyl(d=h1d, h=15); + zrot(30 + i) left(h2/2) cyl(d=h2d, h=15); + } + } + difference() { + cyl(d=cd1, h=15); + difference() { + cyl(d=cd2, h=15+1); + left(50/2 + ch/2) cuboid([50,50,50]); + right(50/2 + ch/2) cuboid([50,50,50]); + } + } +} + +module part6() { + spur_gear(mod=2,teeth=18, thickness=15); + // longer part + down(15/2) union() { + down(15/2)cyl(h=15, d=18, rounding1=1); + down(4 + 1 + 10/2) cyl(h=10, d=20, rounding=1); + difference() { + down(4/2) cyl(d=25, h=4, rounding1=1); + left(50/2 + 20/2) cuboid([50,50,50]); + right(50/2 + 20/2) cuboid([50,50,50]); + } + } + //shorter part + up(15/2) union() { + up(15/2 - 1) threaded_nut(nutwidth=21, pitch=0, id=5, h=15); + cyl(d=28, h=2, rounding=1); + up(14 + 5/2) cyl(h=5, d=20, rounding=1/2); + up(14 + 5 + 1 + 10/2) cyl(h=10, d=20, rounding=1/2); + up(14) cyl(h=20, d=18); + } +} + +tube(20,30,4); //part 1 +left(50) tube(25,47,12); //part 2 +left(100)tube(20,42,12); //part 3 + +include +left(155) part4(); +left(250) gear_holes(56, 95, 7, 65, 20, 84, 8, 35, 25, 20); // part 5 +left(340) part6(); +left(450) gear_holes(73, 125, 6, 82.5, 30, 108, 10, 40, 30, 25); // part 7 diff --git a/V40/ball_mount.scad b/V40/ball_mount.scad new file mode 100644 index 0000000..17db6b4 --- /dev/null +++ b/V40/ball_mount.scad @@ -0,0 +1,13 @@ +include + +// variables +h = 20; +peg_d = 9; +// constants +ball_d = 17; + +$fn=360; + +fwd(46.5) right(14.65) down(27) import("BotonS40.stl"); +up(h/2) cyl(h=h, d=peg_d); +up(h) sphere(d=ball_d); \ No newline at end of file