About a year ago, there was an idea / feature request posted on gitlab for being able to add configurable snap points to footprints, for example for snappable connectors that need a specific pitch.
I did a bit of testing in Kicad because of this, and I would have expected that if F.Courtyard is selected as the active layer, that the courtyard lines could be used as snap points, but this does NOT work for me.
If you deselect Pcb Editor / Preferences / Preferences / Editing / Warp mouse to origin of moved object and also turn the grid off with Pcb Editor / Preferences / Preferences / PCB Editor / Display Options / Snap to Grid: When grid is shown (and then turn the grid itself off) it is quite easy to line up stuff visually to pixel size. (KiCad works with nanometer resolution internally, so “raw” resolution is not going to to be a problem)
KiCad does have some extra features that may be useful. First, if you select a bunch of resistors you can then right click and select Align/Distribute from the popup menu.
A function that works quite nicely is the “Position relative to” from the popup menu. To use it:
- Select a resistor you want to move.
- Right click, and from the popup menu select: Special Tools / Position Relative to
- Select [Select Item…] and click on another resistor.
- Enter the offsets you want for X and Y (KiCad remembers this for the next move).
While doing this, you have to be careful what you select. For example snap points can be the center of a resistor, or a pad, or any other item that can be snapped to. You can limit the false positives by turning off certain items in the Selection Filter in the lower right corner.
And as eelik already wrote, courtyards are usually an estimate based on some rules for when parts should be easily placeable by P&P machines. They are not reliable for high density boards, unless you design your own footprint libraries and adjust your courtyards for your minimum rules.
You can also hover over a footprint, press e to edit it’s properties and directly type in some coordinate. You can also use simple formulas in those edit boxes. for example if you add “+5” behind an X coordinate, then it moves it 5 “units” to the left If you type “+5mm” after a number, then that coordinate is made 5mm bigger regardless of what the current unit is set to (mm, inch, mil).
And there are probably more tricks you can use to work quicker and more comfortable.