V7.99 change in snapping behaviour for "Move"?

For the week or more now, in v7.99 nightly builds, I am noticing that the “Move” command no longer snaps to any part of a footprint, rather, it picks the closest on-grid point.

For example, I created a new project with one resistor and imported it into PCBNew, with 50 mil grid, and moved the resistor to middle-ish of the page.

“F8/Update PCB from Schematic…” places the footprint with the upper left corner of Margin rectangle on-grid, resulting in the centre of pad-1 and also the geometrical centre of the footprint being off-grid:

If I then press “M”, the cursor snaps to the nearest grid point; there’s no way I can move w.r.t. the centre of pad1:

I am able to (somewhat labouriously) work around this for now with “Postioning Tools->Move With Reference” (which allows me to select all the points you’d expect to be snap-to-able):

Unsure if this is a bug,… or new intended behaviour… or me missing something?

  • Daniel
Application: KiCad PCB Editor x86_64 on x86_64

Version: 7.99.0-unknown-099e5dd9e7~172~ubuntu22.04.1, release build

Libraries:
	wxWidgets 3.2.1
	FreeType 2.11.1
	HarfBuzz 2.7.4
	FontConfig 2.13.1
	libcurl/7.81.0 OpenSSL/3.0.2 zlib/1.2.11 brotli/1.0.9 zstd/1.4.8 libidn2/2.3.2 libpsl/0.21.0 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.43.0 librtmp/2.3 OpenLDAP/2.5.16

Platform: Linux Mint 21.2, 64 bit, Little endian, wxGTK, X11, cinnamon, x11

Build Info:
	Date: Oct 10 2023 03:19:57
	wxWidgets: 3.2.1 (wchar_t,wx containers) GTK+ 3.24
	Boost: 1.74.0
	OCC: 7.5.2
	Curl: 7.81.0
	ngspice: 40
	Compiler: GCC 11.4.0 with C++ ABI 1016

Build settings:

I can’t run V7.99 at the moment because of installation issues, but I suggest you take a close look at the Preferences / Preferences menu to look for checkboxes that can influence this behavior.

Especially Preferences / Preferences / PCB Editor / Editing Options / Magnetic Points. These settings are in KiCad for several years, you may have adjusted them long ago and V7.99 probably uses defaults instead of your personal settings.

Mine still selects a pad centre or the anchor, whichever is closest to the cursor, same as with 7.0.8

It is getting late for me tonight, but I will update 7.99 tomorrow and post.

Application: KiCad x86_64 on x86_64

Version: 7.99.0-unknown-f9efed692d~172~ubuntu22.04.1, release build

Libraries:
wxWidgets 3.2.1
FreeType 2.11.1
HarfBuzz 2.7.4
FontConfig 2.13.1
libcurl/7.81.0 OpenSSL/3.0.2 zlib/1.2.11 brotli/1.0.9 zstd/1.4.8 libidn2/2.3.2 libpsl/0.21.0 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.43.0 librtmp/2.3 OpenLDAP/2.5.16

Platform: Linux Mint 21.1, 64 bit, Little endian, wxGTK, X11, cinnamon, x11

Build Info:
Date: Oct 6 2023 16:04:39
wxWidgets: 3.2.1 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.74.0
OCC: 7.5.2
Curl: 7.81.0
ngspice: 40
Compiler: GCC 11.4.0 with C++ ABI 1016

Build settings:

Thanks Paul; changing this to “Always” looked promising, however it didn’t work:

I have “Snap-to-grid” set to “Always”…


…that looked promising too, however the two alternatives didn’t restore the “old” behaviour that i expect (namely, that an ordinary “Move” on a footprint snaps the cursor to either pin1 or the geometric centre of the footprint (wherever (0,0) is in the footprint editor)

@jmk thanks for letting me know that maybe I am crazy :wink:

I am pretty sure that I had the same problem with the 6-Oct build, so if that works correctly for you then that makes me suspect it is something in my configuration or usage that is causing this.

I changed my mind and just downloaded the Oct 10

The function has changed.
The cursor is more interested in picking up the Ref. and Footprint name if I hover over the footprint then key M.

To select a pad or anchor, I need to Left click select over either a pad or the anchor then press M.
I have no idea if this a temporary or permanent change to the selection.
From memory (which is really bad these days) I think this is how Kicad 5 worked.

Application: KiCad PCB Editor x86_64 on x86_64

Version: 7.99.0-unknown-099e5dd9e7~172~ubuntu22.04.1, release build

Libraries:
wxWidgets 3.2.1
FreeType 2.11.1
HarfBuzz 2.7.4
FontConfig 2.13.1
libcurl/7.81.0 OpenSSL/3.0.2 zlib/1.2.11 brotli/1.0.9 zstd/1.4.8 libidn2/2.3.2 libpsl/0.21.0 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.43.0 librtmp/2.3 OpenLDAP/2.5.16

Platform: Linux Mint 21.1, 64 bit, Little endian, wxGTK, X11, cinnamon, x11

Build Info:
Date: Oct 10 2023 03:19:57
wxWidgets: 3.2.1 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.74.0
OCC: 7.5.2
Curl: 7.81.0
ngspice: 40
Compiler: GCC 11.4.0 with C++ ABI 1016

Build settings:

@Dmc : first we have distingush between grabbing something - I think this is your issue that footprints are not grabbed at the usual grabbing point (sometimes anchor point). A different thing are the snapping points - these (setting shown by paul) are important for the snapping of the moved/drawed/copied object.

Your description sounds like the “warp to footprint origin” is not working. How is your setting for global “Preferences–>Common–>Editing–>Warp mouse to origin of moved object”?

Note that sometimes there are reports that this function does’t works at all Linux-systems (something with Wayland?)

Thanks @jmk. Identical build to me, but it’s different for me.

I FOUND IT (apparently, after @mf_ibfeew had told me exactly what it was and I hadn’t yet noticed… :wink:

Preferences->Common->Warp mouse to origin of move object <— I had this un-ticked

Interestingly, while ticking it makes the behaviour return to what I would call “normal/expected”, it is still different than what @jmk is seeing… I do not see a difference between pressing “M” in any of these cases:

  • mouse-over un-selected footprint, then “M”
  • select pad, then “M”
  • select footprint, then “M”

What I see is that the cursor GRABS (not “snaps”, thanks @mf_ibfeew for the distinction/correction) the nearest of three relevant points on the footprint:

  • footprint (0,0) point
  • pad1-centre
  • pad2-centre)

small addition:
the cursor grabs the nearest of three four relevant points on the footprint:
1 footprint (0,0) point (anchor point)
2 pad1-centre
3 pad2-centre
4 geometrical centre of the footprint (often for symmetrical footprints this is identical to option1 like in this case with 0603-resistor)

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.