[Feature Request]: Precise Vertex Coordinate Editing for PCB Rule Areas
Tl;Dr:
Allow exact X/Y coordinate editing of rule area vertices (better polygon control)
Background / Motivation:
Rule Areas in KiCad are a powerful tool to restrict component placement, copper zones, etc. However, unlike zones or keepout polygons, Rule Areas lack a way to input exact coordinates for their vertices. You cannot “Move Exactly” a corner, or edit via a vertex table. This limitation makes it cumbersome to align rule areas with board edges or precisely position them in designs where you need exact clearances or alignment.
ie. I need to keep out components/footprints away from edge of board on one side only, or in different depths per side of board for enclosure clearance.
Because the “Rule Area → Keepout Footprints” feature is the correct mechanism for preventing placement near edges, this limitation forces users into awkward workarounds — e.g. using keepout areas (which are less semantically appropriate), or doing imprecise dragging and hoping the grid aligns.
Proposed Enhancement:
When a Rule Area is selected, provide a mode (e.g. “Edit Vertices / Outline Points”) in context menu or toolbar.
In that mode:
- Each vertex should be selectable.
- Right-click / hotkey on vertex opens a dialog with Absolute X, Y fields that the user can type into.
- Optionally, display a list/table of all vertices (index, X, Y) in the properties dialog, editable in bulk.
For vertices created via “Create Corner,” they should immediately be editable by the above method.
The “Move Exactly” action or similar numeric positioning tool should be callable on individual vertices, not just on entire shape.
Benefits:
Makes it much easier to place rule areas precisely relative to board boundaries or other features.
Reduces manual fiddling and guesswork.
Brings parity in ease-of-use between zones, keepout polygons, and rule areas.
Encourages use of Rule Areas (the intended tool for placement restrictions) without forcing compromises.
Potential Considerations / Notes:
Care must be taken in the UI to avoid confusion with the Rule Area’s “Properties” dialog (which covers rule settings, not geometry).
The vertex editing mode should perhaps be disabled when multiple objects are selected.
A “snap-to-grid / free move override” should still operate in this mode.
Backwards compatibility: existing rule areas should remain intact; new editing tools would just add functionality.
Related Issues / References:
“simplify polygon/zone/rule area” (KiCad issue #17883 (closed)) about.gitlab.com
“Creating non-copper keep out zone” (#17034 (closed)) — touches on limitations of rule area vs non-copper layer usage about.gitlab.com
Documentation: zones have more polygon editing capability than rule areas.
KiCad Version
Application: KiCad PCB Editor arm64 on arm64
Version: 9.0.4, release build
Libraries: wxWidgets 3.2.8 FreeType 2.13.3 HarfBuzz 10.1.0 FontConfig 2.15.0 libcurl/8.7.1 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.12 nghttp2/1.63.0
Platform: macOS Sequoia Version 15.3.1 (Build 24D70), 64 bit, Little endian, wxMac OpenGL: Apple, Apple M3 Pro, 2.1 Metal - 89.3
Build Info: Date: Aug 18 2025 00:13:10 wxWidgets: 3.2.8 (wchar_t,wx containers) Boost: 1.87.0 OCC: 7.8.1 Curl: 8.7.1 ngspice: 44.2 Compiler: Clang 16.0.0 with C++ ABI 1002 KICAD_IPC_API=ON