← Back to team overview

kicad-developers team mailing list archive

Development of IDFv3 export

 

Hi folks,

 I've just tested a very bare IDFv3 exporter since I didn't have the patience to manually model a board with almost 300 thru-holes. The code works in much the same way as the gencad and vrml exporters.  I just have to clean up the code, sort out the dialog issues (I cry whenever I have to work with wxformbuilder), and prepare the patches.

 What the code does:
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.

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.

 What the code doesn't do:
1. Currently no associated library file (*.emp) is generated. Ideally a file would be generated using data from various component files in a fashion similar to the VRML exporter. For proper support of this I will need to come up with a proposal to make a variation to the pcb file format so that all existing pcb files can be used and future files will have a flexible mechanism for simultaneous support of multiple MCAD formats. This work would also involve changes to the cv-pcb editor of course, so it's not trivial.

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

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.

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.

Any questions/comments?

- Cirilo


Follow ups