FooCAD Source Codeimport uk.co.nickthecoder.foocad.smartextrusion.v1.*
import static uk.co.nickthecoder.foocad.smartextrusion.v1.SmartExtrusion.*
class PullupHandle : Model {
val thickness = 20
meth shape() : Shape2d {
val topCurve = Circle(14).translateX(5)
val bottomCurve = Circle(20).translate(40, -40)
return topCurve.mirrorX().also().hull( bottomCurve.mirrorX().also() )
}
override fun build() : Shape3d {
val inside = shape()
val shape = inside.offset( thickness ) - inside
val strap = Cube( 25, 100, 2 ).centerX().previewOnly()
val main = shape.smartExtrude(thickness)
.top( Fillet( thickness/2 ) )
.bottom( roundedChamfer( thickness/2 ) )
return main + strap
}
}