3dprint/maxi_cosi.scad

74 lines
2.5 KiB
OpenSCAD

// Верхняя часть крепления для детских автокресел Maxi Cosi
$fn=64;
w = 63;
h1 = 75;
w2 = 75;
h2 = 59;
r2 = 41;
notch = 39;
//mirror()
difference()
{
union()
{
rotate([0, atan(1.5/5), 0])
{
difference()
{
union()
{
cube([w, 29, h1]);
translate([w/2-w2/2, 0, -50]) cube([w2, 35, h1-h2+50]);
}
translate([-0.01, 29.01, h1+0.01]) rotate([90, 180, 90]) linear_extrude(100) polygon([[0, 0], [0, 8], [5, 0]]);
translate([w+0.01, 50, h1+0.01]) rotate([90, 180, 0]) linear_extrude(100) polygon([[0, 0], [0, 8], [8, 0]]);
translate([-0.01, -50, h1+0.01]) rotate([90, 180, 180]) linear_extrude(100) polygon([[0, 0], [0, 8], [8, 0]]);
translate([w/2, 29+10-4.5, h1-49+notch/2]) rotate([90, 0, 0]) cylinder(h=10, d=notch, $fn=64);
translate([w/2-notch/2, 29+10-4.5, h1-49+37/2]) rotate([90, 0, 0]) cube([notch, 100, 10]);
translate([w/2, 29+20-0.01, r2]) rotate([90, 0, 0]) cylinder(h=20, r=r2, $fn=128);
translate([w/2-50/2, 4, 0]) cube([50, 29-6-6, h1+10]);
}
translate([17, 23, h1-39])
rotate([90, 90, 0])
linear_extrude(20)
polygon([[0, 11.5], [5, 19], [10, 20.5], [11, 19], [8.5, 12.5], [9.5, 11.5], [6.5, 1.5], [2.5, 0], [0, 2.5]]);
}
translate([-120, 0, -75])
difference()
{
cube([235, 40, 30]);
translate([20, 50, 15]) rotate([90, 0, 0]) cylinder(r=2.5, h=100);
translate([215, 50, 15]) rotate([90, 0, 0]) cylinder(r=2.5, h=100);
}
}
translate([-120, 0, -75])
union()
{
translate([-1, -1, -1]) cube([101, 42, 31]);
//translate([100, -1, -1]) cube([30, 42, 11]);
translate([0, 20-0.4, -1]) cube([120+0.4, 10+0.8, 31]);
translate([110, 10-0.4, -1]) cube([10+0.4, 20+0.8, 31]);
}
}
//mirror()
translate([-150, 0, -75])
intersection()
{
difference()
{
cube([235, 40, 30]);
translate([20, 50, 15]) rotate([90, 0, 0]) cylinder(r=2.5, h=100);
translate([215, 50, 15]) rotate([90, 0, 0]) cylinder(r=2.5, h=100);
}
union()
{
translate([-1, -1, -1]) cube([102, 42, 32]);
//translate([100, -1, -1]) cube([30, 42, 11]);
translate([0, 20-0.2, -1]) cube([121+0.2, 10+0.4, 32]);
translate([111, 10-0.2, -1]) cube([10+0.2, 20+0.4, 32]);
}
}