44 lines
1.1 KiB
OpenSCAD
44 lines
1.1 KiB
OpenSCAD
$fs = 0.01;
|
|
$fa = 0.01;
|
|
|
|
|
|
// A5 = 148
|
|
page_size_width = 210; // [105, 148, 210]
|
|
page_size_height = sqrt(2)*page_size_width;
|
|
|
|
notebook_thickness = 3;
|
|
hinge_radius = 10;
|
|
number_of_hinge_segments = 5;
|
|
hinge_gap = 2;
|
|
|
|
echo(str("page size = ", page_size_height, "x", page_size_width, "mm"));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
union(){
|
|
color([0/255, 20/255, 0/255])
|
|
cube(size=[page_size_width, page_size_height, notebook_thickness], center=true);
|
|
|
|
color([128/255, 128/255, 10/255])
|
|
translate([-page_size_width/2 - hinge_radius/2 , 0, 0])
|
|
cube(size=[hinge_radius, page_size_height, notebook_thickness], center=true);
|
|
}
|
|
|
|
|
|
translate([0, 0, hinge_radius*2 - notebook_thickness])
|
|
union(){
|
|
color([0/255, 20/255, 0/255])
|
|
cube(size=[page_size_width, page_size_height, notebook_thickness], center=true);
|
|
|
|
color([128/255, 128/255, 10/255])
|
|
translate([-page_size_width/2 - hinge_radius/2 , 0, 0])
|
|
cube(size=[hinge_radius, page_size_height, notebook_thickness], center=true);
|
|
}
|
|
|
|
|
|
translate([-page_size_width/2-hinge_radius, 0, hinge_radius - notebook_thickness/2])
|
|
rotate([90, 0, 0])
|
|
cylinder(r=hinge_radius, h=10, center=true); |