← Back to team overview

kicad-developers team mailing list archive

Re: new kicadocaml release, new zone fill alg, if


First of all, Tim's work is astonishing.

Currently, ZONE_CONTAINERS. handles a zone outline and its filled areas (solid polygons) If you are speaking about zone outlines (.m_Poly member), the first polygon is the main polygon, and others are holes. Thre is no adjacent polygon because kbool merges adjacents or intersecting polygons. If you are speaking about .m_FilledPolysList member that handle filled copper areas, copper areas are non adjacent (will be merged by kbool) and each polygon has no hole. Moreover, pcbnew assumes these filled copper areas are not adjacent (in ratsnest calculations). To make no hole polygons, kbool adds overlapping extra segments from holes (like created by pads) to external outlines.
So Pcbnew does not know adjacent polygons.

I am not sure i answer your question.

Yes, thank you, enough to allow me to commit an enhancement to specctra export for zone _cutout_ support. However, the DSN file is not yet loading into freerouter. I am waiting for a response from Alfons:


partially understand: yes, fully: no.
If holes create problems, kbools can easily convert a polygon containing holes to a polygon without holes or vice versa
(And adjacent polygons can be easily merged).

Currently i am working on next kicad release candidate (coming very soon) (doc update, minor bugs to solve ...)
and i am not sure to have a look to DSN grammar.
No need now.

I only mention now in closing this issue, that Tim's triangles from kicadocaml seem to end up in m_FilledPolysList, but that they are not currently merged. There will be adjacent triangles there, lots of them.

This was just a summary posting, no panic here.

Thanks for your answer. Let me know if you see any problem with the specctra export logic, at or near line 1062 in the specctra_export.cpp file.