Exit Full View
Up

/Tools/TapeMeasureClip.foocad

TapeMeasureClip
FooCAD Source Code
/*
    I want to draw a large circle - a tape measure for the radius, and a garden cane to mark the
    center. This clip joins the two!

    The sizes are based on my "Toolbox" branded cheapo fat 5meter measure.

Print :
    Use up scraps of filament for this tiny print ;-)

Usage :
    Add 1cm or so to the measured length to account for the start of the tape being a little
    forward of the center of the garden cane.
*/

class TapeMeasureClip : Model {
    
    override fun build() : Shape3d {

        val width = 24
        val thickness = 2
        val gap = 3
        val gapZ = 4
        val height = 12
        val holeD = 18

        val ring = (Circle( holeD/2+3 ) - Circle( holeD/2 )).extrude(2)

        val lump = Cube( width+thickness, thickness*3+gap, height ).centerX().backTo(-holeD/2)
        val slot1 = Cube( lump.size.x, gap, height ).leftTo( lump.left + 2).backTo(lump.back-thickness).topTo(lump.top-3)
        val slot2 = Cube( lump.size.x, 10, gapZ ).leftTo( slot1.left ).backTo( slot1.back ).topTo( slot1.top )
        val support = Cube( 1, thickness*2, height ).rightTo(lump.right).frontTo(lump.front).color("Blue")

        
        val clip = ring.topTo( lump.top ) + lump - slot1 - slot2 + support
        return clip.mirrorZ().bottomTo(0)
    }
}