I’m using Flatcam to produce G-code for engraving the PCBs on my CNC.
Under Pcbnew, I basically plot in gerber format the copper, the holes and the edges, selecting the lowest “Default line width” on the plotting window parameters.
Normally, I use 0mm (sometimes I forget) for the edge.cut layer lines width and the plot window can’t go that low but 0.02mm is fine for me. Plotted as such then imported under Flatcam, the final width is correct.
For some reason, today, the thickness of the edges.cut layer lines was 0.8mm.
Although the plot window, under Pcbnew was configured at 0.02mm, the plotted file was exhibiting 0.8mm thick lines. It seems that the “Default line width” does not represent the edges.cut configuration but something else that I didn’t understand.
And, of course, I rarely verify the line width under edges.cut layer, relying on the plot window, hence the errors! That is the 0.8mm that trigged my attention today and I’m just realizing the reason why I had random non-conformances for a while, concerning the outer dimensions of the PCBs.
This is a real PITA because under Flatcam the tool path doesn’t follow the center of the line but the edge (I’m using Isolation routing with an 1.6mm depth for machining complex shapes).
In conclusion, the wider the edge lines the wider the final error.
Back to Pcbnew, for me this behavior smells like a bug but I possibly misunderstood the way the plotting function is working.
For KiCad it is just graphics on the Edge.Cuts layer, and you can select these lines and modify their properties such as width.
KiCad uses the width of lines on Edge.Cuts to calculate edge clearance for zone boundaries, just as it does with normal copper tracks. But apart from that it (mostly?) ignores the line width for the Edge.Cuts layer.
Because graphics on Edge.Cuts can be normally edited, it seems likely that you changed it yourself by accident. Maybe that line was part of a block select and edit at some time in the past.
I’m not sure what KiCad puts in the Gerber files for Edge.Cuts, but that should be easy to check / verify.
I use CopperCam to CNC mill PCBs and was curious to see what happens if I change Line Widths for Board shape and cutouts…etc.
I manually thickened ‘One’ line width (double-click) and set it in the panel (from 0.15 mm to 0.5mm).
Exported Gerbers and loaded into CopperCam.
The ‘thickened’ Line loads as a thickened line and when selecting it as the board’s contour path, No Problem; Lines are interpreted as Point-to-Point paths without regard to line thickness.
I suspect (as @paulvdgh said, perhaps changed it by accident…)
The “default line width” on the plot box parameters is behaving in a strange way, it seems that there is something like a XOR or something else between this parameter and the width configured on the edges.cut layer.
If I put 0 or 0.01 in edges.cut, the 0.02 prevails, if I put 0.8mm on edges.cut, even with 0.02mm on the plotting box, the result is 0.8mm on the gerber.
My understanding is that “default line width” should be the width of the plotted line, regardless the thickness of the line on edges.cut.
In fact it is the min width of the plotted line as long as the edge.cuts lines are narrower. I don’t see the rationale for that.
Sorry Paul, It seems that I replied to you in Private. Here is my response:
The edges have no thickness regarding boundaries. An edge is a limit, nothing else. So normally, kicad shouldn’t consider its thickness for the calculations, at least, this is my understanding, I might be wrong. For me under Kicad, the thickness of an edge is just a question of cosmetics, useful however when a layer is plotted on a large sheet.
My use is different and, unfortunately it’s depending on this thickness that I want to be as low as possible.
In the pictures I joined, it is a test I made to illustrate the fact that even with 0.02mm per default, the plotted line is larger. please, see my other message.
I’m really puzzled by the behavior of the “default line width”.
regards
Yes, you are wrong. Exactly because the actual edge doesn’t have thickness but is in the center line of the graphical line, the line thickness can be used for other purposes. Whether KiCad should use it or not is another question; this is kind of a hack and some manufacturers don’t like it. It should be unnecessary in v6, see https://gitlab.com/kicad/code/kicad/-/issues/6448. (In short: back in time Margin was used for edge clearance, then not, now it’s used again and there’s no need to use edge.cuts line thickness.)
Yes, indeed. Real edges on PCB’s have no width. but KiCad uses the width of the graphic lines on Edge.Cuts to calculate how far to retract the edges of zones from the board edge.
I already wrote this before, so I think it needs a picture to clarify:
In the screenshot above I drew a rectangular outline for the PCB, but the bottom line is made from 2 line segments, and I gave the right line segment a width of 1mm, and then generated a zone that (nearly) covers the whole PCB. The edge clearance of the zone follows the changing line width.
Detail of the lower left corner:
This clearance is quite important. If the copper extends to the edge of the board, then during routing of the outline copper burrs can form and these can cause short circuits. Routing is a separate process from etching, and because it’s 2 different processes and done in different stages of PCB manufacturing the clearance to the edge of the board must be bigger then the clearance between copper items of the same layer.
==============
About the “Default Line width:” in the plot window…
The plot window is not only used for making Gerbers, but also for .PDF and .SVG files and some other formats. From you description I do not understand why there is a “XOR” going on, but it seems to be a minimum width. It does make sense to have a minimum width for lines in .pdf files and other graphical formats. In KiCad it’s also a bit troublesome to select very thin lines, because it’s hard to click on them. If lines have a minimum width, then you can zoom in until they are wide enough to click on them. This may also be a reason for using a minimum width (but I’m guessing here).
I had a look at the manual, but it was not very clear about this point. However, when hovering over the window I get some useful tooltips:
Hover over the black text:
Hover over the input window:
I also have a CNC machine and have some interest in Flatcam for milling prototypes, but I have not done it yet. I did install it once and it had a lot of settings. I assume there is a setting to align the edge of the mill with the center of the PCB outline. Even if this is not possible, then you can play a bit dirty by using a different setting for the radius of the mill then the mill actually has, and with that you can change the outside dimensions of the PCB a bit.
Make notes of settings that work for you.
Thanks a lot guys for your prominent responses. I learnt a lot about these details. I archived your posts for further reference.
I completely missed the message when hovering on the fields.
[off topic]
@ pauvdhl: About Flatcam, I tried the Beta 8.994 fork but the learning curve is very-very steep and I quickly reverted to ver 8.5! At the moment, I’m wondering if investing in Freecad’s Paths workbench would not be the best.
With ver 8.5, I can do almost everything I want and it’s not a problem to deal with line thickness, as far as it’s known, whatever it is. I wrote some tutorials for Flatcam 8.3 five or six years ago, they still can be used, the covered topics didn’t evolve to much. They are here: https://bitbucket.org/jpcgt/flatcam/wiki/contribdoc. Have a look if you’re interested and/or feel free to drop me a line in private. It will be a pleasure to help.
CopperCam is strictly for PCB’s thus, the learning curve is focused and quick to master. About 10 minutes. The limited-Use version is Free. Been using it a long time and was happy enough to buy it after a couple of projects.
(I run it on a Mac using Wine)
FreeCAD’s ‘Path’ workbench is what I use for CNC milling non-PCB’s. I used it for a couple of PCB’s several years ago - just to compare with CopperCam - no comparison! I’m a fan of CopperCam.
Below is Example of FreeCAD’s Path simulator. I did make this part and was simple to go from computer to finished part…
Your settings will be as you want - below are mine as a ref for clarity of filling the panels (I hope).
For milling the PCB bottom, I prefer to ‘Flip’ horizontally in CopperCam and not flip it in Kicad.
I suggest making a simple PCB in Kicad and trying out all Menu items in CopperCam…
Below is very quick usage Example and the screenshot of my settings. I did Not bother to Flip or set origin, select correct tools/drills…etc
Board-shape and one cutout on Edge-Cuts layer and one cutout in Dwgs layer. Vid shows adding separator for large pads close together along with added line contour on Text.
There are different approaches to doing it - I prefer doing it in the order shown in video… Note: Kicad’s curved lines in Gerbers often have the baggage of some a Pads at line start. Can select to delete them (in video…)
There are many useful things to know - if having questions, just ask. There are Youtube videos but, having taught myself, I haven’t any to recommend.
[EDIT - Added image of Kicad - notice Aux Origin and that it’s used by CopperCam to correctly set display…