FreeDiffPair: Generate free-angle differential pair

Recently my project contained a large number of differential pairs, and the built-in 45-degree angle differential routing did not maximize the use of space on the PCB.
So I made a plugin for free angle differential routing:

  1. Prepare a 45-degree routing differential pair
  2. use the built-in function to rotate it to the angle you want
  3. Use single-ended routing (with the free angle turned on) to route one of the differential pairs
  4. select the previous differential pair and the new single-ended
  5. use the plugin, it will generate the complete differential pair based on the single-ended

GIF
0x915/KiPCBTools: Kicad PCB Tool
Releases · 0x915/KiPCBTools
Download the zip from releases and install from the file.

Currently unavailable inputs, tilted differential pairs fanned out from pins.
I’m still thinking about how to simply filter it out from the input tracks in.

This plugin enables the logger logger by default, if you encounter any strange problems, please execute the log of the plugin at the same time. The logs are in Chinese, including comments in python scripts.

What would it take to build the algorithm into kicad, I went to the pcbnew source code and I can’t seem to find any entry point for differential pair free angle wiring. What I envision is that I write a function that takes as input the current 1. edited differential pair 2. the current PCB coordinates of the mouse, and then calculates, and returns 1. the coordinates at which the new differential pair follows the mouse.

4 Likes