move (and vastly simplify) peg placement on plate
This commit is contained in:
parent
32ae9dedea
commit
058e35ce1e
BIN
hjklbox/hjklbox
BIN
hjklbox/hjklbox
Binary file not shown.
|
@ -6,11 +6,11 @@ const (
|
||||||
PLATE_THICKNESS = 2.825
|
PLATE_THICKNESS = 2.825
|
||||||
TOP_THICKNESS = 3.175 // 1/8th inch for possible thin acrylic top
|
TOP_THICKNESS = 3.175 // 1/8th inch for possible thin acrylic top
|
||||||
BOTTOM_THICKNESS = 20 - PLATE_THICKNESS - TOP_THICKNESS
|
BOTTOM_THICKNESS = 20 - PLATE_THICKNESS - TOP_THICKNESS
|
||||||
PLATE_WIDTH = 218
|
PLATE_WIDTH = 218.0
|
||||||
PLATE_HEIGHT = 130
|
PLATE_HEIGHT = 130.0
|
||||||
TOLERANCE = 8
|
TOLERANCE = 8.0
|
||||||
CABLE_HEAD_HEIGHT = 6
|
CABLE_HEAD_HEIGHT = 6.0
|
||||||
CABLE_HEAD_WIDTH = 10
|
CABLE_HEAD_WIDTH = 10.0
|
||||||
USB_DAUGHTERBOARD_HEIGHT = 12.6
|
USB_DAUGHTERBOARD_HEIGHT = 12.6
|
||||||
USB_DAUGHTERBOARD_LENGTH = 21.4
|
USB_DAUGHTERBOARD_LENGTH = 21.4
|
||||||
USB_DAUGHTERBOARD_THICKNESS = 4.7 // includes usb jack
|
USB_DAUGHTERBOARD_THICKNESS = 4.7 // includes usb jack
|
||||||
|
@ -111,35 +111,26 @@ func bottom() sdf.SDF3 {
|
||||||
bottom2D = sdf.Difference2D(bottom2D, usbCutoutPeg2D)
|
bottom2D = sdf.Difference2D(bottom2D, usbCutoutPeg2D)
|
||||||
|
|
||||||
bottom := sdf.Extrude3D(bottom2D, PLATE_THICKNESS)
|
bottom := sdf.Extrude3D(bottom2D, PLATE_THICKNESS)
|
||||||
|
pegCount := 4
|
||||||
|
pegWall, _ := sdf.Circle2D(M2_SCREW_HOLE_DIAMETER)
|
||||||
pegHole, _ := sdf.Circle2D(M2_SCREW_HOLE_DIAMETER / 2)
|
pegHole, _ := sdf.Circle2D(M2_SCREW_HOLE_DIAMETER / 2)
|
||||||
pegHoles := make([]sdf.SDF2, PICO_PEG_HEIGHT)
|
pegHoles := make([]sdf.SDF2, pegCount)
|
||||||
for i := range pegHoles {
|
pegWalls := make([]sdf.SDF2, pegCount)
|
||||||
|
pegs := make([]sdf.SDF3, pegCount)
|
||||||
|
for i := 0; i < pegCount; i++ {
|
||||||
pegHoles[i] = pegHole
|
pegHoles[i] = pegHole
|
||||||
|
pegWalls[i] = pegWall
|
||||||
|
pegs[i] = sdf.Extrude3D(sdf.Difference2D(pegWall, pegHole), PICO_PEG_HEIGHT)
|
||||||
}
|
}
|
||||||
pegHoles[0] = sdf.Transform2D(pegHoles[0], sdf.Translate2d(sdf.V2{X: 47 / 2, Y: 11.4 / 2})) //pico mounting hole spacing
|
pegs[0] = sdf.Transform3D(pegs[0], sdf.Translate3d(sdf.V3{X: 47.5 / 2, Y: 11.4 / 2, Z: 0})) // approximate spacing of pico holes
|
||||||
pegHoles[1] = sdf.Transform2D(pegHoles[1], sdf.Translate2d(sdf.V2{X: 47 / 2, Y: -11.4 / 2})) //pico mounting hole spacing
|
pegs[1] = sdf.Transform3D(pegs[1], sdf.Translate3d(sdf.V3{X: 47.5 / 2, Y: -11.4 / 2, Z: 0}))
|
||||||
pegHoles[2] = sdf.Transform2D(pegHoles[2], sdf.Translate2d(sdf.V2{X: -47 / 2, Y: -11.4 / 2})) //pico mounting hole spacing
|
pegs[2] = sdf.Transform3D(pegs[2], sdf.Translate3d(sdf.V3{X: -47.5 / 2, Y: -11.4 / 2, Z: 0}))
|
||||||
pegHoles[3] = sdf.Transform2D(pegHoles[3], sdf.Translate2d(sdf.V2{X: -47 / 2, Y: 11.4 / 2})) //pico mounting hole spacing
|
pegs[3] = sdf.Transform3D(pegs[3], sdf.Translate3d(sdf.V3{X: -47.5 / 2, Y: 11.4 / 2, Z: 0}))
|
||||||
|
|
||||||
peg, _ := sdf.Circle2D(M2_SCREW_HOLE_DIAMETER)
|
picoMount := sdf.Union3D(pegs...)
|
||||||
pegs := make([]sdf.SDF2, 4)
|
picoMount = sdf.Transform3D(picoMount, sdf.Translate3d(sdf.V3{X: PLATE_WIDTH / 4, Y: -PLATE_HEIGHT / 3, Z: PLATE_THICKNESS}))
|
||||||
for i := range pegs {
|
|
||||||
pegs[i] = peg
|
|
||||||
}
|
|
||||||
pegs[0] = sdf.Transform2D(pegs[0], sdf.Translate2d(sdf.V2{X: 47 / 2, Y: 11.4 / 2})) //pico mounting hole spacing
|
|
||||||
pegs[1] = sdf.Transform2D(pegs[1], sdf.Translate2d(sdf.V2{X: 47 / 2, Y: -11.4 / 2})) //pico mounting hole spacing
|
|
||||||
pegs[2] = sdf.Transform2D(pegs[2], sdf.Translate2d(sdf.V2{X: -47 / 2, Y: -11.4 / 2})) //pico mounting hole spacing
|
|
||||||
pegs[3] = sdf.Transform2D(pegs[3], sdf.Translate2d(sdf.V2{X: -47 / 2, Y: 11.4 / 2})) //pico mounting hole spacing
|
|
||||||
|
|
||||||
mount2D := sdf.Union2D(pegs...)
|
bottom = sdf.Union3D(bottom, picoMount)
|
||||||
mountingHoles2D := sdf.Union2D(pegHoles...)
|
|
||||||
mount2D = sdf.Difference2D(mount2D, mountingHoles2D)
|
|
||||||
mount2D = sdf.Transform2D(mount2D, sdf.Translate2d(sdf.V2{X: bottom2D.BoundingBox().Max.X / 2, Y: -bottom2D.BoundingBox().Max.X / 3}))
|
|
||||||
mount := sdf.Extrude3D(mount2D, 4) // M2x4mm screw holes
|
|
||||||
mount = sdf.Transform3D(mount, sdf.Translate3d(sdf.V3{X: 0, Y: 0, Z: PLATE_THICKNESS}))
|
|
||||||
|
|
||||||
bottom = sdf.Union3D(bottom, mount)
|
|
||||||
|
|
||||||
return bottom
|
return bottom
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue