← Back to team overview

kicad-developers team mailing list archive

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

 

Dick Hollenbeck a écrit :
>
> Tim Hanson wrote:
> > Hey Dick,
> >
> > Yea, true, I've not implemented zone edge modification. I'll get
> > around to it sometime, but in the meantime you can edit the zones in
> > PCBNEW, and then fill (or re-fill) them in kicadocaml if PCBNEW
> > somehow does not do the right job. Moving the edges and changing the
> > triangulation in real-time is a bit too much; I think the delete zone
> > filling -> change zone -> refill workflow is plenty good.
> >
>
> That third argument you mentioned in the zone polygon definition is the
> end of polygon marker, correct? I see we have a shortcoming in the
> specctra export. I need to add a DSN "window" for the polygons which
> are holes. (PLANE .... (WINDOW....) ) where the windows are part of a
> PLANE. But I see you are using the flag to mean an adjacent polygon,
> not a hole. And that the graphics stuff magically figures this out.
> Well I am not that smart.
>
> I need to have Jean-Pierre or somebody tell me how to determine if a
> polygon within a zone container is a hole or a an adjacent polygon.
>
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.

> Speaking about the BRD file format now:
> If it is our intention to support both, then I think that there should
> be a start of polygon marker, not an end of polygon marker, and that the
> marker should say whether it is a hole or an adjacent polygon. I think
> we may have botched the board file format for ZONE_CONTAINERS.
>
> I have no easy way to export to DSN both of the polygon types, both
> yours Tim and the holes.
>
> Jean-Pierre, do you fully understand the problem? Looking at the
> grammar for (PLANE) clarifies the problem somewhat.
>
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.
>
> > The triangles themselves are not editable, though you can see them if
> > you turn off Z-buffering. (This because I think the triangle meshes
> > produced are pretty :-)
> >
>
> Yes, they are fascinating.
>
> > ~ Tim
> >
>

-- 
Jean-Pierre CHARRAS

Maître de conférences
Directeur d'études 2ieme année.
Génie Electrique et Informatique Industrielle 2
Institut Universitaire de Technologie 1 de Grenoble
BP 67, 38402 St Martin d'Heres Cedex

Recherche :
GIPSA-LIS - INPG
Rue de la Houille Blanche
38400 Saint Martin d'Heres

 --------------050108040600000807040300 Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Dick Hollenbeck a &eacute;crit&nbsp;:
<blockquote cite="mid:498B1564.6070708@..." type="cite">
<meta http-equiv="Context-Type"
content="text/html; charset=ISO-8859-1">
<div>
<div>
<div>
<p>Tim Hanson wrote:<br>
&gt; Hey Dick,<br>
&gt;<br>
&gt; Yea, true, I've not implemented zone edge modification. I'll get<br>
&gt; around to it sometime, but in the meantime you can edit the zones
in<br>
&gt; PCBNEW, and then fill (or re-fill) them in kicadocaml if PCBNEW<br>
&gt; somehow does not do the right job. Moving the edges and changing
the<br>
&gt; triangulation in real-time is a bit too much; I think the delete
zone<br>
&gt; filling -&gt; change zone -&gt; refill workflow is plenty good.<br>
&gt; <br>
<br>
That third argument you mentioned in the zone polygon definition is the
<br>
end of polygon marker, correct? I see we have a shortcoming in the <br>
specctra export. I need to add a DSN "window" for the polygons which <br>
are holes. (PLANE .... (WINDOW....) ) where the windows are part of a <br>
PLANE. But I see you are using the flag to mean an adjacent polygon, <br>
not a hole. And that the graphics stuff magically figures this out. <br>
Well I am not that smart.<br>
<br>
I need to have Jean-Pierre or somebody tell me how to determine if a <br>
polygon within a zone container is a hole or a an adjacent polygon. <br>
</p>
</div>
</div>
</div>
</blockquote>
First of all, Tim's work is astonishing.<br>
<br>
Currently, ZONE_CONTAINERS. handles a zone outline and its filled areas
(solid polygons)<br>
If you are speaking about zone outlines (.m_Poly member), the first
polygon is the main polygon, and others are holes.<br>
Thre is no adjacent polygon because kbool merges adjacents or
intersecting polygons.<br>
If you are speaking about .m_FilledPolysList member that handle filled
copper areas,<br>
copper areas are non adjacent (will be merged by kbool) and each
polygon has no hole.<br>
Moreover, pcbnew assumes these filled copper areas are not adjacent&nbsp;
(in ratsnest calculations).<br>
To make no hole polygons, kbool adds overlapping extra segments from
holes (like created by pads) to external outlines.<br>
So Pcbnew does not know adjacent polygons.<br>
<br>
I am not sure i answer your question.<br>
<br>
<blockquote cite="mid:498B1564.6070708@..." type="cite">
<div>
<div>
<div>
<p>Speaking about the BRD file format now:<br>
If it is our intention to support both, then I think that there should <br>
be a start of polygon marker, not an end of polygon marker, and that
the <br>
marker should say whether it is a hole or an adjacent polygon. I think <br>
we may have botched the board file format for ZONE_CONTAINERS.<br>
<br>
I have no easy way to export to DSN both of the polygon types, both <br>
yours Tim and the holes.<br>
<br>
Jean-Pierre, do you fully understand the problem? Looking at the <br>
grammar for (PLANE) clarifies the problem somewhat.<br>
<br>
</p>
</div>
</div>
</div>
</blockquote>
partially understand: yes, fully: no.<br>
If holes create problems, kbools can easily convert a polygon
containing holes to a polygon without holes or vice versa<br>
(And adjacent polygons can be easily merged).<br>
<br>
Currently i am working on next kicad release candidate (coming very
soon) (doc update, minor bugs to solve ...)<br>
and i am not sure to have a look to DSN grammar.<br>
<blockquote cite="mid:498B1564.6070708@..." type="cite">
<div>
<div>
<div>
<p>&gt; The triangles themselves are not editable, though you can see
them if<br>
&gt; you turn off Z-buffering. (This because I think the triangle meshes<br>
&gt; produced are pretty :-)<br>
&gt; <br>
<br>
Yes, they are fascinating.<br>
<br>
&gt; ~ Tim<br>
&gt; <br>
</p>
</div>
</div>
</div>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">-- 
Jean-Pierre CHARRAS

Ma&icirc;tre de conf&eacute;rences
Directeur d'&eacute;tudes 2ieme ann&eacute;e.
G&eacute;nie Electrique et Informatique Industrielle 2
Institut Universitaire de Technologie 1 de Grenoble
BP 67, 38402 St Martin d'Heres Cedex

Recherche :
GIPSA-LIS - INPG
Rue de la Houille Blanche
38400 Saint Martin d'Heres
</pre>
</body>
</html>
 --------------050108040600000807040300-- 




Follow ups

References