Curved traces in layout editor


#1

I’d love to see an implementation of curved PCB traces, similar in capability to that of Autodesk Eagle:

  1. Support for arc traces in the layout editor.
  2. The ability to mouse select and drop the end of a 45 degree arc to define its radius.
  3. The ability to apply rounded corners to angled traces.

I believe Eagle implements arc paths in exported gerber code by generating many small straight-line segments. RS-274X supports circular interpolation coordinates for plotting arcs, but I don’t know the extent to which this is supported by the PCB fabrication industry.

While the significance of rounded traces for electrical performance is a matter of some long-standing debate, I offer the following justifications:

  1. Artistic expression.
  2. Stress management in flexible PCBs.
  3. Convenience for certain types of layout, e.g. LED rings and other non-rectilinear designs.
  4. Certain unusual RF applications.

The KiCAD community has discussed this feature, but it appears to be a low priority.


#2

Hi,

Generally I agree to allow curved traces. But only arcs, not splines or so, because arcs can easily be exported to Gerber (I see no need to approximate them with straight lines).

Currently I also don’t see any fundamental issues with curved traces, I expect the implementation to be straight forward, although quite time-consuming.

The only thing which might be a critical thing is the push&shove router from KiCad, which we plan to integrate into LibrePCB (Add interactive push and shove router from CERN/kicad/horizon). I’m not sure if it works with curved traces. If not, it would be very bad to have curved traces, but no longer be able to use the push&shove router.


#3

Oh no, that’s probably a blocker indeed :cry: I would love to see curved traces, but it will probably add some complexity to routing and also things like planes. (Although in some cases like planes we might get away with approximating arcs as line segments as a poor-man’s solution.)

I’d also prioritize a router over curved traces.