Commit 318506ed authored by Mio Iwakura's avatar Mio Iwakura

Nightly

parent 1c2ca7f2
$fn = 100;
$fn = 99;
module guts()
{
module expansion_board()
......@@ -225,115 +225,181 @@ module guts()
rotate(a = [90, 0, -90])
gfx_card();
}
module ramp_edge(r = 16, length = 151)
module case_bottom()
{
intersection()
wall_z = 2;
module base()
{
difference()
module ramp_corner(r = 16, z = 2)
{
cylinder(h = length, r = r, center = true);
cylinder(h = length + 1, r = r - 2, center = true);
intersection()
{
rotate_extrude()
translate([r, 0, 0])
rotate([0, 0, 90])
intersection()
{
difference()
{
square([r, r]);
circle(d = r*2 - 2*z);
}
circle(d = r*2);
}
cube([r, r, r]);
}
}
translate([0, -r, -(length + 1)/2])
linear_extrude(length + 1)
square([r, r]);
}
}
module case_bottom()
{
let(x = 272,
y = 120,
wall_z = 2,
standoff_points = [
[-x/2 + 7, -y/2 + 4],
[-x/2 + 7, y/2 - 4],
[-x/2 + 7, -y/2 + 45.5],
[-x/2 + 31.5, -y/2 + 4],
[-x/2 + 31.5, y/2 - 4],
[-x/2 + 31.5, -y/2 + 45.5],
[-x/2 + 69.75, -y/2 + 4],
[-x/2 + 69.75, y/2 - 4],
[-x/2 + 69.75, -y/2 + 45.5],
[x/2 - 4, -y/2 + 4],
[x/2 - 63, -y/2 + 4],
[-x/2 + 87.5, -y/2 + 4],
[-x/2 + 87.5, y/2 - 4],
[x/2 - 21, y/2 - 4,],
[-x/2 + 148, y/2 - 4]])
{
difference()
module ramp_edge(r = 16, length = 151, z = 2)
{
linear_extrude(wall_z)
square([280, 151]);
for(p = standoff_points)
translate([p[0] + 138.5, p[1] + 72.5, -1])
linear_extrude(4)
circle(d = 3);
intersection()
{
difference()
{
cylinder(h = length, r = r, center = true);
cylinder(h = length + 1, r = r - z, center = true);
}
translate([0, -r, -(length + 1)/2])
linear_extrude(length + 1)
square([r, r]);
}
}
}
let(x = 120,
y = 90,
wall_z = 2,
standoff_points = [
[x/2 - 4, -y/2 + 4],
[-x/2 + 4, -y/2 + 4]])
{
difference()
let(x = 272,
y = 120,
standoff_points = [
[-x/2 + 7, -y/2 + 4],
[-x/2 + 7, y/2 - 4],
[-x/2 + 7, -y/2 + 45.5],
[-x/2 + 31.5, -y/2 + 4],
[-x/2 + 31.5, y/2 - 4],
[-x/2 + 31.5, -y/2 + 45.5],
[-x/2 + 69.75, -y/2 + 4],
[-x/2 + 69.75, y/2 - 4],
[-x/2 + 69.75, -y/2 + 45.5],
[x/2 - 4, -y/2 + 4],
[x/2 - 63, -y/2 + 4],
[-x/2 + 87.5, -y/2 + 4],
[-x/2 + 87.5, y/2 - 4],
[x/2 - 21, y/2 - 4,],
[-x/2 + 148, y/2 - 4]])
{
translate([294, 0, 14])
linear_extrude(wall_z)
square([70, 151]);
translate([164 + 138.5, -1 + 72.5, 14])
rotate(a = [0, 0, 90])
union()
difference()
{
linear_extrude(wall_z)
square([280, 151]);
for(p = standoff_points)
translate([p[0], p[1], -1])
translate([p[0] + 138.5, p[1] + 72.5, -1])
linear_extrude(4)
circle(d = 3);
}
}
}
translate([280, 151/2, 16])
rotate([90, 0, 0])
ramp_edge();
translate([378, 151/2, 16])
rotate([90, 0, 180])
ramp_edge();
translate([329, -16 + 2, 16])
rotate([90, 0, 90])
ramp_edge(length = 70);
}
translate([138.5, 72.5, 2.5])
guts();
color("black")
case_bottom();
//@WIP:
color("black")
translate([152/2 + 16, -152/2 - 16, 0])
rotate([90, 0, 90])
ramp_edge();
color("black")
rotate([90, 0, 0])
ramp_edge();
let(r = 16)
{
translate([14, -80, 0])
rotate([180, 0, -90])
intersection()
{
rotate_extrude()
translate([42/2, 0, 0])
rotate([0, 0, 90])
intersection()
let(x = 120,
y = 90,
standoff_points = [
[x/2 - 4, -y/2 + 4],
[-x/2 + 4, -y/2 + 4]])
{
difference()
{
square([42/2, 42/2]);
circle(d = 40);
translate([294, 0, 14])
linear_extrude(wall_z)
square([70, 151]);
translate([164 + 138.5, -1 + 72.5, 14])
rotate(a = [0, 0, 90])
union()
{
for(p = standoff_points)
translate([p[0], p[1], -1])
linear_extrude(4)
circle(d = 3);
}
}
circle(d = 42);
}
cube([42/2, 42/2, 42/2]);
translate([329, 167, 16])
rotate([90, 0, -90])
ramp_edge(length = 70);
translate([278, 151/2, 16])
rotate([90, 0, 0])
ramp_edge();
translate([380, 151/2, 16])
rotate([90, 0, 180])
ramp_edge();
translate([329, -16, 16])
rotate([90, 0, 90])
ramp_edge(length = 70);
translate([294, 0, 16])
rotate([180, 0, -90])
ramp_corner();
translate([364, 0, 16])
rotate([180, 0, 0])
ramp_corner();
translate([294, 151, 16])
rotate([180, 0, 180])
ramp_corner();
translate([364, 151, 16])
rotate([180, 0, 90])
ramp_corner();
linear_extrude(wall_z)
union()
{
translate([0, -20, 0])
square([278, 20]);
translate([0, 151, 0])
square([278, 20]);
/* translate([-16, 0, 0]) */
/* square([16, 151]); */
translate([0, 151, 0])
rotate([0, 0, 90])
intersection()
{
circle(d = 16*2);
square([16, 16]);
}
rotate([0, 0, 180])
intersection()
{
circle(d = 16*2);
square([16, 16]);
}
translate([294, 151, 0])
rotate([0, 0, 90])
difference()
{
square([16, 16]);
circle(d = 16*2 - 1);
}
translate([294, 0, 0])
rotate([0, 0, 180])
difference()
{
square([16, 16]);
circle(d = 16*2 - 1);
}
}
}
foot_z = 12;
translate([20, 20, foot_z])
base();
module foot()
{
linear_extrude(foot_z)
intersection()
{
circle(d = 16*2);
square([16, 16]);
}
}
/* translate([20, 20, 0]) */
/* rotate([0, 0, -180]) */
/* foot(); */
/* translate([22, 167, 0]) */
/* rotate([0, 0, 90]) */
/* foot(); */
/* translate([0, 0, 0]) */
/* foot(); */
/* translate([0, 0, 0]) */
/* foot(); */
}
/* translate([138.5, 72.5, 2.5]) */
/* guts(); */
/* color("black") */
case_bottom();
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment