Compare commits
3 Commits
33efa98d66
...
60f7c8e24f
Author | SHA1 | Date | |
---|---|---|---|
60f7c8e24f | |||
49d1c65af6 | |||
bd230d437d |
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,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();
|
||||||
|
Loading…
Reference in New Issue
Block a user