Compare commits

...

3 Commits

Author SHA1 Message Date
60f7c8e24f Add a door module
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-01-08 01:36:02 +01:00
49d1c65af6 Add room wall for Eri's room
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-01-08 01:36:02 +01:00
bd230d437d Convert measurements into millimeters
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-01-08 01:36:02 +01:00
2 changed files with 90 additions and 21 deletions

58
house/door.scad Normal file
View 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
]);
}
}

View File

@ -1,42 +1,49 @@
// Includes
include <door.scad>
// All measurements are in millimeters.
// Dimensions // Dimensions
office_jacob_length = 203; office_jacob_length = 2030;
office_jacob_width = 341; office_jacob_width = 3410;
bedroom_length = 206; bedroom_length = 2060;
bedroom_width = 341; bedroom_width = 3410;
frame_depth = 13.5; frame_depth = 135;
hall_length = 261; hall_length = 2610;
hall_length_extra_office_jacob = 124;// Hall to end of office hall_length_extra_office_jacob = 1240;// Hall to end of office
hall_length_full = hall_length + hall_length_extra_office_jacob; hall_length_full = hall_length + hall_length_extra_office_jacob;
hall_width = 97.5; hall_width = 975;
livingroom_back_to_door_width = 341; livingroom_back_to_door_width = 3410;
livingroom_door_to_frame_width = 96.5; livingroom_door_to_frame_width = 965;
livingroom_doorframe_to_kitchen_width = 223.5; livingroom_doorframe_to_kitchen_width = 2235;
livingroom_kitchen_to_front_threshold = 148; livingroom_kitchen_to_front_threshold = 1480;
livingroom_width = livingroom_back_to_door_width + livingroom_door_to_frame_width + frame_depth + livingroom_doorframe_to_kitchen_width + livingroom_kitchen_to_front_threshold livingroom_width = livingroom_back_to_door_width + livingroom_door_to_frame_width + frame_depth + livingroom_doorframe_to_kitchen_width + livingroom_kitchen_to_front_threshold
; ;
livingroom_length_kitchen = 343; livingroom_length_kitchen = 3430;
livingroom_length_back = 287; livingroom_length_back = 2870;
kitchen_width_bath_to_entrance = 45; kitchen_width_bath_to_entrance = 450;
kitchen_width = livingroom_kitchen_to_front_threshold + kitchen_width_bath_to_entrance; kitchen_width = livingroom_kitchen_to_front_threshold + kitchen_width_bath_to_entrance;
kitchen_length = 162; kitchen_length = 1620;
hall_to_bathroom_length = 87 + hall_length_extra_office_jacob; hall_to_bathroom_length = 870 + hall_length_extra_office_jacob;
bathroom_length = 146 + frame_depth; bathroom_length = 1460 + frame_depth;
bathroom_width = 158; //house_width - office_jacob_width - hall_width - kitchen_width; bathroom_width = 1580; //house_width - office_jacob_width - hall_width - kitchen_width;
house_height = 266; house_height = 2660;
house_width = livingroom_width; house_width = livingroom_width;
house_length = hall_length_extra_office_jacob + hall_length + frame_depth + house_length = hall_length_extra_office_jacob + hall_length + frame_depth +
livingroom_length_kitchen livingroom_length_kitchen
; ;
eri_room_width = 2450;
// End Dimensions // End Dimensions
// Global floor // Global floor
@ -102,6 +109,8 @@ rectangle(
"orange" "orange"
); );
translate([house_width - eri_room_width, frame_depth / 2, 0]) cube([5, livingroom_length_back, house_height]);
// Bathroom // Bathroom
rectangle( rectangle(
[ [
@ -147,4 +156,6 @@ module rectangle(start = [0, 0, 0], dimensions = [0, 0, 0], color)
cube([dx, dy, dz]); cube([dx, dy, dz]);
translate([1,1,1]) cube([dx-2, dy-2, dz]); translate([1,1,1]) cube([dx-2, dy-2, dz]);
} }
} }
color("white") door();