PCB Editing Snapping

I am missing something simple, I have 10 items with the same footprint, but some when I place them center on the origin, some center on the pad. I can see when I hover its warping to the pad or the origin depending on the part, however I don’t understand how you switch. I noticed when I click on the pad it will start snapping on the pad but I cant figure out what to click to switch back the origin again?

KiCad just uses the point that is closest to the mouse cursor at the moment a move is started.

Something else is at play, when they are first placed and I hover, it the mouse selects the origin and if I click and drag from the origin it snaps on the origin. if I click on a pad then it switches to the pad and snaps to the pad and if I hover it snaps to the pad. Once it’s changed to the pad even if I click dead center it snaps to the pad instantly, I have no way to select the origin again.

it’s also worth noting I have “Warp mouse to origin of moved object” checked. if I select an object and hit “M” it warps the mouse to a pad? If I click it, it warps to the pad, but only when I have clicked a pad, so why when I click the origin does it not snap back to the origin? And what is the purpose of “Warp mouse to origin of moved object” if it does not warp to the origin when you move?

I suppose this should read “Warp mouse to origin of moved object unless a pad belonging to that object is closer to the current position of the mouse, in which case the mouse moves to that pad”.

If this function is ticked, the mouse moves to the pad or anchor of the footprint. If the function is not ticked, the mouse stays at its present position.

As Paul states, the cursor moves to the closer position, the pad or the footprint anchor. If you want the mouse to land on the anchor, you must first have the mouse closer to the footprint anchor than a pad.

What is your OS and Kicad version?

Maybe you’re getting oconfused by the footprint filter in the lower right corner, although, when the checkbox for the footprint is off, you can not select footprints at all. (But you can still select a pad in a footprint).

image

There are 3 types of “grabbing points” for moving a footprint:

  • origin (the small cross) of the footprint
  • geometrical centre of the footprint (for symmetrical footprints often the same as origin)
  • every pad centre point of the footprint
    Depending on the position of your mouse cursor the program chooses the nearest grabbing point. So if you want to use the origin to move the footprint you should place the mouse cursor near the origin.

Note: The grid setting influences the choice of the setting point, if you have a very coarse grid sometimes a false grabbing point is choosen.

Ah, the joys of open source software! Stuff like that needs de-geeking.

Firstly, what on earth is “warp”? In my lexicon, “warp” means “bend” or “twist”, certainly not “move”. Also, it isn’t the mouse that moves, it’s the pointer.

That string in the code needs changing to:

“Move mouse pointer to origin of moved object”, or maybe even:

“Move the mouse pointer to the origin of the moved object”

more sci-fi basic cultural knowledge i think :rofl: Warp drive - Wikipedia

1 Like

Kicad 8.0.7, Win 11

I did just update from Kicad 7 with the default options, kept everything as I had it just had to add my custom library again. I think what I am seeing might be a bug, everyone keeps saying it takes whatever is close, but I need to again stress, I can click on the origin, and it will still snap to the pad. It does not matter where I click, the second I click it snaps to the pad. If I hit “M” it will snap to the pad.

Also that is a very oddly specific feature, perhaps overly. If it was working for me as you describe it I would probably use it, but currently it’s not working that way for me, I can do a quick screen capture if that would help. Disabling it allows me to align by origin. Playing with it again, I’m using a very large .25" grid to align larger parts, it seems like it wants to grab the pad closest to the point every time so when it starts off the grid its a toss-up between the origin and the pad what is closest but once a pad is on the grid, it will only grab the pad. I suspect with a much finer grid it would work more like you’re describing.

I’m inclined to agree, it’s oddly specific without being correct all at once on a feature that’s also oddly specific and I would argue very niche. Not sure if I turned this on or it was on by default but maybe it should at least not be default with its current functionality.

Does it behave better with a “more rational” grid?

1 Like

This is interesting:
The grid showing is 250mil.
I moved the anchor in this footprint to the position shown by the cyan arrow (100mil to pin2 & 150mil to pin 1).

If I attempt to move the footprint, the cursor will grab the nearest pad, including pad 3. Note, pad 3 is not on the 250mil grid. Also, if the cursor is somewhere in the middle of the three pads, to grab pad 3, the cursor needs to within about 10 mil of pad 3. The cursor prefers to select pads 1 or 2 ( I suppose because pad 3 is off grid ).

Also as @thebigg commented; the cursor will not select the anchor if the grid is too large. In the example below (with a 250mil grid) the grid needs to be reduced to at least 180mil to select the anchor.

I don’t remember such problems from past (most my PCBs I have made with V5). Not sure but I think footprints were always grabbed by their anchor. Who needs grabbing footprints by pad ever? I never care where exactly pads are placed. They are just where they have to be. Point.
Since some time (V7, V8 ?) I have continuous problem to ensure to grab footprint by anchor.

The issue with “grabbing point depends on grid size” is already known and tracked in gitlab issue Footprint grabbed by the wrong pin during a move. (#10471) · Issues · KiCad / KiCad Source Code / kicad · GitLab

There are multiple workarounds:

  • disable “Pads” in selection filter (see advice by paul)
  • make use of “Fast grid 1/2” and cycle between them during move: fine grid during selection, coarse grid during placing

I found myself from time to time de-selecting everything there to select for example only vias and then a moment ago select everything back. Even knowing the problem I always forget to disable Pads at that moment. I then do it after few wrongly positioned footprints as it happened to position them by pad and not anchor. So from my point of view it is not a good solution.

It is the solution (rather way around) to this thread problem but not the solution to that then when I want to move footprint I should not need to zoom in to be able to see if my cursor is near anchor or near pad.

Generally I see it all as trying to solve (or work around) not existing before problem that was from any unknown for me reason just created.