I hereby certify that I am not simply asking someone else to design a footprint for me.
I have just switched to Kicad 6, and am trying to design a really simple PCB. It is just an array of 25x 3mm through hole LEDs (9 blue, 8 red, 8 green) in a 5x5 array, 4mm pitching vertically and horizontally, all connected to a 4w connector (blues in series to pin 1, greens to pin 2, reds to pin 3, common ground on pin 4).
Done the schematic OK, created the necessary footprint (same for all), brought it all into the artwork editor. All OK so far. Created a user defined 4x4mm grid to lay them out. The anchor point of the footprint is in the middle, one pin either side (+/- 0.050").
They snap to the 4x4mm grid OK - or rather, 23 of them do, 2 don’t. The 23 that do all snap correctly to the mid point of the footprint half way between the two pads, the 2 that don’t all snap to the location of pin 1 (0.050" to the left). Yet they all use exactly the same footprint.
Dragging one of the bad ones around, suddenly it started to snap to the mid point correctly. No idea what I did to make this happen, and try as I might, the last one is still stubbornly snapping to pin 1, not the mid point.
But some suggestions as you are new to v6: Are you aware that the snapping during movement of footprints depends on:
your setting in preferences → common–>editing–>warp mouse to origin of moved object
the position of the mouse-cursor at the moment you start the move-command (the moment you hit the “M”-hotkey or the moment you start the movement with left-clicking the footprint)
the cursor can snap to the footprint anchor-point
the cursor can snap to: the nearest Pad
the cursor can snap to the geometric center of the footprint
which version occurs depend on the cursor-position. If you want the anchor-point aligned to the grid you should try to snap the cursor to the footprint-anchor-point
if the grid is to coarse it’s not always possible to snap to all mentioned points
Normally KiCad can use either the center point of a pad or the center point of a footprint as a startpoint for a move, but there is a bug i KiCad.
On Gitlab I wrote:
After more experiments, I discovered it is related to the grid.
On a coarse grid (for example 5mm) the behavior is atrocious, while at a fine grid (0.1mm) it seems to work as expected.
I am guessing here, but could it be that the cursor location is first mapped to a grid point, and then that grid point is used determine the closest snap location?
Give it another on gitlab if this is also your issue.