built a PCB design without accounting for mirroring,.. anyway to salvage some of this work??

Making PCB Layouts, Manual routing, Auto-routing, Copper pouring, Updating from Schematic, Manufacturing Output
Post Reply
Message
Author
lorley
Posts: 4
Joined: 28 Jun 2019, 02:18

built a PCB design without accounting for mirroring,.. anyway to salvage some of this work??

#1 Post by lorley » 09 Apr 2020, 00:11

In one of the first PCBs I designed as part of a larger project I didnt use a schematic, simply built it by eye.
In my recent PCBs I started to use schematics as it makes things a million times easier and this made me realise a fatal flaw with the first PCB I built without any schematic.
the bottom layer as viewed through Diptrace is a mirrored ''x ray'' view, but I built on this layer as if it was viewed normally.

The thing is that all the ICs are on the bottom layer, which are completely wrong from mirrored routing, and everything on the top layer is basic connectors which I think can be mirrored without it actually creating any fault, the only thing on top layer im not sure about are potentiometers, maybe they would have reversed response? or maybe not and this top layer could be mirrored without electrical or mechanical changes at all, only different positioning?

Either way If there was some way to make the top layer into the bottom layer and vice versa this would greatly help this situation and make the PCB easily fixable.
For a second I thought this was possible in layer properties>layer stack up but unfortunately it doesnt seem to have any effect when I swap the layers places with this option :|
Last edited by lorley on 09 Apr 2020, 00:35, edited 2 times in total.

lorley
Posts: 4
Joined: 28 Jun 2019, 02:18

Re: built a PCB design without accounting for mirroring,.. anyway to salvage some of this work??

#2 Post by lorley » 09 Apr 2020, 00:32

it seems an older version of diptrace had flawed flip function that actually flipped the patterns and it was later fixed. Understandably so, as I cant think of another use for mirroring patterns outside of this exact scenario.... Maybe an older version of diptrace will be able to fix this design.

Tomg
Expert
Posts: 1523
Joined: 20 Jun 2015, 14:39

Re: built a PCB design without accounting for mirroring,.. anyway to salvage some of this work??

#3 Post by Tomg » 09 Apr 2020, 10:40

Since you are not driving the PCB layout with a schematic, you might consider trying one of the solutions below...

Solution #1
Assuming your library components are correct and the PCB patterns are actual components with names matching those found in the libraries...
1) Make sure all layers are active, select/highlight all mirrored components, right-click on one of the selected/highlighted components (not its pads), select "Update from Library" in the pop-up menu and choose "Selected Components" in the fly-out menu.
2) Clean up any messes caused by the changes and resave the PCB.

Solution #2
If the patterns are grouped into actual components, but do not have library equivalents...
1) Make sure all layers are active, find a mirrored component and take note of all of its properties (RefDes, Name, etc).
2) Right-click on the component (not its pads) and select "Ungroup Component" in the pop-up menu.
3) Select/highlight all of the ungrouped component's objects that need to be changed, click on Edit in the main menu, select "Flip Group" in the drop-down menu and choose either "Horizontal" or "Vertical" in the fly-out menu to get the result you want.
4) Tidy up the changed pattern (if necessary), select/highlight all objects of the component, right-click on one of them and choose "Group into Component" in the pop-up menu.
5) If needed, fix any messed-up traces and/or errant component properties.
6) Repeat as needed for other mirrored components.
7) Resave the PCB.

Solution #3
If the patterns are not grouped into actual components...
1) Make sure all layers are active, find a mirrored pattern and select/highlight only the objects that need to be changed, click on Edit in the main menu, select "Flip Group" in the drop-down menu and choose either "Horizontal" or "Vertical" in the fly-out menu to get the result you want.
2) Tidy up the changed pattern (if necessary) and its connecting traces.
3) Repeat as needed for other mirrored patterns.
4) Resave the PCB.

Good luck.
Tom

lorley
Posts: 4
Joined: 28 Jun 2019, 02:18

Re: built a PCB design without accounting for mirroring,.. anyway to salvage some of this work??

#4 Post by lorley » 09 Apr 2020, 13:10

Tomg wrote:
09 Apr 2020, 10:40
Since you are not driving the PCB layout with a schematic, you might consider trying one of the solutions below...

Solution #1
Assuming your library components are correct and the PCB patterns are actual components with names matching those found in the libraries...
1) Make sure all layers are active, select/highlight all mirrored components, right-click on one of the selected/highlighted components (not its pads), select "Update from Library" in the pop-up menu and choose "Selected Components" in the fly-out menu.
2) Clean up any messes caused by the changes and resave the PCB.

Solution #2
If the patterns are grouped into actual components, but do not have library equivalents...
1) Make sure all layers are active, find a mirrored component and take note of all of its properties (RefDes, Name, etc).
2) Right-click on the component (not its pads) and select "Ungroup Component" in the pop-up menu.
3) Select/highlight all of the ungrouped component's objects that need to be changed, click on Edit in the main menu, select "Flip Group" in the drop-down menu and choose either "Horizontal" or "Vertical" in the fly-out menu to get the result you want.
4) Tidy up the changed pattern (if necessary), select/highlight all objects of the component, right-click on one of them and choose "Group into Component" in the pop-up menu.
5) If needed, fix any messed-up traces and/or errant component properties.
6) Repeat as needed for other mirrored components.
7) Resave the PCB.

Solution #3
If the patterns are not grouped into actual components...
1) Make sure all layers are active, find a mirrored pattern and select/highlight only the objects that need to be changed, click on Edit in the main menu, select "Flip Group" in the drop-down menu and choose either "Horizontal" or "Vertical" in the fly-out menu to get the result you want.
2) Tidy up the changed pattern (if necessary) and its connecting traces.
3) Repeat as needed for other mirrored patterns.
4) Resave the PCB.

Good luck.
Thank you! I didnt use any of these specific solutions but you highlighted the key trick to mirroring which is ungrouping components. I wanted to avoid re-routing because the routing is fairly complex and is already fine, simply mirrored along with the components. Using select all and ungrouping everything lets me mirror the entire design but then its not easily possible to regroup the individual patterns again.
Using an older version of diptrace in the end was able to do exactly I need, ''select all'' and ''flip horizontally'' mirrored the whole design.
the now mirrored potentiometers needed traces swapped around to unreverse the response which is only a few mins work and that was it.
very sketchy fix but only a once off

Post Reply