FooCAD Source Codeimport static uk.co.nickthecoder.foocad.extras.v1.Extras.*
import static uk.co.nickthecoder.foocad.layout.v1.Layout2d.*
import static uk.co.nickthecoder.foocad.layout.v1.Layout3d.*
class AdhesiveSpreader : Model {
@Custom
var size = Vector3( 70, 50, 2 )
@Custom
var toothSize = Vector2( 5, 3 )
@Custom
var square = false
override fun build() : Shape3d {
val body = Square( size.x, size.y ).center()
.roundCorner(3,5)
.roundCorner(2,5)
.extrude( size.z )
val teeth = if (square) {
Square( toothSize ).tileXWithin( size.x, toothSize.x )
} else {
Triangle( toothSize.x, toothSize.y, toothSize.x /2 )
.roundCorner(2,0.5,1)
.mirrorY()
.tileXWithin( size.x, 1 )
}.centerX().backTo( body.front ).extrude( size.z )
return body + teeth
}
}