Compare commits

...

3 commits

Author SHA1 Message Date
J
76e6e23c7e Merge branch 'tmp' 2019-02-03 13:04:18 +01:00
J
02d865c730 initial commit 2019-02-03 11:22:38 +01:00
J
ff06d47307 initial commit 2019-02-03 11:17:50 +01:00

118
polyhaus.scad Normal file
View file

@ -0,0 +1,118 @@
// The Parameters of the House
// all in mm
level=3500;
wallstrength=500;
ceilingstrength=300;
floorstrength=200;
ringdiameter=14000;
ringstrength=2500;
garagediameter=ringdiameter+2000;
garageheigth=4000;
sides=6;
// The House Modules
module ngon(
diameter=5,
height=level)
{
cylinder(
h=height,
r=diameter/2,
$fn=6
);
};
module garage(
garageheigth=garageheigth,
garagediameter=garagediameter)
{
//color([0.1,0.1,1])
#translate(
[0,0,-garageheigth]) {
living(
floorheight=2*floorheigth,
ceilingheigth=2*ceilingheigth
)
};
};
};
module ring(
ringdiameter=ringdiameter,
ringstrength=ringstrength,
ringheigth=level
)
{
difference() {
ngon(
height=ringheigth,
diameter=ringdiameter,
$fn=6);
%translate ([0,0, -1]) ngon(
height=ringheigth+2,
diameter=ringdiameter-ringstrength,
$fn=6);
};
};
module living(
ringdiameter=ringdiameter,
ringstrength=ringstrength,
ringheigth=level,
floorstrength=floorstrength,
ceilingstrength=ceilingstrength,
wallstrength=wallstrength,
{
#difference() {
%ring();
translate([0,0,+floorstrength])
ring(ringdiameter=ringdiameter-wallstrength,
ringstrength=ringstrength-2*wallstrength,
ringheigth=level-floorstrength-ceilingstrength);
};
};
outer_wall_woodwidth=50;
outer_wall_strawwidth=50;
module outer_wall(
ringdiameter=ringdiameter,
ringstrength=ringstrength,
ringheigth=level,
floorstrength=floorstrength,
ceilingstrength=ceilingstrength)
{
side_length=;
radius_in_circle=;
elements=floor(sidelength/(outer_wall_woodwidth+outer_wall_strawwidth));
for (side in [1:sides])
{
if (elements%2==1)
{
//center the middle one
for (spar in [0:elements])
{
translate (
[0,
radius_inner_circle,
spar*(outer_wall_woodwidth+outer_wall_strawwidth
]) spar();
translate (
[0,
radius_inner_circle,
-spar*(outer_wall_woodwidth+outer_wall_strawwidth
]) spar();
}
}
}
};
living();
translate([0,0,level]) living();
garage();