GenCAD file issues

Has anyone used a more mainstream assembly house and sent them GenCAD files? I have found issues with part orientations on the back of the board, but only for parts where the pin 1 is in the the vertical orientation… I’m wondering if this is an issue with Kicad’s export process, or an issue with the assembly house reading of the files. (The assembly house didn’t want *.pos files)

as an update to those interested, I found there is actually an issue with the way kicad exports gencad data and filed a bug on it.

I use it and I have never had issues…

In saving your file you could try different file extension. Look for a file extension that will work with assembly house. There may be a compatibility issue with the file you are trying to export. Another possibility is that there may be a setting that needs to be manually selected to have the result you want, try browsing the help link.

electronic assembly services

I am having similar issues. There are several issues with the GenCAD export. The GenCAD format is in some places a bit vague, so readers are generally quite flexible.

Bugs:

Components located on the back side of the board have the FLIP flag but are not mirrored, so the pins are in the wrong locations. I have a board with the same component on the front and back, and it looks like KiCAD thinks they are magically mirrored in the X direction when you say FLIP. However, no mirroring is done unless it is specified. For example, my board says:

COMPONENT P4
DEVICE P4_CONN_01X02
PLACE 0.275591 -0.614764
LAYER BOTTOM
ROTATION 180
SHAPE P4 0 FLIP
TEXT (labels and so on)

This should probably read “SHAPE P4 MIRRORX FLIP”. FLIP will invert the pad stacks, and MIRROR_X will mirror the pads around the X axis. (P4 is correctly rotated 180.)

Mirroring occurs before rotation.

From the gencad spec “All data is explicitly defined; there is no implied change of data. For example, placing a component on the bottom of the board does not imply that its shape is mirrored. The shape must be given a mirror parameter if it must be mirrored.”

One other less critical problem is breaking some import tools but not other tools. Most GenCAD generators will start each ROUTE with TRACK and LAYER statements. kicad’s assumes that track and layer are carried through the entire section. Thus, what I am getting is:

$ROUTES
ROUTE VCC
TRACK TRACKNAME
LAYER TOP
( lots of LINEs )
ROUTE MyNet
(more LINEs)

I would normally expect every ROUTE section to start with LAYER and TRACK for clarity. However, I believe this is allowed by the GENCAD spec (it is not actually required but fairly weird to see it omitted).

FYI I’m running KiCad built from source git/master with just about everything enabled, on Funtoo.

Also, the Gerbers are correct and the manufactured circuit boards are superb. :slight_smile: Just saying.