FooCAD Source Codeimport uk.co.nickthecoder.foocad.screws.v3.*
import uk.co.nickthecoder.foocad.smartextrusion.v1.*
import static uk.co.nickthecoder.foocad.smartextrusion.v1.SmartExtrusion.*
class TroughSlider2 : Model {
var size = Vector3( 20, 40, 3 )
var overlap = 15
var round = 2
var countersink = Countersink()
override fun build() : Shape3d {
val base = Square( size.x + overlap, size.y ).center()
.roundAllCorners( round )
.smartExtrude( size.z )
val half = Square( size.x, size.y ).centerY()
.roundAllCorners( round )
.smartExtrude( size.z * 2 )
val holes = countersink.centerXTo( half.middle.x )
.mirrorZ()
.translateY( size.y * 0.3 )
.mirrorY().also()
return base + half - holes
}
}