I am designing a PCB with many pairs each consisting of an IC and a pin header. The autorouter does a lousy job, but I found good manual routes for one pair. How can I route all the other pairs the same way, without having to re-do the routing over and over again?

  • \$\begingroup\$ That could be done by narrowing the autorouter's focus by placing restrict polys on anything but the allowed area, then let the autorouter do it and remove the restrict polys again before doing the final DRC … but in practice, it isn't worth the effort. \$\endgroup\$ – Janka Nov 26 '17 at 4:43
  • \$\begingroup\$ Seems true. That's why I would like to do something like copy all my manual routes and paste them in more places. But my book on Eagle says that you should never do such operations in the PCB view - so how can I achieve it? \$\endgroup\$ – travelboy Nov 26 '17 at 5:50
  • \$\begingroup\$ The problem with copying traces is that they keep their original net names. And copying parts is not allowed in board+schematic mode, because inserting parts is only allowed in the schematics editor. One way would be to write a script or even ulp. This might be overkill if you don't know how to, but also an opportunity to learn it. Personally, I would write a python script to generate an eagle script which generates the wires. \$\endgroup\$ – sweber Nov 26 '17 at 9:28
  • \$\begingroup\$ I wrote a simple python script to ease copy modules here. It's very rough, but works... \$\endgroup\$ – user2071674 Feb 9 '19 at 13:41

There's a way, but it's treacherous. Also tedious.

  1. Complete the layout you wish to duplicate. Save your work. Probably make a backup copy of the .sch and .brd files here to be safe.

  2. Close the schematic editor window, but keep the board layout editor open. The layout editor will warn you with the yellow-and-black banner saying "F/B Annotation has been severed!"

  3. Use the group tool to highlight the components and routes of the layout you wish to duplicate. Use the copy tool to copy-paste as you would in the schematic editor. Since the schematic window is severed, Eagle will allow you to copy objects now.

  4. Open the schematic screen again. The little circle in the button-right corner will now be purple, indicating there is a mismatch between the .sch file and .brd file.

  5. Group the exact same components and nets in the schematic window and copy-paste them. If you're very lucky, Eagle will have auto-incremented the names of every component and net the same in the schematic window and the layout window. If not, you will need to manually rename every component and net/route to be exactly the same on both windows. This is the tedious part.

  6. When you think you've gotten everything matched up between the two windows, run the ERC. It will warn you if anything is still mismatched. Otherwise, the circle in the bottom corner will turn green and you're good to go.

  • \$\begingroup\$ This solution works! And if I name the nets to something useful before with a number in the end, then EAGLE increments the numbers in a predictable way. But one thing is strange: in the copy I get overlap errors where nets overlap pads... see screenshot. Why does that happen and how can I prevent it? \$\endgroup\$ – travelboy Nov 26 '17 at 14:18
  • \$\begingroup\$ Not sure what's causing that error. If you ripup that last segment of the route (where the error is), does the air wire show it still connected to the pad? \$\endgroup\$ – Dan Laks Nov 26 '17 at 18:22
  • \$\begingroup\$ Yes, if I just ripup the overlapping part, the route is connected to the pad, and if I ripup the route as well, I get a correct air wire. I decided to just remove these segments. If anybody knows how to avoid that, please let me know. \$\endgroup\$ – travelboy Nov 27 '17 at 14:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.