add recent prints

This commit is contained in:
cecilkorik 2024-06-23 01:07:02 -04:00
parent 9d2bf074ea
commit 7884e9b19e
5 changed files with 440 additions and 0 deletions

View file

@ -0,0 +1,76 @@
raild = 64.9;
railh = 18.5;
clipt = 5;
module rail_latch(x, y, z, m) {
translate([1.1,0,0]) rotate([0,m*7,0]) difference() {
cube([x,y,z], center=true);
translate([0*-m,0,10-z]) rotate([0,25*-m,0]) cube([x+1,y+1,z], center=true);
translate([4.9,0,0]) rotate([0,-5,0]) cube([x,y+1,z], center=true);
//translate([5*-m,0,30.8-z]) rotate([0,5*-m,0]) cube([x+1,y+1,10], center=true);
//translate([5*-m,0,30.8-z]) rotate([0,25*-m,0]) cube([x+1,y+1,10], center=true);
}
}
module back_latch(x, y, z, m) {
union() {
translate([0,0,1.251]) translate([1.35,0,-8]) cube([x-0.1,y,z+15], center=true);
translate([-3,0,-26.25]) cube([x-0.5,y,3], center=true);
translate([-1.85,0,-22.2]) rotate([0,50,0]) cube([x+0.5,y,9], center=true);
translate([-1.85,0,-19.6]) rotate([0,30,0]) cube([x-1.5,y,11], center=true);
//translate([0*-m,0,10-z]) rotate([0,25*-m,0]) cube([x+1,y+1,z], center=true);
//translate([5*-m,0,30.8-z]) rotate([0,5*-m,0]) cube([x+1,y+1,10], center=true);
//translate([5*-m,0,30.8-z]) rotate([0,25*-m,0]) cube([x+1,y+1,10], center=true);
}
}
module back_latch2(x, y, z, m) {
union() {
translate([0,0,1.251]) translate([1.35,0,-8]) cube([x-0.1,y,z+19], center=true);
translate([-3,0,-28.25]) cube([x-0.5,y,3], center=true);
translate([-1.85,0,-24.2]) rotate([0,50,0]) cube([x+0.5,y,9], center=true);
//translate([-1.85,0,-21.6]) rotate([0,30,0]) cube([x-1.5,y,11], center=true);
//translate([0*-m,0,10-z]) rotate([0,25*-m,0]) cube([x+1,y+1,z], center=true);
//translate([5*-m,0,30.8-z]) rotate([0,5*-m,0]) cube([x+1,y+1,10], center=true);
//translate([5*-m,0,30.8-z]) rotate([0,25*-m,0]) cube([x+1,y+1,10], center=true);
}
}
module rail_clip() {
//cube([raild, clipt, railh], center=true);
union() {
//color([1,0,1,0.2]) translate([raild/2+2,0.1,-5]) back_latch(5,clipt,27,1);
translate([raild/2+4,0,-5]) rotate([0,10,0]) back_latch2(5,clipt,27,1);
translate([-raild/2-2,0,-5]) rail_latch(5,clipt,30,-1);
translate([2.5,0,railh/2+3.5]) cube([81.5,clipt,7], center=true);
}
};
module hook() {
union() {
translate([0,0,4.251]) cube([3,3,8.502], center=true);
rotate([0, 25, 0]) translate([-1.6,0,0.651]) cube([3,3,5.602], center=true);
rotate([0, -45, 0]) translate([1.5,0,-0.51]) cube([3,3,3.502], center=true);
//translate([0,0,6.5+1.5]) cube([3,3,3], center=true);
//translate([5,0,6.5+1.5]) rotate([0,90,0]) rotate([0,0,45]) cylinder(h=7,d1=4.2, d2=1, center=true, $fn=4);
translate([4.5,0,8.5+1.5]) cube([12,3,3], center=true);
}
}
module hooked_rail_clip() {
union() {
translate([-37.5,3/2,10]) rotate([0,-90,0]) hook();
translate([0,clipt/2,0]) rail_clip();
}
}
rotate([90,0,0]) hooked_rail_clip();

View file

@ -0,0 +1,35 @@
real_diam = 35.8;
real_depth = 17.2;
fudge = 0.1;
diam = real_diam + fudge;
depth = real_depth + fudge;
detail = 100;
thickness = 15;
plate = 150;
front = 6;
module mock_scope(x, y) {
cylinder(h = depth + y, d = diam + x, $fn=detail);
}
module billet() {
union() {
cylinder(h = depth, d = diam + thickness, $fn=detail);
cylinder(h = depth/front, d = (diam + thickness)*1.8, $fn=detail);
translate([-plate/2,-thickness/2,0]) cube([plate, thickness, depth/front]);
rotate([0,0,90]) translate([-plate/2,-thickness/2,0]) cube([plate, thickness, depth/front]);
}
}
module product() {
difference() {
billet();
translate([0,0,-thickness]) mock_scope(0,thickness*2);
};
}
product();

View file

