import uk.co.nickthecoder.foocad.screws.v3.* import uk.co.nickthecoder.foocad.smartextrusion.v1.* import static uk.co.nickthecoder.foocad.smartextrusion.v1.SmartExtrusion.* class Footwell : Model { var diameter = 11 var thickness = 3 override fun build() : Shape3d { val inside = Circle( diameter / 2 ) val outside = inside.offset( thickness ) val forHole = Circle( 6 ).frontTo( diameter/2 + thickness/2 ) val hole = Countersink().recess(2).topTo( 5 ).centerYTo( forHole.middle.y ) val main = (outside.hull(forHole) - inside).smartExtrude( thickness ) .top( Fillet( thickness/2 ) ) return main - hole } }