3 changed files with 3297 additions and 0 deletions
@ -0,0 +1,48 @@ |
|||
///////////////////////////////////////////////////////////////////////////////// |
|||
// Adapter for drilling machine in the embedded lab. |
|||
// |
|||
// Author: Maximilian Stiefel |
|||
// Last modification: 07.06.2017 |
|||
///////////////////////////////////////////////////////////////////////////////// |
|||
|
|||
///////////////////////////////////////////////////////////////////////////////// |
|||
// Vars |
|||
///////////////////////////////////////////////////////////////////////////////// |
|||
cone_radius_1 = 31.8 /2; |
|||
cone_radius_2 = 48.1 /2; |
|||
cone_height = 31; |
|||
|
|||
cylinder_radius = 43 /2; |
|||
cylinder_height = 21.5; |
|||
|
|||
///////////////////////////////////////////////////////////////////////////////// |
|||
// Action |
|||
///////////////////////////////////////////////////////////////////////////////// |
|||
|
|||
difference() |
|||
{ |
|||
difference() |
|||
{ |
|||
union() |
|||
{ |
|||
// Draw the hole to hold the drilling machine |
|||
translate([0, 0, cylinder_height/2]) |
|||
cylinder(h = cylinder_height, r = cylinder_radius, center = true); |
|||
translate([0, 0, 1.5 + cylinder_height]) |
|||
cylinder(h = 3, r = 26, center = true); |
|||
} |
|||
|
|||
translate([0, 0, cone_height/2 + 3]) |
|||
union() |
|||
{ |
|||
translate([0, 0, -20]) |
|||
cylinder(h = 15, r = cone_radius_1, center = true); |
|||
// Draw cone measured |
|||
cylinder(h = cone_height, r1 = cone_radius_1, r2 = cone_radius_2, center = true); |
|||
|
|||
} |
|||
} |
|||
translate([cone_radius_2, 0, 0]) |
|||
cube([30, 15, 60], center = true); |
|||
|
|||
} |
File diff suppressed because it is too large
@ -0,0 +1,41 @@ |
|||
///////////////////////////////////////////////////////////////////////////////// |
|||
// Module for a open box with rounded edges. |
|||
// |
|||
// Author: Maximilian Stiefel |
|||
// Last modification: 26.04.2017 |
|||
///////////////////////////////////////////////////////////////////////////////// |
|||
|
|||
module open_box(width, length, height, thickness) |
|||
{ |
|||
|
|||
///////////////////////////////////////////////////////////////////////// |
|||
// Vars |
|||
///////////////////////////////////////////////////////////////////////// |
|||
edge_rounding = 8; |
|||
compensation = 2*abs(edge_rounding-thickness); |
|||
|
|||
///////////////////////////////////////////////////////////////////////// |
|||
// Action |
|||
///////////////////////////////////////////////////////////////////////// |
|||
translate([0, 0, 0]) difference(){ |
|||
// Hull 4 cylinders which are compensated against the thickness |
|||
// so the actual desired thickness/2 and edge rounding is always achieved. |
|||
hull(){ |
|||
// x=0, y=0 |
|||
translate([edge_rounding, edge_rounding, 0]) |
|||
cylinder(r = edge_rounding, h = height + thickness); |
|||
// x=width, y=0 |
|||
translate([width + edge_rounding - compensation, edge_rounding, 0]) |
|||
cylinder(r = edge_rounding, h = height + thickness); |
|||
// x=0, y=length |
|||
translate([edge_rounding, length + edge_rounding - compensation,0]) |
|||
cylinder(r = edge_rounding, h = height + thickness); |
|||
//x=width, y=length |
|||
translate([width + edge_rounding - compensation, length + edge_rounding - compensation,0]) |
|||
cylinder(r = edge_rounding, h = height + thickness); |
|||
} |
|||
|
|||
translate([thickness, thickness, thickness]) |
|||
cube([width, length, height + 1]); |
|||
} |
|||
} |
Loading…
Reference in new issue