← Back to team overview

kicad-developers team mailing list archive

future of complex board shapes

 

Lately I have seen more people asking about board shapes which are
not easily described by a small number of line segments and circular
arcs, and Jean-Pierre mentioned STEP Import for a board shape. I
think the best mechanism for complex board shapes will remain the
DXF format since STEP (or even IGES) can contain so much
information and it is impossible to guess the design intent; however
many MCADs will create a DXF outline which will make use of
circular arcs, line segments, ellipses, Rational Polynomial Curves,
NURBS, and occasionally even Bezier curves. I would suggest that
rather than think of attempting to import a board outline + cutouts +
drill holes from STEP/IGES we should add to the features of the
DXF importer to support at least ellipses and rational polynomial
curves (which is what SolidWorks uses even for circular arcs) and
possibly 2D NURBS if anyone knows an MCAD that exports it in DXF.

The question of natively supporting RPCs and NURBS within KiCad
is something to consider in order to preserve such information
which is ultimately imported from MCADs, even if we never support
native tools to edit these entities. Who knows, maybe in the future
someone would like to use such features to describe a track shape
rather than generating an inefficient line segment approximation (oh,
the DRC nightmare).

In the (far) future there is also the PRC file specification which I think
would be very good to support. At the very least we can create
previews of STEP and IGES files for quick display and this would
also allow the eventual creation and decoding of 3D PDFs.  The
specification allows arbitrary metadata which in theory we can exploit
to ensure that KiCad knows what parts are outlines, cutouts, drill holes
(N/PTH) and we can have more unambiguous exchange of data; of
course every MCAD would need an exporter which could provide the
information in just the way KiCad wants, so this would not only be a
huge project but we can safely guarantee that DXF will remain the
best general solution.

- Cirilo

Follow ups