Combining Schematics

Drawing Schematics, Hierarchical Design, BOM, Exporting net-lists, etc.
Post Reply
Message
Author
acetate
Posts: 2
Joined: 08 Dec 2018, 19:20

Combining Schematics

#1 Post by acetate » 16 Nov 2023, 14:05

What is the best way to go about combining two schematics and ideally their associated PCBs?

I have many smaller products (200 parts) that I now want to start combining into larger products (600-1000 parts). My current process is to copy and paste schematics together, but this results in NETs getting randomly merged together. So I have to go NET by NET and inspect to ensure the NETs have stayed separate. Then I can use one PCB layout that was the source schematic, but then I have to layout the parts in the PCB that got pasted into the schematic. Is there some better workflow that will minimize my work here?

Tomg
Expert
Posts: 1998
Joined: 20 Jun 2015, 07:39

Re: Combining Schematics

#2 Post by Tomg » 18 Nov 2023, 12:03

Here is one way to do it. The involved procedure that follows will refer to the first schematic as "schematic-A" with its corresponding PCB as "PCB-A", and the second schematic as "schematic-B" with its corresponding PCB as "PCB-B"...

1) Make copies of both schematics and PCBs. Name the first pair "schematic-A" and "PCB-A" and the second pair "schematic-B" and "PCB-B". These are the only files to be altered in order to prevent any changes to the original files.
2) Open schematic-B and PCB-B.
3) In schematic-B add 1000 to all of the reference designators: Tools > RefDes Renumbering... > First Index: 1001, Page Step: 1000, [x]Top Left, [x]Rows > [OK].
4) Rename any schematic-B nets (traces and/or pours) that you do not want to be merged with similarly-named nets found in schematic-A, then resave schematic-B without closing it.
5) Update PCB-B: File > Update Layout from Schematic... > By Components... > in the "Open" dialog window, select/highlight schematic-B, click on the [Open] button and resave PCB-B without closing it.

6) Open schematic-A in another instance of DipTrace and make sure it has enough room to add schematic-B to it. This can be accomplished by enlarging schematic-A's sheet(s) or adding another sheet. If adding another sheet, make sure to apply schematic-A's title settings to all sheets: File > Titles and Sheet Setup... > select the [Title Blocks] tab, in the "Apply Settings To..." drop list choose "All Sheets" and click on the [OK] button.
7) Copy all of schematic-B (Ctrl + A, then Ctrl + C) and paste it into the available space of schematic-A (Ctrl + V). Move the pasted (and still selected/highlighted) elements around using the arrow keys (if necessary), then resave schematic-A.
8) Close schematic-B.
9) Open PCB-A in another instance of DipTrace and make sure it has enough room inside its Board Outline to add PCB-B. If necessary, enlarge PCB-A's Board Outline to make more room. Also, consider how copper pours are to be handled between the two layouts. It is possible one or more of them will have to be deleted and/or redrawn to prevent conflicts. One option would be to exclude the copper pours of PCB-B during the copy and paste operation outlined in the next step.
10) Select/highlight all of the desired elements of PCB-B, except for its Board Outline and any copper pours you wish to exclude. The "Edit Selection" tool can help in this process (Edit > Edit Selection...) and then the selected elements can be copied (Ctrl + C).

11) Paste the newly-selected/highlighted elements into the available space on PCB-A (Ctrl + V). Move the pasted and still-selected/highlighted elements around using the arrow keys (if necessary), then resave PCB-A.
12) Close PCB-B.
13) Update PCB-A: File > Update Layout from Schematic... > By RefDes... > in the "Open" dialog window select/highlight schematic-A, click on the [Open] button and resave PCB-A without closing it. This ensures the newly-altered PCB-A is in sync with the newly-altered schematic-A.
14) If desired, reset all of the reference designators for schematic-A and PCB-A: in the Schematic Editor select Tools > RefDes Renumbering... > First Index: 1, Page Step: 1, [x]Top Left, [x]Rows > [OK] > resave schematic-A. Then, in the PCB Layout editor, select File > Update Layout from Schematic... > By Components... > in the "Open" dialog window, select/highlight schematic-A, click on the [Open] button and resave PCB-A.
15) Update all copper pours.

16) Run all verification tests in both editors, tidy up any messes and resave both files with appropriate names.

I hope I haven't forgotten anything. Good luck.
Tom

acetate
Posts: 2
Joined: 08 Dec 2018, 19:20

Re: Combining Schematics

#3 Post by acetate » 20 Nov 2023, 15:13

Thanks for these instructions. This has worked great.

I have one remaining issue. I'm struggling to find a way to find all nets that will be merged on paste. I thought originally that I could search a diptrace XML for all nets with UniteByName=Y". But I've found that nets with no lines, only named references, don't get that entry in the XML. Is this a bug or is there another way to find all nets that will be merged when pasting?

Tomg
Expert
Posts: 1998
Joined: 20 Jun 2015, 07:39

Re: Combining Schematics

#4 Post by Tomg » 22 Nov 2023, 05:49

Sorry, but I don't have an answer for that. Perhaps the developers might be able to help.
Tom

Post Reply