Suppose I have a subcircuit which apperas many times inside a bigger circuit, it would be nice if there was a way to define its footprint only once.
My use case is: I am drawiing a board where there are many 8x8 led matrices, each driven by a MAX7219. The connection between 1 matrix and its MAX7219 requires 16 connections. I would like not to have to repeat it manually for each matrix.
I tried to achieve that with no luck both using new component or using sub-modules. Using modules, when I place many instances of a schemnatic module in a schematic, there is no way to decide whch net names are local to the schematic and which are global. Furthermore, when I convert to PCB, there is no way to make it use the PCB module corresponding to the schematc module. Using components, I get lot of conflicts with net names.
Please find below an example using components.
Example:
I create a PCB-LIB with two resistors in series (name MYCOMP):
padR1_1- R1 padR1_2 - wire - padR2_1 - R2 - pad_R2_2
I create a SCHEMATIC-LIB (name MYCOMP) with two pins, associated it with MYCOM PCB created above, and tie the two pins with pad_R1_1 and pad_R2_2
I create a new project and place two components of type MYSCH.
Convert to the PCB
Now the problem is that the internal component connection "padR1_2 - wire - padR2_1" shows a DRC error.
Complicating a bit the example, let's say the schematic fro MYCOMP is defined using nets:
NET_GND - padR1_1- R1 padR1_2 - NET_X1
NET_X1 - padR2_1 - R2 - pad_R2_2
when I place an instance of MYCOMP on a manin schematic, I would like to control how the net names are expanded: I want that NET_GND remains unchanged, so that it is global, while NET_X1 is prefixed with a unique string to make it local, so that it remains local of this schematic. For instance I could define this using question marks, to mark nets which are local:
NET_GND - padR1_1- R1 padR1_2 - NET_X1?
NET_X1? - padR2_1 - R2 - pad_R2_2
Last it would e nice if when I define a new component like this, if I could choose for it to have global visibility ot project only visibility