Add a door module
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
This commit is contained in:
parent
49d1c65af6
commit
60f7c8e24f
58
house/door.scad
Normal file
58
house/door.scad
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
// Builds a door with default measurements
|
||||||
|
|
||||||
|
// Usage: door(open_rotation = 45)
|
||||||
|
// The open_rotation parameter rotates the door in the z-plane.
|
||||||
|
|
||||||
|
module door(open_rotation = 45) {
|
||||||
|
frame_depth = 65;
|
||||||
|
frame_outer_list_width = 45;
|
||||||
|
frame_outer_receded_width = 15;
|
||||||
|
|
||||||
|
door_width = 775;
|
||||||
|
door_depth = 50;
|
||||||
|
door_height = 2100;
|
||||||
|
door_to_ground = 15;
|
||||||
|
door_to_frame = 3;
|
||||||
|
|
||||||
|
door_outline();
|
||||||
|
//door_list_receded();
|
||||||
|
door_door();
|
||||||
|
|
||||||
|
module door_outline()
|
||||||
|
{
|
||||||
|
difference() {
|
||||||
|
cube([
|
||||||
|
door_width + 2 * door_to_frame + 2 * (frame_outer_list_width + frame_outer_receded_width),
|
||||||
|
door_depth + 2 * frame_depth,
|
||||||
|
door_to_ground + door_height + door_to_frame + frame_depth
|
||||||
|
]);
|
||||||
|
translate([frame_outer_list_width, 0, 0]) door_list_receded();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module door_list_receded()
|
||||||
|
{
|
||||||
|
difference() {
|
||||||
|
color("yellow") cube([
|
||||||
|
door_width + 2 * door_to_frame + 2 * frame_outer_receded_width,
|
||||||
|
door_depth + 2 * frame_depth,
|
||||||
|
door_to_ground + door_height + door_to_frame
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module door_door()
|
||||||
|
{
|
||||||
|
translate([
|
||||||
|
frame_depth + door_to_frame,
|
||||||
|
frame_depth,
|
||||||
|
door_to_ground
|
||||||
|
])
|
||||||
|
rotate([0, 0, open_rotation])
|
||||||
|
cube([
|
||||||
|
door_width,
|
||||||
|
door_depth,
|
||||||
|
door_height
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
@ -1,3 +1,6 @@
|
|||||||
|
// Includes
|
||||||
|
include <door.scad>
|
||||||
|
|
||||||
// All measurements are in millimeters.
|
// All measurements are in millimeters.
|
||||||
|
|
||||||
// Dimensions
|
// Dimensions
|
||||||
@ -154,3 +157,5 @@ module rectangle(start = [0, 0, 0], dimensions = [0, 0, 0], color)
|
|||||||
translate([1,1,1]) cube([dx-2, dy-2, dz]);
|
translate([1,1,1]) cube([dx-2, dy-2, dz]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
color("white") door();
|
||||||
|
Loading…
Reference in New Issue
Block a user