Comment 7 for bug 1521062

Revision history for this message
Franck78 (fbourdonnec) wrote :

A solution ?

Let's assume each sub-circuit is displayed exactly replicated in eechema.

Select a sub-circuit.
Apply a group membership to each component and also an ID in that group.
The trick is to have the same ID for the same component of the group.
Hence the display exactly the same so that the scan routine always find the same thing at the same position and get the same ID.

Now we have identified and ordered sub groups of components.
Add that info to the netlist

Switch to pcbnew, import the netlist.

Note instead of stacking all components blindly, each group could be displayed not stacked.

Select a group (mouse or software function)
Arrange it
Snapshot the group (eg position of each member)
Select another group
Apply the snapshot. Each component of the same id goes to same relative position.
Move the group
Repeat
Done.

Problem ?
Component containing a sub function (2 gates) shared in two sub-circuit.

The snapshot function can optionally ignore the vias and the tracks or clean a target group before being applied.

Not overly complicated. The 'group' is the base for a bunch of things (and a request).
have the group locked and seen as one component for all others operations (align distribute,...)

The real thing here is the way groups are implemented. Groups flat or hierarchical. Grouped in eeschema or in pcbnew ?