IPC Netlist Origin vs. Gerber Origin

TL;DR: The origin point for the IPC netlist seems to be stuck at the “page origin”. Can I make it so it coincides with the Gerbers?

Background: Part of my workflow is to always compare the gerbers to the IPC netlist. Why, because my previous tool would (rarely) make erroneous gerbers. Its own built-in checker was no good because it apparently used the same engine to compare as it used to generate, so I use a third-party tool that always finds the errors. Now heaven forbid I suggest that KiCad could ever make a faulty gerber, but I just can’t shed the “trust but verify” mentality. So today I loaded my latest project into that tool, and found that the board is offset from the netlist by exactly the distance to the page origin. So, should I put my drill and grid origins way up there, far from my board? Or do I have to move my board (please say no)? What is the gerber origin, anyway: same as the drill?

It took me a while to find: PCB Editor / File / Fabrication Outputs / IPC-D-356 Netlist File.

I generated a few of those, an compared the output with meld (a text comparison program), and the coordinates in the files did change when moving: PCB Editor / Place / Drill/Place File Origin.

I also did not see any options when generating that output file. When you create Gerbers or drill files, there is an option whether to use the upper left “zero” or the drill file origin.

I did this in:

Application: KiCad PCB Editor x86_64 on x86_64

Version: 7.0.0-rc1-unknown-c5ef51d688~164~ubuntu20.04.1, release build

Libraries:
	wxWidgets 3.2.1
	FreeType 2.10.1
	HarfBuzz 2.6.4
	FontConfig 2.13.1
	libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3

Platform: Linux Mint 20.3, 64 bit, Little endian, wxGTK, xfce, x11

Build Info:
	Date: Jan  7 2023 20:32:58
	wxWidgets: 3.2.1 (wchar_t,wx containers) GTK+ 3.24
	Boost: 1.71.0
	OCC: 7.5.2
	Curl: 7.68.0
	ngspice: 38
	Compiler: GCC 9.4.0 with C++ ABI 1013

Build settings:
	KICAD_USE_EGL=ON
	KICAD_SPICE=ON

Oops, I see I used V7.0.RC1 accidentally…
Re checked in V6.0.10 with the same result.
I do not know what that netlist file looks like graphically. You apparently do, and it should not be too difficult to see what origin it uses.

On a side note.
Do you know you can include netlist info in gerber files?
Below a screenshot from the Gerber plot dialog (From KiCad V6.0.10 this time):

Hmm, I’ve been fooling with these settings, and moving the various origins, and not getting any different results. FWIW, here is a screenshot of the comparison. The white carets in the upper left are the endpoints of the nets in the IPC file (pointing up or down depending on board side).


For comparison, here is a board I did in August 2022, whatever KiCad version was current at that time (using 6.0.9 now):

So I think something changed in KiCad. There’s so many variables here it’s hard to do a controlled test to find what’s different. Not sure if I want to start dogging this down now if there’s no easy solution.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.