FooCAD Source Codeimport static uk.co.nickthecoder.foocad.layout.v1.Layout2d.*
import static uk.co.nickthecoder.foocad.layout.v1.Layout3d.*
/**
* Covers header pins (primarily for the Raspberry Pi, but can be used elsewhere.
*
*/
class PinHeaderCover : Model {
val spacing = 2.54
val height = 6.0
val thickness = 0.8
val baseThickness = 0.0
val slack = 0.2
val across = 20
val down = 2
override fun build() : Shape3d {
val pins = Cube( 1, 1, height )
.repeatX( across, spacing)
.repeatY( down, spacing)
.centerXY()
.previewOnly()
val base = Square( across * spacing + slack, down * spacing + slack )
.center()
val sides = (base - base.offset(-thickness)).extrude( height )
return if (baseThickness > 0) {
pins + sides + base.extrude( baseThickness )
} else {
pins + sides
}
}
}