@ -0,0 +1,59 @@
real_diam = 25.8;
real_depth = 40.2;
fudge = 0.1;
diam = real_diam + fudge;
depth = real_depth + fudge;
detail = 100;
thickness = 3;
plate = 80;
front = 32;
focus = 1.2;
module mock_scope(x, y) {
cylinder(h = depth + y, d = diam + x, $fn=detail);
}
module slices() {
translate([-diam,-focus/2,0]) cube([diam*2, focus, depth+0.02]);
rotate([0,0,90]) translate([-diam,-focus/2,0]) cube([diam*2, focus, depth+0.02]);
}
module aim_slices() {
difference() {
slices();
translate([0,0,depth-diam/2]) rotate([0,0,45]) cylinder(h=diam/2+2, d1=diam*3.14159/2, d2=focus*3.14159/2, $fn=4);
translate([0,0,1.2]) mock_scope(0.01,-diam/2);
}
}
module mock_scope2(x, y) {
difference() {
mock_scope(x, y);
aim_slices();
}
}
module billet() {
union() {
cylinder(h = depth, d = diam + thickness, $fn=detail);
cylinder(h = depth/front, d = (diam + thickness)*1.8, $fn=detail);
translate([-plate/2,-thickness/2,0]) cube([plate, thickness, depth/front]);
rotate([0,0,90]) translate([-plate/2,-thickness/2,0]) cube([plate, thickness, depth/front]);
//inner_cut();
}
}
module product() {
difference() {
billet();
translate([0,0,-0.01]) mock_scope2(0,thickness*2);
};
}
product();
//mock_scope2(0,0);

View file

@ -0,0 +1,135 @@
h=42.35;
d=2.85;
bd=5.35;
brad=26.45;
isec_inc=5;
isec_off=1;
hookd = 6;
batc_to_clipleftguide = 49.45;
bclipd = 2.0;
eclipw = 6.0;
bc_left=12.5;
module baseplate_circle() {
}
module baseplate_circle_cut() {
intersection() {
baseplate_circle();
}
}
module bclip_ghost() {
translate([0,0,6.1]) union() {
rotate([0,0,14.6]) cube([49.45, 0.1, 0.1]);
translate([49.45*0.966,0,0]) cube([0.1,12.5,0.1]);
translate([49.45*0.966,12.5,-5.35]) cube([0.1,0.1,5.35]);
}
};
module bclip_spine_negative_top() {
translate([0,0,6.1]) union() {
translate([0,-8,0]) rotate([0,0,14.6]) cube([69.45, 15.1, 15.1]);
translate([49.45*0.966,0,0]) cube([5.1,12.5,5.1]);
}
};
module bclip_spine_negative_fore() {
translate([49.45*0.966,0,0]) cube([15.1,22.5,15.1]);
}
module bclip_spine_negative_aft() {
translate([-10,-2,0]) cube([10,10,10]);
}
module bclip_spine_old() {
rotate([0,0,14.6]) rotate([0,-4.5,0]) cube([49.45, 5.0, 2.1]);
}
module bclip_spine() {
rotate([0,0,11.6]) rotate([0,-6.5,0]) cube([59.45, 5.0, 10.1]);
translate([0,0,6.1-4.5]) rotate([0,0,11.6]) cube([59.45, 5.0, 10.1]);
}
module bclip_spine_bulk() {
difference() {
bclip_spine();
bclip_spine_negative_top();
bclip_spine_negative_fore();
bclip_spine_negative_aft();
}
}
module bclip_aft_slot_negative_ramp() {
translate([0,-1.2,0]) rotate([0,45,0]) cube([8,0.92,8]);
//translate([1.5,-0.92,-0.1]) cube([20,0.92,2]);
}
module bclip_aft_tab_negative_top() {
translate([0.9,-15.9199,0.9]) cube([5,15,30]);
}
module bclip_aft_ghost() {
translate([0,-0.92,0]) cube([5.0,0.1,0.1]);
translate([5.1,-0.921,0]) rotate([0,-90,0]) cube([5.0,0.1,0.1]);
translate([1.51,-0.921,0]) rotate([0,-90,0]) cube([1.0,0.1,0.1]);
}
module bclip_aft_tab() {
difference() {
union() {
translate([-0.1,-6.5,0]) cube([4,8,6.1]);
translate([-3 ,-6.5,0]) cube([4,8,6.1]);
}
bclip_aft_slot_negative_ramp();
bclip_aft_tab_negative_top();
}
}
module bclip_fore_tab() {
translate([49.45*0.966,10.8,1.6]) cube([5.1,4.1,2.1]);
difference() {
translate([49.45*0.966+2,10.8,0.81]) rotate([0,-36,0]) cube([3.8,4.1,2.7]);
translate([0,0,6.1-6.5]) rotate([0,0,11.6]) cube([69.45, 10.0, 2]);
}
color([0,0,1,0.25]) bclip_fore_ghost();
}
module bclip_fore_ghost() {
translate([49.45*0.967,11.8,6.1-2.0]) rotate([0,-90,0]) cube([2.0,0.1,0.1]);
}
module bclip_circular_pad() {
difference() {
union() {
difference() {
translate([23.15,-2.5,3.05]) cylinder(h=6.1,r=26.45,center=true,$fn=200);
translate([21.15,-2.5,3.05]) cylinder(h=10.1,r=20.45,center=true,$fn=200);
translate([13.45, -50, -1.9]) cube([100,100,12]);
}
translate([8.45, -22, 6.1-6]) cube([5,40,6]);
}
translate([-10,-50,-1-100]) rotate([0,-5.5,0]) cube([100,100,100]);
}
}
module bclip() {
union() {
bclip_spine_bulk();
bclip_aft_tab();
bclip_fore_tab();
bclip_circular_pad();
}
}
//color([0,0,1,0.25]) bclip_ghost();
bclip();
//color([1,0.3,0,0.25]) bclip_aft_ghost();
//bclip_aft_slot_negative_ramp();

