IIRC the Margin layer has been mentioned in the development mailing list lately. I still don’t know what it’s meant for but I had the impression it will be used some day for something more precisely defined. Personally I would avoid that layer for now and use other user layers for whatever “I would like to use it for”.
The explanation of the Edge.Cuts layer is very nice!
I am new to KiCad (before my first PCB).
I have another question about Edge.Cuts.
Why in footprint editor I can’t use Edge.Cut (some layers are grayed and can’t be selected)?
I am planning to make trafo by hand during PCB assembly (2 turns : 3 turns on 12mm diameter toroid) and I would like to put toroid vertically in a rectangle (rounded corners) whole in PCB. It would be easier if designed whole follow the footprint placement.
I can imagine other needs to have whole defined with footprint - for example in hi voltage separation elements.
There are several reasons you might use fiducials and depending on the reason they may be inside the board outline (edge cuts) or outside of the board outline.
Layer alignment targets are almost always outside the board outline. I have seen them placed inside the board outline but it is very amateurish, the layer alignment targets end up on all copper layers as well as in the solder mask and printed on the silk screen, not very professional looking at all.
I don’t know “why” you are not allowed to edit the Edge.Cuts layer in Footprint Editor. There are two workarounds. I don’t like either one of them, but you can evaluate them for yourself by looking at the thread " High Voltage Footprints with PCB Cutouts ".
The reasoning given by wayne is that it is quite hard to get a closed (continuous) polygon when part of the board outline is inside a footprint. (It would require snapping to line ends to make this workflow easily doable.)
For almost anything but a simple rectangle it is just as difficult to get a closed polygon on the Edge.Cuts layer in PCBNew. That is why I do many of my board outlines in a separate CAD program, where I have tools for, e.g., snap-to-ends, place a line tangent to an arc, join intersecting lines with an arc, etc. Then I import the outline to Edge.Cuts as a *.DXF file.
True, but it doesn’t seem that would be an issue if the entire polygon was in the footprint. (This would be the case for a cutout, and it could even be the case for the exterior board outline if there is a footprint for a standard form factor like an Arduino shield or Pi HAT.)
Yeah, I wish PCBNew treated a polygon as a single object, instead of a bunch of unrelated line segments. I’d like to be able to drag corners or edges of a board outline, the same way I can drag corners or edges of a filled zone.
Edge.cuts: This layer is used to communicate with the manufacturer what the final board shape should look like.
The edge-cut is must not contain self intersections
Polygons on the edge-cut must be continuous and closed.
Can you tell me where from is the need that Polygons must be continuous and closed as it is only used to communicate with manuacturer?
What is the problem if the lines are little intersected at their ends.
Using my old Protel 3 I have recently designed the PCB being generally the circle, but with 3 hollows (word from dictionary - not sure of meaning). Each of hollows where constructed from 3 arcs so the total edge-cut was a set of 12 arcs. As I define them by center+radius+start/end angle their endpoints certainly were not perfectly at the same points. I’ve done them to have little intersection to not left gaps.
Manufacturer we ordered prototypes had no problem with it. Contract manufacturer who orders PCB from some other manufacturer also reported no problems.
I didn’t started PCB under KiCad yet. Where, with what and why I will fall in trouble if I make edge-cut in KiCad that way?
It’s a general recommendation. As for most other things regarding gerbers and communication between you and the manufacturer, it depends on the manufacturer. Having closed lines is always safe and a good practice, but I believe most manufacturers can live with non-contiguous edge lines (with small tolerances, that is, not like 1mm gaps!). It’s very annoying that KiCad can’t always do them correctly and for many users it’s too much to learn and use an external mechanical CAD program to draw lines.
I understand users for whom it is too much to learn.
About a year ago I spend some time learning LibreCAD ended with my one simple mechanical drawing I needed that time. I like some solutions (compared to OpenOffice Drow I used before), I had to find how to solve some problems. Fortunatelly people at forum told me workarounds.
An year passed and I needed next simple drawing - I found I remember a little - I need to learn once more.
I wonted to learn Inkscape (just for myself). During 6 months (using any free time) I studied the whole Inkspace tutorial and when I tried to do anything myself I found that I have problems with the basic things. If you collect everything you should learn then no time for work lefts…
I have also decided I should learn C#. I hope I will not have to learn Python (for KiCad) but I didn’t get to BOM in KiCad yet - we will see.
I believe KiCad has some features (that I haven’t used) that depend on KiCad knowing what’s “inside” the outline and what’s “outside” the outline. (e. g. “Spread out Footprints not already on Board”, or “Automatically place all Footprints”) In order for KiCad to find the “inside”, the outline must be closed.
With PCB manufacturers, it probably depends on how automated the process is. If the manufacturer is manually reviewing the order, they can probably fix up little problems like this. But a fully automated system like OSH Park requires that the board outline be “watertight”:
I’d like to know with how precision it must be closed.
I have read here that a good way is to design complicated outlines outside and import to KiCad. In such programs there are possibilities to automatically cut too long parts of lines (including circles (elipses)). But even after are they perfectly, continuously closed, and do position resolution in KiCad is the same or better to assure that continuous outline imported is still continuous.
If it would be said:
if separation betwean pouring and outline you set to x than a gap in outline less then 2x is no problem, or
the max allowed gap is 0.0001mm, or
a little longer lines are no problem.
then I would know how to define outline made by circles.
I can’t check if something is (can be) the problem because I don’t know if it is only a question of pouring.
According to this mailing list conversation it has a tolerance of 0.01mm (External tools like kicad stepup are not so tolerant. This might change in the future. -> might be best to create boards with closed polygons.)