Previous: ``` startProfileAt([x, y], %) startProfileAt([x, y], sketch001) ``` New: ``` startProfile(%, at = [x, y]) startProfile(sketch001, at = [x, y]) ```
76 lines
2.0 KiB
Plaintext
76 lines
2.0 KiB
Plaintext
rpizWidth = 30
|
|
rpizLength = 65
|
|
|
|
caseThickness = 1
|
|
|
|
border = 4
|
|
|
|
screwHeight = 4
|
|
|
|
caseWidth = rpizWidth + border * 2
|
|
caseLength = rpizLength + border * 2
|
|
caseHeight = 8
|
|
|
|
widthBetweenScrews = 23
|
|
lengthBetweenScrews = 29 * 2
|
|
|
|
miniHdmiDistance = 12.4
|
|
microUsb1Distance = 41.4
|
|
microUsb2Distance = 54
|
|
|
|
miniHdmiWidth = 11.2
|
|
microUsbWidth = 7.4
|
|
connectorPadding = 4
|
|
|
|
miniHdmiHole = startSketchOn(XY)
|
|
|> startProfile(at = [0, border + miniHdmiDistance - (miniHdmiWidth / 2)])
|
|
|> line(endAbsolute = [
|
|
0,
|
|
border + miniHdmiDistance + miniHdmiWidth / 2
|
|
])
|
|
|> line(endAbsolute = [
|
|
1,
|
|
border + miniHdmiDistance + miniHdmiWidth / 2
|
|
])
|
|
|> line(endAbsolute = [
|
|
1,
|
|
border + miniHdmiDistance - (miniHdmiWidth / 2)
|
|
])
|
|
|> close(%)
|
|
|
|
case = startSketchOn('XY')
|
|
|> startProfile(at = [0, 0])
|
|
|> line(endAbsolute = [caseWidth, 0], tag = $edge1)
|
|
|> line(endAbsolute = [caseWidth, caseLength], tag = $edge2)
|
|
|> line(endAbsolute = [0, caseLength], tag = $edge3)
|
|
|> close(tag = $edge4)
|
|
|> extrude(length = caseHeight)
|
|
|> fillet(
|
|
radius = 1,
|
|
tags = [
|
|
getNextAdjacentEdge(edge1),
|
|
getNextAdjacentEdge(edge2),
|
|
getNextAdjacentEdge(edge3),
|
|
getNextAdjacentEdge(edge4)
|
|
],
|
|
)
|
|
|
|
fn m25Screw(x, y, height) {
|
|
screw = startSketchOn("XY")
|
|
|> startProfile(at = [0, 0])
|
|
|> circle(center = [x, y], radius = 2.5)
|
|
|> hole(circle(center = [x, y], radius = 1.25), %)
|
|
|> extrude(length = height)
|
|
return screw
|
|
}
|
|
|
|
m25Screw(border + rpizWidth / 2 - (widthBetweenScrews / 2), 0 + border + rpizLength / 2 - (lengthBetweenScrews / 2), screwHeight)
|
|
|
|
m25Screw(border + rpizWidth / 2 - (widthBetweenScrews / 2), 0 + border + rpizLength / 2 + lengthBetweenScrews / 2, screwHeight)
|
|
|
|
m25Screw(border + rpizWidth / 2 + widthBetweenScrews / 2, 0 + border + rpizLength / 2 + lengthBetweenScrews / 2, screwHeight)
|
|
|
|
m25Screw(border + rpizWidth / 2 + widthBetweenScrews / 2, 0 + border + rpizLength / 2 - (lengthBetweenScrews / 2), screwHeight)
|
|
|
|
shell(case, faces = ['end'], thickness = caseThickness)
|