Skip to content

feat(cad): parametric FreeCAD generator for the console panel base blank (outline + mount points) #334

Closed

Description

@mottihoresh

Goal

A parametric FreeCAD tool that produces the base blank for any console panel (outline, mount points on the Dzus grid, and clearance holes at those points), so each panel's CAD starts from the blank instead of re-deriving the grid by hand.

What shipped

The plan was a single macro. It shipped instead as a FreeCAD 1.1+ workbench addon in its own repo, so it installs through the Addon Manager and has room for more tools.

Verified

Rules the tool implements

From mechanical-standards.md, computed from exact inch fractions:

Parameter Rule
Height N × 9.525 mm, N ≥ 4 (N = 3 leaves one stud per side)
Width 146.05 mm (5¾″) default, overridable
Mount columns half a pitch (4.7625 mm) in from each side edge
Outer rows 1.5 × pitch from each end
Extra rows half-unit positions only, between the outer rows; 1-pitch pairs allowed
Fastener default M5 socket cap: Ø8.5 head, Ø5.6 clearance hole. M6 heads (≥ 10 mm) are wider than the pitch, so they collide on 1-pitch rows and overhang the side edge.

Reference panels used to validate the rules (measured from DCS screenshots; validation only):

Panel N Rows (units from top)
APN-153 Doppler 6 1.5, 4.5
ASN-41 Nav Computer 14 1.5, 3.5, 8.5, 10.5, 12.5
ARC-51A UHF 13 1.5, 2.5, 10.5, 11.5

Gotchas found along the way

  • Sketch points don't export to DXF, which is why the blank also draws hole circles.
  • PartDesign Hole / Pocket on the mount sketches needs Reversed when the front face is at z = 0 and layers stack +z. Without it they report "Up-to-date" and cut nothing.
  • Bind outside objects to the blank's sketches through a SubShapeBinder, never to the per-row row_eN cells. Those cells are rebuilt when the number of extra rows changes, and references to them break.
  • Per-head relief rings break through the panel edge (any ring wider than 9.525 mm), leaving scallops and cusps. Use the full-height edge slot instead.
  • Don't drive the modal dialogs over freecad-mcp: a modal dialog blocks the GUI thread. Call the tool's function directly.
  • Install via Addon Manager or a link into the Macro folder; changing the User Macros Location hides other macros (e.g. KiCad StepUp).

Moved elsewhere / follow-ups

Activity

  1. changed the title [-]feat(cad): parametric FreeCAD generator for the console panel base blank (outline + mounting-hole grid)[/-] [+]feat(cad): parametric FreeCAD generator for the console panel base blank (outline + mount points)[/+] on Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    hardwarePCB, KiCad, and hardware designpriority: mediumWanted and scoped; not blocking today

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions