Compare commits

..

No commits in common. "3be73fede211f2a600e9c014852cfeb3829cb121" and "60f7c8e24fd450840ab3694a8936c2d65c2253a2" have entirely different histories.

3 changed files with 27 additions and 113 deletions

View File

@ -3,10 +3,7 @@
// Usage: door(open_rotation = 45)
// The open_rotation parameter rotates the door in the z-plane.
DOOR_LEFT = "left";
DOOR_RIGHT = "right";
module door(open_rotation = 45, door_position = DOOR_LEFT) {
module door(open_rotation = 45) {
frame_depth = 65;
frame_outer_list_width = 45;
frame_outer_receded_width = 15;
@ -17,28 +14,17 @@ module door(open_rotation = 45, door_position = DOOR_LEFT) {
door_to_ground = 15;
door_to_frame = 3;
if (door_position == DOOR_LEFT) {
door_outline();
//door_list_receded();
door_door();
}
if (door_position == DOOR_RIGHT) {
translate([full_width(), full_depth(), 0])
rotate([0, 0, 180]) {
door_outline();
//door_list_receded();
door_door();
}
}
door_outline();
//door_list_receded();
door_door();
module door_outline()
{
difference() {
cube([
full_width(),
full_depth(),
full_height()
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();
}
@ -57,46 +43,16 @@ module door(open_rotation = 45, door_position = DOOR_LEFT) {
module door_door()
{
if (door_position == DOOR_LEFT) {
translate([
frame_depth + door_to_frame,
frame_depth,
door_to_ground
])
rotate([0, 0, open_rotation])
cube([
door_width,
door_depth,
door_height
]);
}
if (door_position == DOOR_RIGHT) {
translate([
frame_depth + door_to_frame,
frame_depth,
door_to_ground
])
rotate([0, 0, open_rotation])
cube([
door_width,
door_depth,
door_height
]);
}
translate([
frame_depth + door_to_frame,
frame_depth,
door_to_ground
])
rotate([0, 0, open_rotation])
cube([
door_width,
door_depth,
door_height
]);
}
function full_width() =
door_width +
2 * door_to_frame +
2 * (frame_outer_list_width + frame_outer_receded_width);
function full_depth() =
door_depth +
2 * frame_depth;
function full_height() =
door_to_ground +
door_height +
door_to_frame +
frame_depth;
}

View File

@ -1,7 +0,0 @@
include <door.scad>
distance = 1150;
door();
translate([distance, 0, 0]) door(door_position = DOOR_RIGHT);

View File

@ -10,10 +10,10 @@ office_jacob_width = 3410;
bedroom_length = 2060;
bedroom_width = 3410;
frame_depth = 65;
frame_depth = 135;
hall_length = 2610;
hall_length_extra_office_jacob = 1040;// 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_width = 975;
@ -139,7 +139,11 @@ rectangle(
house_height
],
"red"
);
)
echo("House length =", house_length, ", width = ", house_width);
echo("Living diff length =", house_length - office_jacob_length - bedroom_length - livingroom_length_back);
echo(office_jacob_length, bedroom_length, livingroom_length_back);
module rectangle(start = [0, 0, 0], dimensions = [0, 0, 0], color)
{
@ -154,43 +158,4 @@ module rectangle(start = [0, 0, 0], dimensions = [0, 0, 0], color)
}
}
// Hallway door
translate([
kitchen_width + bathroom_width + 2* frame_depth,
livingroom_length_kitchen + 65, 0
]) color("white") door(-35);
// Bedroom door
translate([
house_width - bedroom_width - 1.5 * frame_depth,
house_length - bedroom_length - 2 * frame_depth - 150,
0
]) color("white")
rotate([0, 0, -90]) door(35);
// Office Jacob door
translate([
house_width - office_jacob_width - 1.5 * frame_depth,
house_length - hall_length_extra_office_jacob,
0
]) color("white")
rotate([0, 0, -90]) door(
open_rotation = -35,
door_position = DOOR_RIGHT
);
// Bathroom door
translate([
house_width - office_jacob_width - hall_width - frame_depth,
house_length - hall_to_bathroom_length - bathroom_length - frame_depth,
1
]) color("white") rotate([0, 0, 90]) door(door_position = DOOR_RIGHT);
// Main door
translate([
house_width - office_jacob_width - hall_width - 2 * frame_depth,
house_length - hall_length_extra_office_jacob - 0.5 * frame_depth,
1
]) color("green") rotate([0, 0, -90])
door();
color("white") door();