Why SVG, as a symbol could be a simple "trace" maybe traced using a Macro or code that will use Part or Draft primitives, ISO symbols are not too difficult to implement, and many things, could be resued in the code, an inductor and a variable inductor or resistance has many thing in common.
Similar approach is used as exmaple in CircuiTikz to draft schematics using Latex, each component expose the position of pins as "nodes" and route wires are attaching to these nodes, if you change something, like the position of the component, chances are that you have to modify very few things.
as example a resistors could be coded to have some properties:
- orientation (horizontal or vertical)
- value (it has to see how text could be managed across different OS)
- variable True or False
and expose three properties:
P1
P2
P3 for variable resistors
quite the same for an inductor that could be reused as a coil in a relay "assembly" that could be reusing a swich for the contacts and nmaybe names (S1, S2, S3 and so on).
The relay is an "aggregation" of a switcth, an inductor and a box that surround them plus few other things.
pins could be exposed as "global coordinates" to be retrieved for connecting wires, so R1.P1 in an expression could be used to specify the position of the P1 of the object named R1, if you change orientation the values in P1 and P2 are modified and the schematics could be modified.
What I don't know it this could be easily done in TechDraw, and if properties could be retrieved easily as global coordinates to be used to retrieve start and ending point for a wire route.
Sorry for the intrusion.
Regards
Carlo D.