← Back to team overview

kicad-developers team mailing list archive

Re: Development of IDFv3 export

 

On Wed, Dec 04, 2013 at 01:02:27AM -0800, Cirilo Bernardo wrote:
> 1. exports a rectangular board based on the board bounding box; the board is reduced in size to compensate for a 0.1mm line width.  The intention is to eventually create an outline from the information in the edge layer; however, the information in the edge layer will require some processing to present it in an IDF compliant form.

Why the reduction? The mill is supposed to be the centerline of
the edge (in every standard I've seen), so no reduction should be
done... it's the fabricator that has to adjust his mill for tool
diameter when cutting/scoring. Ideally PCB edges are 0 width (but for
obvious reasons need to be shown with >0 width:D)

> 2. exports a DRILLED_HOLES section; currently only pad holes are exported but if anyone has some need to export via holes I can do that as well. Since IDF does not have slotted holes, slots are currently represented as round holes using the minor diameter. The intention is to represent slots as part of the board cutout.

A flag would be useful (in pcbnew) to tag a 'mechanically significant'
hole. That would be both for IDF and other exporters (like VRML): why
export all the component pad holes? only the fixturing and some
significant holes are desired. The pin in a TO220 are not:P

> 1. If modules may contain cutouts, it should be trivial to support module cutouts once the board outline code has been sorted out.

Just sort the subpolys to keep the winding correct. In fact, collect all
the edges from the board AND the modules and reconstruct the outlines.
SPECCTRA code already (should) do that, at least for the winding and
polygon building part. But AFAIK pcb edges are not yet enabled in the
module editor.

> 2. Even after implementation of the library output and proper implementation of the edge outline, the work will only implement a small fraction of IDFv3; if people have a genuine need for other IDF features it may be possibly to implement them.

Vital question (for the fundamental usage of IDF3): where do you get the
heights from? Other for that IIRC IDF3 uses the same representation for
components and board edges (wound polygons). The issue is that you don't
have any guarantee about stuff on the silk layer (like... closeness or
being polygonal at all). Of course the 'right' solution would be
a (pair of?) layer(s) for taking the IDF data from.

> 3. IDFv3 import of a board outline is actually fairly trivial (sadly, conversion from Edge layer to IDF is not trivial). If anyone wants an IDF importer simply for the board outline, cutouts, and mounting holes, let me know and I'll put it on my list of things to do.

Never heard of someone actually doing that :D


-- 
Lorenzo Marcantonio
Logos Srl


Follow ups

References