V6 - How to stay on grid in PCB?

At least I started to use V6 (one day half year ago don’t counts).
I spend few days designing new symbols and footprints (reported 2 bugs) and yesterday I started PCB and…
I like to have footprints in grid (all my footprints has Courtyard rectangles at 0.1mm grid and I place them (working with 0.1mm grid) touching each other. When a group of footprints loses grid placing next touching is impossible and it’s annoying.
The discussion:

in which I even took place concentrated on rotating selected set of footprints but (what I didn’t know those time) you lose grid with simple move (you need not to rotate).
It happens even if you move one footprint. The problem is that cursor (for moving) snaps to pad and not to footprint center. When you have a big selection and do a strategic move you have the picture small enough to not see if your mouse cursor is at pad or not (or you are focused on something else).
It is not simple to correct positions if you notice a problem too late and can’t select the same set of footprints.
I didn’t noticed such problems with V5.
In Preferences -PCB Editor -Editing Options I have changed ‘Snap to pads’ from ‘Always’ to ‘when creating tracks’ but it not helps. Even I am not creating tracks but moving (footprint or selection) cursor snaps to pads with effect of placing all selected footprints off grid.
Do you know the method to guarantee myself moving selections without loosing grid?
Do you know any situation when snapping to pad while moving selection is useful?

I also don’t like the use of pads as anchor for footprint-movements, but I think that was introduced as wished feature - so I have to live with that. So you see: you are not alone.

My solutions are:

  • always take care during movement to really get the original footprint anchor as movement point. This requires good concentration and often zooming in into the footprint (as you already wrote)
  • just ignoring the grid for most footprints. This results in not so good looking pcb - but in the meantime I care less often on the aestetic.
  • you could switch-off the pad in the selection-filter, Than you have only two possible grabbing-points for movement:
    • the original anchor-point
    • the geometrical middle of the footprint
  • use “Move with reference”-command (I have assigned the shortcut “Shift+M” which remembers me to the normal move-hotkey “M”). this allows to freely select the movement-start-point. clicking on empty canvas selects always a grid-point (if “snap to grid” is enabled)
  • If all got lost you could use the “snap to grid” plugin to get the footprint back on grid
1 Like

Sounds like good solution but… doesn’t work.
I:

  • switched off Pads in Selection Filter,
  • tried to move 0402 being at pad - footprint was grabbed by a pad,

may be it works only for selection so:

  • I selected two 0402,
  • tried to move being at one pad and my selection is grabbed by pad so moved off grid.

Don’t you think that switching in Magnetic Points ‘Snap to pads:’ to ‘Never’ or ‘When creating tracks’ should do the job, but doesn’t.
I asked just thinking that there are some other setting I didn’t found.

I do not see a difference between V5 and V6. While moving something on the PCB, it can either be grabbed by the center of a pad, or the center of a footprint, and this works both for moving individual footprints or a selection.

There is (or was?) an issue on gitlab with selection points. Te problem is (was?) that KiCad did not select the point closest to the mouse pointer, but first maps the mouse pointer to the closest grid point and then selects a snap point close to that. Especially on a coarse grid this can cause problems.

Sounds like good solution but… doesn’t work.

You are right, v6 uses pads as movement points even if pad is disabled at selection filter.
But I’m also correct, at least halfway:) I work already with v7 and v7 has changed in this detail and works as I have described: pad==off in selection-panel → pad not used for movement

personal recommendation:
I would discourage you to switch to v6-version at this point in time. Do the jump and take directly the v7-version. Pretty stable, file-format should be fixed already for v7, and you have only one program-transition to do.

It’s a bit more complicated than that. In V7.0.0-rc1 and the Selection Filter for pads off, then I can still move a THT footprint by either center of footrint or center of pad1. But it does disable snapping to the other pads.
Edit: Oops, as mf_Ibfeew added below, pad 1 is indeed the footprint’s (0, 0) locatation, but it also snaps to the “center of gravity” of the footprint.

I also do agree with Piotr, if you turn off: PCB Editor / Preferences / Preferences / PCB Editor / Editing Points / Magnetic Points / Snap to pads (or set it to When creating tracks, then it still uses pads as origin points of movements, and this does not feel “right” intuitively.

There have to be difference. It is not possible that I designed about 20 PCBs with V5 and didn’t noticed the problem that I noticed it when first time moved selection in V6.
I have checked (V5) There is important difference.
I have two resistors with 0402 footprints.
I positioned them in 0.1mm grid (pads are off grid).
When I move one resistor and grab it for the pad than it is placed off grid like in V6 but it is not what I have a problem with. When I move one footprint I always point near its center.
When I select two resistors and move them having mouse at on of pads then during movement it looks like I keep my selection for point in pad (not pad center). But that has noting to do with position after movement. My selection is placed at grid. And it ‘always’ worked that way. In V5 I never had a problem with grid after moving a selection.
I sometimes design each part of circuit out of PCB itself and then place them all inside. So I select a circuit of for example 30 footprints and move them all having the whole PCB visible as I position the whole group. Till today (first time doing it in V6) after such operation my footprints never lost grid.

It’s a bit more complicated than that. In V7.0.0-rc1 and the Selection Filter for pads off, then I can still move a THT footprint by either center of footrint or center of pad1. But it does disable snapping to the other pads.

But thats coincidence: for THT-footprints Pad1==official anchor point (at least for KLC-libraries).

I just did another test in V6, and I can only use the center of footprints for moving SMT parts. It won’t snap at all to their pads at the moment. (Both for moving single part or a selection, tried with 3 1206 capacitors). It’s quite strange that this behavior for me is different then for you. (Added KiCad version below).

I find it hard to dig up some interest in figuring out such details for V6 at this point. As mf_ibfeew has also already mentioned KiCad V7 is just around the corner.

I can understand sticking with KiCad V6 for some time until V7 has stabilized a bit more

Application: KiCad PCB Editor

Version: 6.0.10-86aedd382b~118~ubuntu20.04.1, release build

Libraries:
	wxWidgets 3.0.4
	libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3

Platform: Linux 5.15.0-58-generic x86_64, 64 bit, Little endian, wxGTK, xfce, x11

Build Info:
	Date: Dec 18 2022 19:39:35
	wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
	Boost: 1.71.0
	OCC: 7.5.2
	Curl: 7.86.0
	ngspice: 36
	Compiler: GCC 9.4.0 with C++ ABI 1013

Build settings:
	KICAD_USE_OCC=ON
	KICAD_SPICE=ON

For V6, working with either the Move Exactly or Move with Reference is probably the best method (workaround?).

I have to make several PCBs as fast as possible. We have nothing to sell (as ICs we used in our devices will be in 2024). So I design PCBs with ICs that are available, and my brother learns a new microcontroller.
I believe V6 is more stable than V7 now. I have no problem with using V6 as long as it doesn’t play pranks on me :slight_smile:

1 Like

Detail information about version tells me (close to) nothing. I use Windows V 6.0.10.
Move Exactly is not for me in that case as I don’t know the distance - I look how my subcircuit positions against the rest.
Move with Reference - I will try, but the simplest work around is probably just to remember a problem and be careful when starting a move, and after move to check if not to Undo.

With the Move with Reference you can take any grid point as source and destination. If you select a point that is far from your PCB, then it will never snap to anything else than a grid point.

The difference between V5 and V6 is in the way a snap point for Group move is handled.
With V5 the group is moved with cursor’s position as it’s origin.
With V6 the group is moved with nearest “focus point” (footprint centre, pad centre etc) as it’s origin.

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