FooCAD Source Codeimport static uk.co.nickthecoder.foocad.along.v1.Along.*
import static uk.co.nickthecoder.foocad.layout.Layout2d.*
import static uk.co.nickthecoder.foocad.layout.Layout3d.*
include MiniShed.foocad
include Container.foocad
/*
How I could use the MiniShed and containers.
Use it for spades, forks, shovels etc. Pruning cutters and seceteurs on the door?
Consider making two wheels for each container, so that they can be wheeled if lifted
at one end.
Ideally the back gate would open the other way, so that wood could poke through
when cutting, and I could get out without moving the container.
Maybe the tops are made from edged plywood, covered in roofing felt.
Can't push wood across it though, and any punctures would be annoying.
Maybe edged plywood, with double thick edges, sealed, painted, then epoxy coating.
Maybe the shorter one is TWO - one for the table saw, the other for the mitre saw.
Plane/cut a LARGE chamfer on the lid, so that wood fed onto it will never jam against the edge.
*/
class MiniShedDemo : Model {
override fun build() : Shape3d {
val workbench = Container().apply {
length = 1300
width = 450
ringCount = 5
}.build()
.rotateZ(90)
.toOriginX()
.translateY(-150)
.bottomTo(0)
val mitreTable = Container().apply {
length = 900
width = 700
ringCount = 4
}.build()
.rotateZ(90)
.toOriginX()
.translateY( -1300 )
.bottomTo(0)
val shed = MiniShed().apply {
width = 1100
depth = 600
}.build().toOriginX().translateX(710)
val base = Cube( 1900, 2800, 1 ).color( "Red" ).darker()
.translateY( -2200 )
return base +
shed +
workbench +
mitreTable
}
}