zmiany, celownik v3
This commit is contained in:
parent
797c8f05f0
commit
635c664e76
12 changed files with 172902 additions and 158399 deletions
Binary file not shown.
BIN
Neptune4/Ikea+Samla+45L+Silicia+Storage_stls.zip
Normal file
BIN
Neptune4/Ikea+Samla+45L+Silicia+Storage_stls.zip
Normal file
Binary file not shown.
Binary file not shown.
BIN
Neptune4/round_scraper_V2.3mf
Normal file
BIN
Neptune4/round_scraper_V2.3mf
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
21
Oliwka/drabinka.scad
Normal file
21
Oliwka/drabinka.scad
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
include <BOSL2/std.scad>
|
||||||
|
wys = 500;
|
||||||
|
szer = 80;
|
||||||
|
t = 7.5;
|
||||||
|
|
||||||
|
ile=10;
|
||||||
|
|
||||||
|
$fn=36;
|
||||||
|
|
||||||
|
// paliki
|
||||||
|
cylinder(h=wys, d=t);
|
||||||
|
left(szer) cylinder(h=wys, d=t);
|
||||||
|
// drabinka
|
||||||
|
for(i=[0:1:ile]) {
|
||||||
|
up(i*(wys/ile)) yrot(-90) cylinder(d=t, 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);
|
||||||
19
Oliwka/haczyk_gleba.scad
Normal file
19
Oliwka/haczyk_gleba.scad
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
include <BOSL2/std.scad>
|
||||||
|
|
||||||
|
top_height = 10;
|
||||||
|
top_w = 1;
|
||||||
|
bottom_height = 25;
|
||||||
|
width = 7;
|
||||||
|
|
||||||
|
t = 2;
|
||||||
|
|
||||||
|
$fn=36;
|
||||||
|
linear_extrude(t) {
|
||||||
|
stroke([[-width/2,0], [-width/2, -bottom_height]], width=t);
|
||||||
|
stroke([[width/2,0], [width/2, -bottom_height]], width=t);
|
||||||
|
yflip() fwd(width/2) stroke(catenary(top_w, droop=top_height), width=t);
|
||||||
|
difference() {
|
||||||
|
stroke([circle(d=7)], width=t);
|
||||||
|
left(50) xrot(180) square([100,100]);
|
||||||
|
}
|
||||||
|
}
|
||||||
28
Oliwka/kulka_ukorzenianie.scad
Normal file
28
Oliwka/kulka_ukorzenianie.scad
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
include <BOSL2/std.scad>
|
||||||
|
sphere_d = 35;
|
||||||
|
t = 1.5;
|
||||||
|
hole_d = 11;
|
||||||
|
|
||||||
|
tab_t = 5;
|
||||||
|
tab_w = 5;
|
||||||
|
tab_l = 7;
|
||||||
|
|
||||||
|
tab_e_w = tab_w + 1;
|
||||||
|
tab_e_l = 2;
|
||||||
|
tab_e_r = 1;
|
||||||
|
|
||||||
|
cut_t = 0.5;
|
||||||
|
|
||||||
|
$fn=360;
|
||||||
|
difference() {
|
||||||
|
union() {
|
||||||
|
sphere(d=sphere_d);
|
||||||
|
cuboid([sphere_d + 2 * tab_l,tab_t,tab_w], rounding=1);
|
||||||
|
for(i=[-sphere_d-2*tab_l + 1, sphere_d+2*tab_l - 1]) {
|
||||||
|
left(i/2) cuboid([tab_e_l,tab_e_w,tab_e_w], rounding=tab_e_r);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sphere(d=sphere_d-2*t);
|
||||||
|
cyl(d=hole_d, h=2*sphere_d);
|
||||||
|
cuboid([sphere_d*3,cut_t,sphere_d*3]);
|
||||||
|
}
|
||||||
12
Oliwka/patyk.scad
Normal file
12
Oliwka/patyk.scad
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
include <BOSL2/std.scad>
|
||||||
|
h = 200;
|
||||||
|
d = 10;
|
||||||
|
r = 2;
|
||||||
|
hole_h = 40;
|
||||||
|
hole_d = 2.1 + 0.25;
|
||||||
|
|
||||||
|
difference() {
|
||||||
|
round3d(r, $fn=20) cyl(h=h, d=d, $fn=4);
|
||||||
|
up(h/2) cyl(h=hole_h*2, d=hole_d, $fn=36);
|
||||||
|
up(-h/2) cyl(h=hole_h*2, d=hole_d, $fn=36);
|
||||||
|
}
|
||||||
21
Oliwka/wysoka_doniczka.scad
Normal file
21
Oliwka/wysoka_doniczka.scad
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
include <BOSL2/std.scad>
|
||||||
|
d_up = 70;
|
||||||
|
d_down = 60;
|
||||||
|
t = 2;
|
||||||
|
|
||||||
|
h_total = 230;
|
||||||
|
h_in = 40;
|
||||||
|
|
||||||
|
bot_h = 10;
|
||||||
|
bot_size = d_down + 35;
|
||||||
|
|
||||||
|
$fn = 36;
|
||||||
|
|
||||||
|
d_mid = d_up - (d_up-d_down) * ((h_in)/h_total);
|
||||||
|
union() {
|
||||||
|
down(h_total) cyl(d=bot_size, h=bot_h, rounding1=1, rounding2=5);
|
||||||
|
difference() {
|
||||||
|
down(h_total/2) cyl(d2=d_up, d1=d_down, h=h_total, rounding1=10);
|
||||||
|
down(h_in/2-0.01) cyl(d2=d_up-t, d1=d_mid-t, h=h_in, rounding1=5);
|
||||||
|
}
|
||||||
|
}
|
||||||
122
Sasza/celownik/celownik3.scad
Normal file
122
Sasza/celownik/celownik3.scad
Normal file
|
|
@ -0,0 +1,122 @@
|
||||||
|
include <BOSL2/std.scad>
|
||||||
|
include <BOSL2/screws.scad>
|
||||||
|
|
||||||
|
|
||||||
|
// To jest model celownika do karabinu CZ Varmint
|
||||||
|
// Koncepcyjnie składa się z 3 części - na górze jest szyna
|
||||||
|
// Picattiny (rail), na środku jest obejma lufy (clamp), i na dole
|
||||||
|
// wystaje pałąk do przykręcenia (post)
|
||||||
|
|
||||||
|
// parameters
|
||||||
|
length = 15; // ustaw poniżej 5 do testów wymiarów
|
||||||
|
|
||||||
|
clamp_inner = 22.15;
|
||||||
|
clamp_inner_acurracy = 50;
|
||||||
|
clamp_thickness = 4;
|
||||||
|
|
||||||
|
c_s = length>5 ? 1 : 0.4; // chamfer_size używane tylko do testów
|
||||||
|
rail_height = -9.4 + clamp_inner/2 + 6.8; // -9.4 is to center the picatinny
|
||||||
|
|
||||||
|
post_thickness=15;
|
||||||
|
post_length=10;
|
||||||
|
post_slit=2;
|
||||||
|
post_chamfer = 1.665;
|
||||||
|
|
||||||
|
nut_wall_t = -0.1;
|
||||||
|
|
||||||
|
screw = "M2.5";
|
||||||
|
info = screw_info(name=screw, head="socket");
|
||||||
|
hh = struct_val(info, "head_height");
|
||||||
|
screw_head_h = post_thickness - hh - nut_wall_t;
|
||||||
|
|
||||||
|
$slop = 0.1;
|
||||||
|
|
||||||
|
top_screw = 3.8;
|
||||||
|
top_h = 5;
|
||||||
|
top_w = 6;
|
||||||
|
top_lock_hole_distance = 4;
|
||||||
|
top_lock_hole_d = 1.8;
|
||||||
|
|
||||||
|
|
||||||
|
difference() {
|
||||||
|
// celownik
|
||||||
|
union() {
|
||||||
|
// obejma wokół lufy
|
||||||
|
cyl_size = clamp_inner/2 + clamp_thickness;
|
||||||
|
cyl(h=length, r=cyl_size, rounding=1*c_s);
|
||||||
|
|
||||||
|
// na dole wystający trzpień do przykręcenia
|
||||||
|
translate([(clamp_inner + post_length)/2, 0, 0])
|
||||||
|
cuboid([post_length, post_thickness, length], rounding=c_s);
|
||||||
|
|
||||||
|
// top front sights
|
||||||
|
yrot(-90) up((clamp_inner + top_h)/2) union() {
|
||||||
|
cuboid([length,top_w,top_h], rounding=2);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// lufa, śruby oraz przecięcie
|
||||||
|
union() {
|
||||||
|
// lufa karabinu
|
||||||
|
cyl(h=length+0.2, r=clamp_inner/2, $fn=clamp_inner_acurracy, rounding=-c_s);
|
||||||
|
|
||||||
|
// przecięcie
|
||||||
|
translate([(clamp_inner+post_length)/2 - 0.1,0,0])
|
||||||
|
cuboid([post_length + 0.25,post_slit,length+0.2], rounding=-1);
|
||||||
|
|
||||||
|
// miejsce na śrubę
|
||||||
|
if (length > 5){
|
||||||
|
for (i = [length*-1/4, length*1/4]) {
|
||||||
|
translate([(clamp_inner + post_length)/2,0,i])
|
||||||
|
rotate([90,90,0])
|
||||||
|
screw_hole(spec=screw, length=screw_head_h, head="socket", thread=0, $fn=100);
|
||||||
|
translate([(clamp_inner + post_length)/2,post_thickness/2 - nut_wall_t,i])
|
||||||
|
rotate([90,90,0])
|
||||||
|
nut_trap_inline(spec=screw, h=hh);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// chamfer for slit
|
||||||
|
translate([clamp_inner/2 - post_slit/4,0,0]) rotate([0,0,45])
|
||||||
|
cuboid([post_slit*post_chamfer,post_slit*post_chamfer,length+2]);
|
||||||
|
|
||||||
|
// top front sights
|
||||||
|
yrot(-90) up((clamp_inner + top_h)/2 - 0.2) union() {
|
||||||
|
left(top_lock_hole_distance/2) cyl(h=top_h + 1, d=top_lock_hole_d, $fn=12);
|
||||||
|
right(top_lock_hole_distance/2) cyl(d=top_screw, length=top_h + 1, $fn=12);
|
||||||
|
}
|
||||||
|
|
||||||
|
// debug - wyświetl rozmiar
|
||||||
|
if(length < 5) {
|
||||||
|
translate([clamp_inner/2 + 2 ,post_thickness/6,length-0.5])
|
||||||
|
linear_extrude(5) text(str(clamp_inner), 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// rear sight
|
||||||
|
back(50) union() {
|
||||||
|
// slits to hold onto optic mount
|
||||||
|
difference() {
|
||||||
|
union() {
|
||||||
|
left(10) cuboid([5.4,16,10]);
|
||||||
|
right(10) cuboid([5.4, 16, 10]);
|
||||||
|
}
|
||||||
|
union() {
|
||||||
|
left(10) fwd(2.1) cuboid([3.4, 12, 11]);
|
||||||
|
right(10) fwd(2.1) cuboid([3.4, 12, 11]);
|
||||||
|
fwd(2.7) yrot(90) cyl(d=4.5, h=100, $fn=12);
|
||||||
|
// hole for screw head for peepsight screw
|
||||||
|
back(12) down(1.5) yrot(90) fwd(1) up(-50) cyl(d=9, h=100, $fn=36);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// rear part for sight
|
||||||
|
back(12) down(0.5) difference() {
|
||||||
|
down(0.5) cuboid([20,12,8]);
|
||||||
|
down(0.5) cuboid([15, 12.1, 8.1]);
|
||||||
|
yrot(90) fwd(1) up(50) cyl(d=3.7, h=100, $fn=12);
|
||||||
|
yrot(90) fwd(1) up(-50) cyl(d=5.4, h=100, $fn=12);
|
||||||
|
}
|
||||||
|
back(16.5) down(-1.5) cuboid([20,3,3]);
|
||||||
|
back(16.5) down(4) cuboid([20,3,2]);
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue