openscad is a bit head melting drawing 3d shapes .. but interesting ...
// garden ground level, grass
color("green")
square(900.0);
// paving slabs
color("grey") {
translate([0,0,0]) {
linear_extrude(21.0)
polygon(points=[[0,0],[0,290],
//cube([150,290,21.0]);
//cube([150+110,290-80,21.0]);
//cube([900,150,21.0]);
//translate([150+110,0,0])
// cube([90,290,21.0]);
// step down
//cube([150,220+225,1.0]);
// from end wall
//translate([0,220+225+350-
// cube([350,100,1.0]);
// all of lower part near back wall //linear_extrude(height,
linear_extrude(1)
polygon(points=[[0,0],[150,0],
}
}
// back wall
color("beige") {
translate([0,795,0])
cube([900,20,140.0]);
}
// side wall
color("beige") {
//translate([-20,0,0])
// rotate([0,-90,-90])
// cube([200,20,900]);
translate([0,0,0])
rotate([90,-90,-90])
linear_extrude(20)
polygon(points=[[0,0],[221,0],
}
// house wall transparent ish windows
rotate([0,-90,-90]) {
color([1,1,1,0.9])
//linear_extrude(2)
polygon(points=[[0,0],[294,0],
color([0.9,0.8,0.8,0.1])
//linear_extrude(2)
translate([0,12,0])
polygon(points=[[0,0],[269,0],
color([1,1,1,0.9])
//linear_extrude(2)
translate([0,232,0])
polygon(points=[[0,0],[294,0],
color([0.9,0.8,0.8,0.1])
//linear_extrude(2)
translate([0,257,0])
polygon(points=[[0,0],[269,0],
}
//tree
translate([75,445+115,0]) {
color("brown")
linear_extrude(300)
circle(15);
color("green")
linear_extrude(30)
circle(45);
color("red")
linear_extrude(7)
circle(55);
}
// roof-posts and roof
roofpostsy=280;
translate([0,0,0])
linear_extrude(220)
square(10);
//translate([130,0,0])
translate([237,0,0])
linear_extrude(220)
square(10);
translate([0,roofpostsy-10,0])
linear_extrude(200)
square(10);
translate([130,roofpostsy-10,
linear_extrude(200)
square(10);
// roof: transparent ish
color([0,0.5,0.5,0.3])
translate([0,0,220])
rotate([-4,0,0])
//square([150,290]);
polygon(points=[[0,0],[0,290],
//color([0.5,0.5,0,0.8]) cube(size=[10,10,10], center=true);
//color([0,0.5,0.5,0.3]) cube(size=[20,20,20], center=true);
// pergola posts
pery=445;
pery2=445+350+5;
perh=223;
perh0=200;
p0=[0,pery2,0]; // p0 lower corner post
p1=[0,pery,0];
p2=[90,pery,0];
p3=[210,pery+(255.0/2.0),0]; // p3 middle between p2 and p4 - no post
p4=[330,pery2-100,0];
p5=[330,pery2,0];
translate(p0)
linear_extrude(perh0)
square(10);
translate(p1)
linear_extrude(perh)
square(10);
//translate([130,pery-10,0])
translate(p2)
linear_extrude(perh)
square(10);
// no post at p3
translate(p4)
linear_extrude(perh)
square(10);
translate(p5)
linear_extrude(perh)
square(10);
// roof wood
translate([0,10,perh0]){
translate(p0){
color("red") // x back wall
rotate([0,-3,0])
rotate([-90,-90,-90])
linear_extrude(350)
square(10);
color([0.4,0.6,0])
rotate([-1,-2.7,0])
rotate([-90,-90,-107])
linear_extrude(370)
square(10);
color([0.2,0.8,0])
rotate([-2.2,-2.2,0]) // longest
rotate([-90,-90,-135])
linear_extrude(370)
square(10);
color([0.1,1,0])
translate([10,0,0])
rotate([-2.7,-1,0])
rotate([-90,-90,-166])
linear_extrude(387)
square(10);
color("green") // y side wall
translate([10,0,0])
rotate([-3,0,0])
rotate([-90,-90,180])
linear_extrude(377)
square(10);
}
}
// TODO connecting roof wood ends and maybe middle
// connect each post
translate(p1) translate([0,0,perh])
rotate([-90,-90,-90])
linear_extrude(150-20)
square(10);
//translate([130,pery-10,0])
translate(p2) translate([0,0,perh])
rotate([-90,-90,-45])
linear_extrude(150+30)
square(10);
translate(p3) translate([0,0,perh])
rotate([-90,-90,-45])
linear_extrude(150+30)
square(10);
translate(p4) translate([0,0,perh])
rotate([-90,-90,0])
linear_extrude(150-20)
square(10);
//translate(p5) translate([0,0,perh])
// rotate([-90,-90,0])
// linear_extrude(150)
// square(10);
echo(version=version());
// Written by Marius Kintel <marius@kintel.net>
//
// To the extent possible under law, the author(s) have dedicated all
// copyright and related and neighboring rights to this software to the
// public domain worldwide. This software is distributed without any
// warranty.
//
// You should have received a copy of the CC0 Public Domain
// Dedication along with this software.
// If not, see <http://creativecommons.org/
| 6 Feb 2022 perspective view from side of possible pergola and lean-to (North(house) is left) |
| 6 Feb 2022 plan view (overhead) of back garden, measurements of paving by house and ideas for pergola/roofing cover at back of garden (North is down) |
| 6 Feb 2022 perspective view of existing garden and ash tree with existing paving, showing wall heights, North is to left |
| Feb 6 2022 perspective view of existing garden with tracing paper overlay showing prospective gazebo and lean-to, North is left |
| side elevation and plan of simple lean to by house, North is down, East is left |
BUILD: 15 Oct 2022 concreted in foundation under slab and bolt down post holder. Measure and cut frame pieces and oil/varnish.
| Post holder bolted down on slab we lifted and put concrete foundation under, concrete(Post10) also used to re-grout slabs. North is bottom right. |
| Frame spars and light roof spars measured and cut to size and treated. |
| Frame basic crude jointed together and screwed, bungee cord just holding unattached spars for measuring. North/West is left. |
It rained a bit. Covered the new frame with old gazebo cover.
| Full Frame and roof spars nearly together. Supported by walls on 2 sides and post. North is left. |
BUILD: 31 Oct corrugated transparent perspex screwed onto roof with help of Kate's hand drills, real drill fell in water bucket! Rainy day not ideal. Kate helped me. Yoga mats and need to go very gently on top of the roof. Finished in the dark. NOTE FOR FUTURE: try and pull the very thin and light sheets away tightly and screw down tight. On edges now we keep some sandbags to help stop wind cracking plastic (2 years later Feb 2024).