View file

@ -0,0 +1,135 @@
h=42.35;
d=2.85;
bd=5.35;
brad=26.45;
isec_inc=5;
isec_off=1;
hookd = 6;
batc_to_clipleftguide = 49.45;
bclipd = 2.0;
eclipw = 6.0;
bc_left=12.5;
module baseplate_circle() {
}
module baseplate_circle_cut() {
intersection() {
baseplate_circle();
}
}
module bclip_ghost() {
translate([0,0,6.1]) union() {
rotate([0,0,14.6]) cube([49.45, 0.1, 0.1]);
translate([49.45*0.966,0,0]) cube([0.1,12.5,0.1]);
translate([49.45*0.966,12.5,-5.35]) cube([0.1,0.1,5.35]);
}
};
module bclip_spine_negative_top() {
translate([0,0,6.1]) union() {
translate([0,-8,0]) rotate([0,0,14.6]) cube([69.45, 15.1, 15.1]);
translate([49.45*0.966,0,0]) cube([5.1,12.5,5.1]);
}
};
module bclip_spine_negative_fore() {
translate([49.45*0.966,0,0]) cube([15.1,22.5,15.1]);
}
module bclip_spine_negative_aft() {
translate([-10,-2,0]) cube([10,10,10]);
}
module bclip_spine_old() {
rotate([0,0,14.6]) rotate([0,-4.5,0]) cube([49.45, 5.0, 2.1]);
}
module bclip_spine() {
rotate([0,0,11.6]) rotate([0,-6.5,0]) cube([59.45, 5.0, 10.1]);
translate([0,0,6.1-4.5]) rotate([0,0,11.6]) cube([59.45, 5.0, 10.1]);
}
module bclip_spine_bulk() {
difference() {
bclip_spine();
bclip_spine_negative_top();
bclip_spine_negative_fore();
bclip_spine_negative_aft();
}
}
module bclip_aft_slot_negative_ramp() {
translate([0,-1.2,0]) rotate([0,45,0]) cube([8,0.92,8]);
//translate([1.5,-0.92,-0.1]) cube([20,0.92,2]);
}
module bclip_aft_tab_negative_top() {
translate([0.9,-15.9199,0.9]) cube([5,15,30]);
}
module bclip_aft_ghost() {
translate([0,-0.92,0]) cube([5.0,0.1,0.1]);
translate([5.1,-0.921,0]) rotate([0,-90,0]) cube([5.0,0.1,0.1]);
translate([1.51,-0.921,0]) rotate([0,-90,0]) cube([1.0,0.1,0.1]);
}
module bclip_aft_tab() {
difference() {
union() {
translate([-0.1,-6.5,0]) cube([4,8,6.1]);
translate([-3 ,-6.5,0]) cube([4,8,6.1]);
}
bclip_aft_slot_negative_ramp();
bclip_aft_tab_negative_top();
}
}
module bclip_fore_tab() {
translate([49.45*0.966,10.8,1.6]) cube([5.1,4.1,2.1]);
difference() {
translate([49.45*0.966+2,10.8,0.81]) rotate([0,-36,0]) cube([3.8,4.1,2.7]);
translate([0,0,6.1-6.5]) rotate([0,0,11.6]) cube([69.45, 10.0, 2]);
}
color([0,0,1,0.25]) bclip_fore_ghost();
}
module bclip_fore_ghost() {
translate([49.45*0.967,11.8,6.1-2.0]) rotate([0,-90,0]) cube([2.0,0.1,0.1]);
}
module bclip_circular_pad() {
difference() {
union() {
difference() {
translate([23.15,-2.5,3.05]) cylinder(h=6.1,r=26.45,center=true,$fn=200);
translate([21.15,-2.5,3.05]) cylinder(h=10.1,r=20.45,center=true,$fn=200);
translate([13.45, -50, -1.9]) cube([100,100,12]);
}
translate([8.45, -22, 6.1-6]) cube([5,40,6]);
}
translate([-10,-50,-1-100]) rotate([0,-5.5,0]) cube([100,100,100]);
}
}
module bclip() {
union() {
bclip_spine_bulk();
bclip_aft_tab();
bclip_fore_tab();
bclip_circular_pad();
}
}
//color([0,0,1,0.25]) bclip_ghost();
bclip();
//color([1,0.3,0,0.25]) bclip_aft_ghost();
//bclip_aft_slot_negative_ramp();