question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Output board dimensions in mm by default

See original GitHub issue

Rather than the dimensions used in the Gerber files. The outlineGapFill option should also be in mm by default.

Issue Analytics

  • State:open
  • Created 6 years ago
  • Comments:7 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
mcouscommented, Mar 21, 2018

Yeah outlineGapFill has always been kind of a kludge, so I’m not really invested.

As for the units thing, I’m mostly approaching it from the standpoint of:

  1. Not introducing breaking changes when an option will do
  2. The units are involved all the way down the stack
    1. A given layer is going to be in. or mm. depending on the Gerber - Gerber coordinates are effectively mirrored in SVG land because the whole conversion is (basically) just a mapping function
    2. A unit difference between a layer and the board adds a transform attribute to that layer in the stackup
    3. Defaulting the board to mm without also defaulting the entire conversion process to mm would mean using Gerbers in inches creates board renders that are just a little bit harder to display every time - (Aside: defaulting the whole stack to mm might be good idea, but is a much larger project)
0reactions
mcouscommented, Mar 9, 2019

In hindsight, (and based on debugging some outlines with gaps) I think the switch to mm for outlineGapFill may have been a mistake. From what I can tell, outline gaps are often a function of resolution loss during gerber output from CAD. The resolution loss is caused by the fixed-decimal coordinate format of the Gerber file, which quantizes the locations that a segment’s endpoints can land on.

When outlineGapFill was “unit-less”, it was (almost) functioning as an epsilon, at its best saying “if two outline points land on adjacent discrete coordinate spots, consider them at the same point.” Specifying outlineGapFill as layer units was a confusing choice, though. Also, it wasn’t actually functioning as an epsilon because its value wasn’t tied to the coordinate format; its default value was simply selected to line up with the most common format.

Since the previous way of specify outlineGapFill was definitely more confusing than locking it to mm, I don’t want to revert it for 4.x. For the 5.x line, though, I think the most proper thing to do will be to change the option to an epsilon that is tied to the coordinate format. For example, 1.5 would actually do the “merge adjacent points in the matrix” thing.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Solved: Is there a way to set millimeter as default in Eagle cad
Hi all I am French and I prefer works with metric millimeter GRID. Is there is a easy way to set "millimeter" in...
Read more >
Switching Units From MM to Mils and Other PCB Design ...
Switching from MM to Mils in the Schematic​​ These preferences can be found by clicking on the gear wheel in the upper right...
Read more >
Standard PCB Sizes: What to Know From an Assembly ... - VSE
Other popular board sizes include 2.36 mm and 3.18 mm, which just happen to be 150% and 200% of the 1.57 mm board...
Read more >
PCB Copper Thickness: General Guidelines and Tips
Copper Weight Minimum Spacing Rules ; 1oz. 3.5 mil (0.089mm) ; 2oz. 8 mil (0.203mm) ; 3oz. 10 mil (0.254mm) ; 4oz. 14...
Read more >
Instructions for ordering - JLCPCB: Help & Support
To make the silkscreen clear on the board, the width of the texts ( filled lines) and the space between letters need to...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found