Exit Full View
Up

/House/NoJunkMail.foocad

NoJunkMail
FooCAD Source Code
import static uk.co.nickthecoder.foocad.changefilament.v1.ChangeFilament.*

class NoJunkMail : Model, PostProcessor {
    
    var thickness = 0.6

    var totalThickness = 1.2

    override fun build() : Shape3d {
        val text = Text( "No Papers\nNo Junk Mail\nNo Cold Callers", BOLD )
            .hAlign(HAlignment.CENTER)

        val background = PolygonBuilder().apply {
            moveTo( 65, -30 )
            lineTo( 40, 30 )
            lineTo( -40, 30 )
            lineTo( -65, -30 )
        }.build().roundAllCorners(10)

        return text.center().extrude( totalThickness ).color( "Black" ) +
            (background - background.offset( -2 )).extrude( totalThickness ).color("Black") +
            background.extrude( thickness )
    }

    override fun postProcess(gcode: GCode) {
        pauseAtHeight( gcode, thickness+0.1, "Change Filament" )
    }
}