Exit Full View
Up

/Bike/FoldingBox2.foocad

FoldingBox2
FooCAD Source Code
class FoldingBox2 : Model {

    var size = Vector3( 300, 500, 250 )
    var thickness = 9


    meth hinge( length : double ) : Shape3d {
        return Circle( thickness/2 ).extrude( length ).rotateY(90)
            .center()
    }

    override fun build() : Shape3d {
        val base = Square( size.x, size.y ).center()
            .extrude( thickness )
            .color("Green")

        val end = Square( size.x, size.z ).centerX()
            .extrude( thickness )
            .rotateX(90)
            .frontTo( base.front ).bottomTo( base.top + thickness ) +
            hinge( size.x ).bottomTo( base.top ).frontTo( base.front )
        val ends = end.backTo( base.back ).also()

        return base + ends
    }

}