FooCAD Source Codeimport static uk.co.nickthecoder.foocad.layout.Debug.*
/**
Creates outlines of a single letter.
There is a better version Outline2.foocad.
Note, there is a similar script House/HouseNumbers.foocad,
which has screw attachments.
I created this for my front door.
WARNING. This may fail for large widths and bezels. The *inside* of the shape
Only works for a single character. Also fails for characters with holes. Ooops.
*/
class Outline : Model {
@Custom
var letter = "0"
@Custom
var style = TextStyle( "Liberation Sans", 90)
@Custom
var thickness = 4.0
@Custom
var width = 1.0
@Custom
var bevel = 2.0
override fun build() : Shape3d {
val text = Text( letter, style )
val result = ExtrusionBuilder().apply {
crossSection( text.offset(width + bevel*2) )
forward( thickness )
crossSection( -bevel )
crossSection( -width )
forward( -thickness )
crossSection( -bevel )
}.buildClosed()
return result
}
}