I saw there is a old-plug in for this for sch. But what is really required is something different.
What it has to do :
two scenarios :
Suppose I am routing a diff pair, and I get to the ‘end’ and the _P and _N pads are transposed - that is, my diff pairs would need to cross each other to connect to the pads. The rats nest connections off the ends of my traces will cross.
Solution (for most instances ) - User pauses routing, and select by menu or my keystroke, SWAP, then clicks on of the diff pairs, then clicks the other. Voila ! the NETS on those pads and associated connected copper are swapped. Then I continue routing and complete the diff pair connection.
At a convenient time, I have to UPDATE SCH from PCB.
This then swaps the NET names in SCH. Note- this only works if my pins in SCH have stubs with their net name, so the tool only needs to swap net names, and does not (can not) move wires.
This is a continuous task when wiring up a FPGA.
Another example- say I want to use a different pin for my IO (maybe a different single pin, or maybe I want to swap a bunch of diff pair pins) . Again, pause routing, click/key SWAP, then click first pad, then second pad and voila , the NETS swap. Then I go and update the SCH.
IE is is a 'engage swapper, select 1st pin with first click , select 2nd pin with 2nd click ’ function.
Ideally it should swap all copper connected nets attached to the pad, this is because one goes through and attaches fanouts to the balls behind any routing. so the stringers have to change net name also.
The changes occur in the netlist level in PCB, and the tool updates te board and copper, and the rats-nest needs to update also to provide confirmation to the user.
then are reflected back into SCH when the update SCH command.
An option / ideally, schematic pins should have a property CAN BE SWAPPED, however this should not be retained in the schematic symbol, in case the symbol is updated. It would need to be in a separate table. IE a list of pins on a component Like U1-1, U1-2, U1-3 (or the UUID designator) and 0 or 1 for if that pin is permitted to be swapped or not , this can stop you swapping what you shouldnt some some obscure reason . this is nice but a big extra step. basic pin swapping will do for 99.99% of requirements.
Now, there are many enhancements to this, in fact Altium permits part swaps (say swap which inverter of a 6 pack inverter you migth use at the pcb , and allows you to define what pins you can and cannot swap- ) very elaborate but hardly necessary. , well the CAN BE SWAPPED property is a useful one I guess. But the pad net swapping is essential.
For some background on the full bottle Altium version Swapping Pins, Pairs and Parts in a Design in Altium Designer | Altium Designer 24 Technical Documentation
-glen