leomcelroy / svg-pcb

Design PCBs in the Browser
https://www.leomcelroy.com/svg-pcb-website
GNU General Public License v3.0
64 stars 9 forks source link

Additional routing primitives #65

Open ducky64 opened 11 months ago

ducky64 commented 11 months ago

While polyline routing might be sufficient for a lot of things, we can get fancier with parametric computational design. One routing primitive I've used is start-point + start-angle and end-point + end-angle, and using a curve inbetween. My implementation is pretty bad since it uses splines, but a more principled implementation can be to use two circular segments of equal radius. Would need more research on the right / clean / accepted way to do this mathematically.

Having a better fillet on polylines (especially where filet overlap is handled gracefully) might get close to this, but would still be less convenient since it requires additional points to be defined that aren't meaningful to the end result.