I was really happy when I saw that Diptrace 4 will get variant support.
But, I must admit, I'm really disappointed by how it was done.
Here is why:
Because it is only supported in PCB Editor and not in SCH Editor;
I'm asking what's the point of having a schematic which doesn't reflect your assembly ?
Yes, the schematic represent the topology of your circuit but it also represent the assembly of your final product ?
When you select a variant, all the related documentation should be updated accordingly which means;
- In the schematic, unmounted component should be graphically updated so you see that the component is not mounted, could be a symbol near the RefDes or grey out.
- Component Area on assembly layer should be hatched when marked as Not Mounted.
- Variants should be reflected everywhere, 3D model, BOM, pick and place, assembly documentation
What I mean is; a parts which can be substituted on the same footprint but which doesn't have the same electrical parameter.
Ex;
- I have a design which is a power supply, the schematic and PCB has been designed to accomodate 2 different assembly.
- On the assembly A; I use the meanwell PCB Mounted power supply IRM45-12.
- On the assembly B; I use the meanwell PCB Mounted power supply IRM60-15.
- IRM45 and IRM60 has the same identical footprint, so I want my PCB having the same RefDes for both assembly (PS1).
The workaround right now;
- Workaround 1.: On your schematic put to component PS1 (IRM45-12) and PS2 (IRM60-15), and overlay both footprint, in your variant select PS1 or PS2 being mounted. Well, its a no go to me, will throw DRC error.
- Workaround 2.: On your schematic put one component PS1 (IRM45-12) with a footprint another PS2 (IRM60-15) without a footprint, in your variant select PS1 or PS2 being mounted. I think its better that the first solution, but I don't want to create component without symbol if they have physical footprint. If I have multiple part to replace it because too much work.
- Workaround 3.: Copy/paste both of your schematic and pcb for new variant, replace all the part number needed on your schematic and pcb with the one required by assembly B. Well, completely defeat variant purpose. Error prone, and too much works when you have multiple variants.
Honnestly, I don't know what would be the best solution for you to implement the feature in both schematic and pcb editor and keep synchronization between both, simply Diptrace doesn't have a Project Level management system where all the files are binded together.
Anyway, to inspire you, I let you see how it works in a known ECAD.