Negative y-coordinate in Specctra DSN

I was wondering why the coordinates in the editor do not correspond with the coordinates in the exported DSN?

After exporting I find the following placement statements for the resistors in the Specctra DSN file:

(component Resistor_SMD:R_0805_2012Metric
  (place R2 78650 -70110 back 0 (PN 10k))
  (place R1 76100 -51300 back 0 (PN 10k))

However, in the DSN I see that the y-axis is negative of what is indicated in the pcbnew editor. After taking into account the unit and precision, which is mm for pcbnew and 10 um for the DSN.

I don’t see any arguments that indicate flipping or mirroring in the DSN.
It’s the same if you place a component on the front or on the backside.

Anyone any idea why this happens?

Probably specctra is using a “normal” (right-handed) coordinate system (just a guess). KiCAD’s y axis is increasing down, but in other programs it’s usually up.

1 Like

Many CAD programs use the

Cartesian_coordinate_system as learned at schools directly for internal presentation.

KiCad does not.
KiCad internally uses coordinates in the way it is common for programming monitor coordinates in a GUI, spreadsheets, and before that: texts in a terminal. (0, 0) is in the upper left corner (where the cursor starts) and positive coordinates go rightward and downward.

This is a decision made in the infancy of KiCad (some 25 years ago!) and on itself it probably does not matter much. You already have metric to inc conversion (and the other way around) monitor zooming, shifting of the origin, and probably other scale factors during import & export.

Changing it now would probably mean a lot of work for very little benefit. The “old” way would also still have to be in KiCad to maintain compatibility with reading old designs made in KiCad.

KiCad-nightly V5.99, internally still uses the same coordinate system, but you can choose in the settings in which is the “positive” direction for both the X and Y axis and which offset to use for the coordinates presented to the user in Pcbnew / Preferences / Preferences


One of the issues with KiCad placing the origin in the upper left corner of the worksheet is how coordinates are presented to external applications.

When generating some fabrication outputs like a drill file, the user has the option to use the Aux Origin and to invert the Y axis. Plotting Gerbers also allows selection of the Aux Origin. However, other outputs do not provide this ability.

The 5.99 feature to allow coordinates to be displayed relative to the Aux Origin and to flip the Y axis does not change the internal representation, so these peculiarities when exporting to other formats remain. DSN export, for example, does not provide for changing the origin or axes.

We go round and round with this issue. Top left origin is the standard in computer graphics for historic reasons (CRT scans that way) and has found its way into video compression eg MPEG and games from the era when the processor wrote directly to the video buffer.

Also in the coordinate system for page rendering languages like PostScript and PDF.

There is no right or wrong. It’s what happens when two world views meet.


Probably because typewriters and later on printers, also started top left.
Proper support for other writing systems eg Arabic right to left came late into word processors. Traditional Chinese, Japanese and Korean are top to bottom and columns are right to left and have even worse support.

Though that tends to be for calligraphy nowadays. You won’t find that on Alibaba unless it’s a graphics panel.

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