I am an infrequent user of PCB123 (or Designer of PCBs for that matter)
When I open an old design today, all parts are still there (that has not always been the case). I use mostly custom or customized parts, but between designs I change computer, OS or PCB123 version.
This means that my custom taxonomy families are lost.
Quickly recreating a custom taxonomy family using parts from an older design or from any of the other families for my next design is difficult, if not impossible. I can edit footprints and save them to my new .slb library, but schematic and taxonomy information are lost. (I can copy them on paper and re-enter them which is a painful process).
Could the software work as follows?:
Opening an existing project 'xyz.123' will create a custom taxonomy family 'xyz' (with the .tax, .sym and .slb files to support them). Parts from any family can be copied to another, so before starting a new project, a new custom taxonomy family can be created containing all the parts needed for the new design.
Another helpful feature would be if custom libraries (.tax, .sym and .slb) files could be stored in any location other than just the appdata directory. This way, managing, reusing taxonomy and parts on different computers (even at the sam time) becomes more manageable. I lost my custom files more than once due to a crashed or new PC.
Another great feature would be to be able to generate and import PCB objects, a group of components routed together. Example, a microprocessor with 8 identical inputs. By creating one object 'input' (screw terminal, optocoupler, LED, rectifier diodes), the object just needs to be imported 8 times and placed on the project where it can be connected to the microprocessor terminals. If you change a component on object 'input' all eight inputs of the processor change as well. The next design, with a different microprocessor of only 4 inputs, object 'input' can be reused. The object is identical to a part (footprint, schematic and taxonomy), but it has its pins routed. The creation of an object would be identical to the creation of a complete PCB.