remove commented out code, move test functions to tests.go
This commit is contained in:
parent
25b2229ea4
commit
46c989d231
125
hjklbox/plate.go
125
hjklbox/plate.go
|
@ -61,8 +61,6 @@ func top() sdf.SDF3 {
|
|||
buttonRow = sdf.Transform2D(buttonRow, sdf.Translate2d(sdf.V2{X: top2D.BoundingBox().Max.X / 2, Y: top2D.BoundingBox().Max.Y / 1.25}))
|
||||
top2D = sdf.Difference2D(top2D, buttonRow)
|
||||
|
||||
// hjkl := buttonRow
|
||||
|
||||
corners := cornerHoles(top2D, M4screwHole())
|
||||
top2D = sdf.Difference2D(top2D, corners)
|
||||
|
||||
|
@ -83,65 +81,13 @@ func walls() sdf.SDF3 {
|
|||
bottom2D = sdf.Union2D(bottom2D, cornerScrewHolders)
|
||||
bottom2D = sdf.Difference2D(bottom2D, cornerScrews)
|
||||
cavity2D = sdf.Difference2D(cavity2D, cornerScrewHolders)
|
||||
/*
|
||||
pegHole, _ := sdf.Circle2D(M2_SCREW_HOLE_DIAMETER / 2)
|
||||
pegHoles := make([]sdf.SDF2, PICO_PEG_HEIGHT)
|
||||
for i := range pegHoles {
|
||||
pegHoles[i] = pegHole
|
||||
}
|
||||
pegHoles[0] = sdf.Transform2D(pegHoles[0], sdf.Translate2d(sdf.V2{X: 47 / 2, Y: 11.4 / 2})) //pico mounting hole spacing
|
||||
pegHoles[1] = sdf.Transform2D(pegHoles[1], sdf.Translate2d(sdf.V2{X: 47 / 2, Y: -11.4 / 2})) //pico mounting hole spacing
|
||||
pegHoles[2] = sdf.Transform2D(pegHoles[2], sdf.Translate2d(sdf.V2{X: -47 / 2, Y: -11.4 / 2})) //pico mounting hole spacing
|
||||
pegHoles[3] = sdf.Transform2D(pegHoles[3], sdf.Translate2d(sdf.V2{X: -47 / 2, Y: 11.4 / 2})) //pico mounting hole spacing
|
||||
|
||||
peg, _ := sdf.Circle2D(M2_SCREW_HOLE_DIAMETER)
|
||||
pegs := make([]sdf.SDF2, 4)
|
||||
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...)
|
||||
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: -0.1}))
|
||||
// bottom2D = sdf.Union2D(bottom2D, mount)
|
||||
|
||||
bottom := sdf.Extrude3D(bottom2D, BOTTOM_THICKNESS)
|
||||
bottom = sdf.Union3D(bottom, mount)
|
||||
|
||||
cavity2D = sdf.Elongate2D(cavity2D, sdf.V2{X: 1, Y: 1})
|
||||
floor := sdf.Extrude3D(cavity2D, PLATE_THICKNESS)
|
||||
floor = sdf.Transform3D(floor, sdf.Translate3d(sdf.V3{X: 0, Y: 0, Z: -(bottom.BoundingBox().Max.Z*2+floor.BoundingBox().Max.Z*2)/4 - 0.50}))
|
||||
bottom = sdf.Union3D(bottom, floor)
|
||||
*/
|
||||
/*cableHole2D := sdf.Box2D(sdf.V2{X: CABLE_HEAD_WIDTH, Y: CABLE_HEAD_HEIGHT}, 0)
|
||||
cableHole := sdf.Extrude3D(cableHole2D, TOLERANCE)
|
||||
cableHole = sdf.Transform3D(cableHole, sdf.RotateX(sdf.DtoR(90)))
|
||||
cableHole = sdf.Transform3D(cableHole, sdf.Translate3d(sdf.V3{X: 0, Y: (bottom.BoundingBox().Max.Y + cableHole.BoundingBox().Max.Y) - cableHole.BoundingBox().Max.Y*2, Z: cableHole.BoundingBox().Max.Z / 3}))
|
||||
bottom = sdf.Difference3D(bottom, cableHole)*/
|
||||
|
||||
bottom := sdf.Extrude3D(bottom2D, BOTTOM_THICKNESS-PLATE_THICKNESS)
|
||||
|
||||
usbCutout, _ := sdf.Box3D(sdf.V3{X: USB_DAUGHTERBOARD_LENGTH + 0.4, Y: USB_DAUGHTERBOARD_HEIGHT + 0.4, Z: USB_DAUGHTERBOARD_THICKNESS + 10}, 0)
|
||||
usbCutout = sdf.Transform3D(usbCutout, sdf.Translate3d(sdf.V3{X: 0, Y: (cavity2D.BoundingBox().Max.Y + usbCutout.BoundingBox().Max.Y) - usbCutout.BoundingBox().Max.Y*2 + 2.6, Z: 2})) // 5 for m3x5 screw
|
||||
bottom = sdf.Difference3D(bottom, usbCutout)
|
||||
|
||||
/*usbCutoutPeg2D := M3ScrewHole() // m2 hole
|
||||
usbCutoutPeg := sdf.Extrude3D(usbCutoutPeg2D, BOTTOM_THICKNESS) // thickness of daughtboard pcb
|
||||
usbCutoutPeg = sdf.Transform3D(usbCutoutPeg, sdf.Translate3d(sdf.V3{X: 7.8, Y: (cavity2D.BoundingBox().Max.Y + usbCutoutPeg.BoundingBox().Max.Y + 2) - usbCutoutPeg.BoundingBox().Max.Y*2, Z: -BOTTOM_THICKNESS / 2}))
|
||||
usbCutoutPeg2 := sdf.Transform3D(usbCutoutPeg, sdf.Translate3d(sdf.V3{X: -15.6, Y: 0, Z: 0}))
|
||||
|
||||
usbCutoutPeg = sdf.Union3D(usbCutoutPeg, usbCutoutPeg2)
|
||||
bottom = sdf.Difference3D(bottom, usbCutoutPeg)*/
|
||||
|
||||
usbPortHole, _ := sdf.Box3D(sdf.V3{X: USB_CONNECTOR_LENGTH + 0.5, Y: USB_CONNECTOR_HEIGHT + 0.5, Z: USB_CONNECTOR_THICKNESS + 0.5}, 0)
|
||||
// usbPortHole = sdf.Transform3D(usbPortHole, sdf.RotateZ(sdf.DtoR(90)))
|
||||
usbPortHole = sdf.Transform3D(usbPortHole, sdf.Translate3d(sdf.V3{X: 0, Y: PLATE_HEIGHT / 2, Z: 0})) // Z is thickness of board
|
||||
|
||||
bottom = sdf.Difference3D(bottom, usbPortHole)
|
||||
|
@ -164,9 +110,6 @@ func bottom() sdf.SDF3 {
|
|||
|
||||
bottom2D = sdf.Difference2D(bottom2D, usbCutoutPeg2D)
|
||||
|
||||
// usbCutoutPeg := sdf.Extrude3D(usbCutoutPeg2D, BOTTOM_THICKNESS) // thickness of daughtboard pcb
|
||||
// usbCutoutPeg = sdf.Transform3D(usbCutoutPeg, sdf.Translate3d(sdf.V3{X: 7.8, Y: (cavity2D.BoundingBox().Max.Y + usbCutoutPeg.BoundingBox().Max.Y + 2) - usbCutoutPeg.BoundingBox().Max.Y*2, Z: -BOTTOM_THICKNESS / 2}))
|
||||
// usbCutoutPeg2 := sdf.Transform3D(usbCutoutPeg, sdf.Translate3d(sdf.V3{X: -15.6, Y: 0, Z: 0}))
|
||||
bottom := sdf.Extrude3D(bottom2D, PLATE_THICKNESS)
|
||||
|
||||
pegHole, _ := sdf.Circle2D(M2_SCREW_HOLE_DIAMETER / 2)
|
||||
|
@ -236,71 +179,3 @@ func lengthHoles(input, hole sdf.SDF2) sdf.SDF2 {
|
|||
|
||||
return sdf.Union2D(cornerHoles...)
|
||||
}
|
||||
|
||||
// 0 is perfect
|
||||
/*func usbHoleTest() sdf.SDF3 {
|
||||
base2D := sdf.Box2D(sdf.V2{X: 50, Y: 10}, 0)
|
||||
holeDimensions := sdf.V2{X: USB_CONNECTOR_LENGTH, Y: USB_CONNECTOR_THICKNESS}
|
||||
connectors := make([]sdf.SDF2, 5)
|
||||
|
||||
for i := range connectors {
|
||||
connectors[i] = sdf.Box2D(holeDimensions, float64(i))
|
||||
connectors[i] = sdf.Transform2D(connectors[i], sdf.Translate2d(sdf.V2{X: (connectors[0].BoundingBox().Max.X*2 + 0.8) * float64(i)}))
|
||||
}
|
||||
holes := sdf.Union2D(connectors...)
|
||||
holes = sdf.Transform2D(holes, sdf.Translate2d(sdf.V2{X: -19, Y: 0}))
|
||||
base2D = sdf.Difference2D(base2D, holes)
|
||||
return sdf.Extrude3D(base2D, 1.2)
|
||||
} */
|
||||
|
||||
// i measured 45.6 between holes instead of 47mm, lets try some sizes I guess?
|
||||
func pegholeTest(pegDistances sdf.V2) sdf.SDF3 {
|
||||
plane2D := sdf.Box2D(sdf.V2{X: 50, Y: 30}, 0)
|
||||
pegHole, _ := sdf.Circle2D(M2_SCREW_HOLE_DIAMETER / 2)
|
||||
pegHoles := make([]sdf.SDF2, 4)
|
||||
for i := range pegHoles {
|
||||
pegHoles[i] = pegHole
|
||||
}
|
||||
pegHoles[0] = sdf.Transform2D(pegHoles[0], sdf.Translate2d(sdf.V2{X: pegDistances.X / 2, Y: pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
pegHoles[1] = sdf.Transform2D(pegHoles[1], sdf.Translate2d(sdf.V2{X: pegDistances.X / 2, Y: -pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
pegHoles[2] = sdf.Transform2D(pegHoles[2], sdf.Translate2d(sdf.V2{X: -pegDistances.X / 2, Y: -pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
pegHoles[3] = sdf.Transform2D(pegHoles[3], sdf.Translate2d(sdf.V2{X: -pegDistances.X / 2, Y: pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
|
||||
peg, _ := sdf.Circle2D(M2_SCREW_HOLE_DIAMETER)
|
||||
pegs := make([]sdf.SDF2, 4)
|
||||
for i := range pegs {
|
||||
pegs[i] = peg
|
||||
}
|
||||
pegs[0] = sdf.Transform2D(pegs[0], sdf.Translate2d(sdf.V2{X: pegDistances.X / 2, Y: pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
pegs[1] = sdf.Transform2D(pegs[1], sdf.Translate2d(sdf.V2{X: pegDistances.X / 2, Y: -pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
pegs[2] = sdf.Transform2D(pegs[2], sdf.Translate2d(sdf.V2{X: -pegDistances.X / 2, Y: -pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
pegs[3] = sdf.Transform2D(pegs[3], sdf.Translate2d(sdf.V2{X: -pegDistances.X / 2, Y: pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
|
||||
mountingHoles2D := sdf.Union2D(pegHoles...)
|
||||
mounts2D := sdf.Union2D(pegs...)
|
||||
mounts2D = sdf.Difference2D(mounts2D, mountingHoles2D)
|
||||
|
||||
mounts := sdf.Extrude3D(mounts2D, PICO_PEG_HEIGHT)
|
||||
plane := sdf.Extrude3D(plane2D, PICO_PEG_HEIGHT/2)
|
||||
|
||||
mounts = sdf.Transform3D(mounts, sdf.Translate3d(sdf.V3{X: 0, Y: 0, Z: PICO_PEG_HEIGHT / 4}))
|
||||
|
||||
return sdf.Union3D(mounts, plane)
|
||||
}
|
||||
|
||||
// usb hole is too low, needs to be a bit higher
|
||||
func usbmountHeightTest() sdf.SDF3 {
|
||||
box, _ := sdf.Box3D(sdf.V3{X: 2, Y: 15, Z: BOTTOM_THICKNESS}, 0)
|
||||
floor, _ := sdf.Box3D(sdf.V3{X: 12, Y: 15, Z: 1}, 0)
|
||||
|
||||
floor = sdf.Transform3D(floor, sdf.Translate3d(sdf.V3{X: 5, Y: 0, Z: (-BOTTOM_THICKNESS / 2) - (-floor.BoundingBox().Max.Z)}))
|
||||
|
||||
usbPortHole, _ := sdf.Box3D(sdf.V3{X: USB_CONNECTOR_LENGTH + 0.5, Y: USB_CONNECTOR_HEIGHT + 0.5, Z: USB_CONNECTOR_THICKNESS + 0.5}, 0)
|
||||
usbPortHole = sdf.Transform3D(usbPortHole, sdf.Translate3d(sdf.V3{X: 0, Y: 0, Z: 0})) // Z is thickness of board
|
||||
usbPortHole = sdf.Transform3D(usbPortHole, sdf.RotateZ(sdf.DtoR(90)))
|
||||
|
||||
box = sdf.Difference3D(box, usbPortHole)
|
||||
box = sdf.Union3D(box, floor)
|
||||
|
||||
return box
|
||||
}
|
||||
|
|
|
@ -0,0 +1,69 @@
|
|||
package main
|
||||
|
||||
// 0 is perfect
|
||||
func usbHoleTest() sdf.SDF3 {
|
||||
base2D := sdf.Box2D(sdf.V2{X: 50, Y: 10}, 0)
|
||||
holeDimensions := sdf.V2{X: USB_CONNECTOR_LENGTH, Y: USB_CONNECTOR_THICKNESS}
|
||||
connectors := make([]sdf.SDF2, 5)
|
||||
|
||||
for i := range connectors {
|
||||
connectors[i] = sdf.Box2D(holeDimensions, float64(i))
|
||||
connectors[i] = sdf.Transform2D(connectors[i], sdf.Translate2d(sdf.V2{X: (connectors[0].BoundingBox().Max.X*2 + 0.8) * float64(i)}))
|
||||
}
|
||||
holes := sdf.Union2D(connectors...)
|
||||
holes = sdf.Transform2D(holes, sdf.Translate2d(sdf.V2{X: -19, Y: 0}))
|
||||
base2D = sdf.Difference2D(base2D, holes)
|
||||
return sdf.Extrude3D(base2D, 1.2)
|
||||
}
|
||||
|
||||
// i measured 45.6 between holes instead of 47mm, lets try some sizes I guess?
|
||||
func pegholeTest(pegDistances sdf.V2) sdf.SDF3 {
|
||||
plane2D := sdf.Box2D(sdf.V2{X: 50, Y: 30}, 0)
|
||||
pegHole, _ := sdf.Circle2D(M2_SCREW_HOLE_DIAMETER / 2)
|
||||
pegHoles := make([]sdf.SDF2, 4)
|
||||
for i := range pegHoles {
|
||||
pegHoles[i] = pegHole
|
||||
}
|
||||
pegHoles[0] = sdf.Transform2D(pegHoles[0], sdf.Translate2d(sdf.V2{X: pegDistances.X / 2, Y: pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
pegHoles[1] = sdf.Transform2D(pegHoles[1], sdf.Translate2d(sdf.V2{X: pegDistances.X / 2, Y: -pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
pegHoles[2] = sdf.Transform2D(pegHoles[2], sdf.Translate2d(sdf.V2{X: -pegDistances.X / 2, Y: -pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
pegHoles[3] = sdf.Transform2D(pegHoles[3], sdf.Translate2d(sdf.V2{X: -pegDistances.X / 2, Y: pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
|
||||
peg, _ := sdf.Circle2D(M2_SCREW_HOLE_DIAMETER)
|
||||
pegs := make([]sdf.SDF2, 4)
|
||||
for i := range pegs {
|
||||
pegs[i] = peg
|
||||
}
|
||||
pegs[0] = sdf.Transform2D(pegs[0], sdf.Translate2d(sdf.V2{X: pegDistances.X / 2, Y: pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
pegs[1] = sdf.Transform2D(pegs[1], sdf.Translate2d(sdf.V2{X: pegDistances.X / 2, Y: -pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
pegs[2] = sdf.Transform2D(pegs[2], sdf.Translate2d(sdf.V2{X: -pegDistances.X / 2, Y: -pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
pegs[3] = sdf.Transform2D(pegs[3], sdf.Translate2d(sdf.V2{X: -pegDistances.X / 2, Y: pegDistances.Y / 2})) //pico mounting hole spacing
|
||||
|
||||
mountingHoles2D := sdf.Union2D(pegHoles...)
|
||||
mounts2D := sdf.Union2D(pegs...)
|
||||
mounts2D = sdf.Difference2D(mounts2D, mountingHoles2D)
|
||||
|
||||
mounts := sdf.Extrude3D(mounts2D, PICO_PEG_HEIGHT)
|
||||
plane := sdf.Extrude3D(plane2D, PICO_PEG_HEIGHT/2)
|
||||
|
||||
mounts = sdf.Transform3D(mounts, sdf.Translate3d(sdf.V3{X: 0, Y: 0, Z: PICO_PEG_HEIGHT / 4}))
|
||||
|
||||
return sdf.Union3D(mounts, plane)
|
||||
}
|
||||
|
||||
// usb hole is too low, needs to be a bit higher
|
||||
func usbmountHeightTest() sdf.SDF3 {
|
||||
box, _ := sdf.Box3D(sdf.V3{X: 2, Y: 15, Z: BOTTOM_THICKNESS}, 0)
|
||||
floor, _ := sdf.Box3D(sdf.V3{X: 12, Y: 15, Z: 1}, 0)
|
||||
|
||||
floor = sdf.Transform3D(floor, sdf.Translate3d(sdf.V3{X: 5, Y: 0, Z: (-BOTTOM_THICKNESS / 2) - (-floor.BoundingBox().Max.Z)}))
|
||||
|
||||
usbPortHole, _ := sdf.Box3D(sdf.V3{X: USB_CONNECTOR_LENGTH + 0.5, Y: USB_CONNECTOR_HEIGHT + 0.5, Z: USB_CONNECTOR_THICKNESS + 0.5}, 0)
|
||||
usbPortHole = sdf.Transform3D(usbPortHole, sdf.Translate3d(sdf.V3{X: 0, Y: 0, Z: 0})) // Z is thickness of board
|
||||
usbPortHole = sdf.Transform3D(usbPortHole, sdf.RotateZ(sdf.DtoR(90)))
|
||||
|
||||
box = sdf.Difference3D(box, usbPortHole)
|
||||
box = sdf.Union3D(box, floor)
|
||||
|
||||
return box
|
||||
}
|
Loading…
Reference in New Issue