Use it to set either a round or beveled corner. Use it for RoundBox,
Panel, and the feet edge.
Set all other circles (except the tabs) to fn=100 for smoothness.
Make the foot exterior cutout square as tall as FootHeight.
Previously making it taller than 100 made the top wider.
This is obviously ridiculous, but no harder to do right, and looks nicer
when debugging.
If PanelThick is equal to Thick, all is the same. If it is different,
then only the ends are scaled. Everything in the middle, including box
decorations and feet remain in the same position relative to the
interior of the panels.
The 45 degree box for the bottom angled cutout of the box tabs was
unnecessarily shifted.
The rectangular cutout for the sides of the tabs was unnecessarily wide,
and the margin depended on the thickness, which doesn't make much sense.
It depends more on the printer, so this margin should be parametrized in
a later CL.
While it has no impact on the outcome, the large outer box was taller
than it needed to be, and didn't accurately represent the box size when
debugged. This was probably an error of the Thick = Thick*2 change.
The interior box (fins for holding the panel) was oddly not centered.
Shift it using the proper parameters for it to be centered.
It also was shifted vertically by 0.1 to remove "the artifact" I'm not
sure what this artifact is, so I'm removing the shift until I see reason
not to. It also makes the interior hole of the feet shorter by 0.1 and
the tolerance under the board 0.1 less, so it seems a bit wrong to have
in place.
The Coque module was setting Thick = Thick*2 which causes confusion
while reading, likelihood of errors, and difficulty in modification.
I removed this, and replace every invocation with Thick*2, simplifying
where appropriate. This is largely in preparation of separating Panel
thickness from Thick.
Add ScrewHole and FootHole parameters
Set them to #4 coarse thread size.
Use them in appropriate places on tabs and feet
Add CutoutMargin parameter as a margin around interior cutouts.
Apply it to foot, CylinderHole, and SquareHole
Use it to calculate the top margin from the top of the board.
Draw the transparent board with appropriate thickness
Provide convenience variables for board position on panel.
Add parameters for PCB size and margins on all sides.
Generate the box dimensions from these sizes.
Place the PCB appropriately based on the margins.
This has a change in definition, as the previous PCB size was the size
of the square made by the mounting holes. Now it is the size of the
actual PCB.
Holes are still mounted 5mm inside the edges. Hole positioning will come
soon.
Fixed a few minor issues in the process (typoed "square" in previous
commit")
Put curly braces around blocks that didn't have them for consistency.
Notably, re-ordered arguments for "cylinder" since the manual says if
you have named arguments, all following arguments must be named. So now
all cylinders have the height first, unnamed, followed by either r= or
d=, and then $fn= if it isn't otherwise specified in the block.
Add/remove lots of spacing for consistency. Add/remove a few parenthesis
for arithmetic readability.
Actually undo previous spacing because I disagree with the style guide
referenced previously.