Group several pcbnew objects

Is there any way to group several objects (eg. Several footprints and interconnecting traces) to each other in pcbnew? The purpose is that all groupe members move/rotate/flipped together.
This has at least three major advantages:

  1. Productivity enhancement. No need to re-organize sub-pcb domain if modifications required that affect its location.

  2. Potential workaround for hierarchical layout. Assume a board is imported with “append layout”, and immediately grouped. The module’s re-references components can correspond to hierarchical sheet annotation and be de-facto layout sub-hierarchy. This way you can design your switching DC-DC domain once, and use it in all your projects.

  3. Major risk reduction when panelizing with " append PCB". No more copying/moving only SOME of the components/layers when arranging the board.

Actually, thee are many other advantages I can think of…

Cheers, Matan

1 Like

It works now. I select a rectangle with mouse left button (held down while move), release mouse button, then press R to rotate and/or M to move block. If block to be moved is not rectangular, you still can add and remove footprints and tracks one-by-one with Shift + mouse left click.

Sorry…I haven’t read Matan’s post thoroughly…he wants this multiple selection to be saved
; the group to be referenced later.
It would be a fine function. Making this function might help the block copy between different schemas or pcb’s (which I miss very much)

I do not know about such feature. But I need it too.
I think the component grouping should propagate even in to the BOM listing. It is because some components may vary depending on theirs grouping. One example is a pin headers which length count may depends on PCB layout.

Any update on creating grouped components? is this feature still non-existent?

I think that is ‘still coming’, but there is a File.Append Board that can import groups and routes that have been saved, which may give partial workarounds.

This lacks firm XY insert control, and of course this diverges from the SCH somewhat…

This will merge like-nets, but to keep un-like nets from connecting, you will probably need to manually/script the net names.

Other packages use some net-prefix rule to mean ‘local net’ and names nets like GND and +5V then join.

I think that “Append board” solution is not a very good workaround for component grouping since, once appended, the imported traces are indistinguishable from the rest of the design. It’s OK for panelization, but for design re-use components need an extra “field” that can define their “group”. Then “groups” should be able to move/rotate together… Unfortunately I see that any mention of similar ideas was removed from the most recent Kicad5 roadmap :(…

Is it possible to use python scripting for selecting a given group of parts so they could be moved together?