开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育

Fill zone angle


Tonamiben
 

Hi,
I tried to create a zone which I fill with copper pour.
It work good except when there are 45 deg. angles, where the pour appear as stair steps.
I was able to modify it in the gerber by adding a diagonal line, but maybe there is an option in Pcbnew to fill the pattern. I ask this because for high frequency transmission line (PCB coplanar waveguide) the calculation of the impedence rely on these gaps between the signal trace and the ground plane.

Is anybody aware about such feature?

Merci beaucoup Mr. Charras pour tout le travail que vous partag si gnreusement.


Tonamiben
 

Hi,
I tried to create a zone that I filled with copper.
It work good except when there is 45 deg. angles, where the pour appear
as stair steps.
I was able to modify it in the gerber file by adding a diagonal line but for a big pcb it is a big task
to modify a text file and always refere to the coordinate and I did not tried the concave curve which I don't know how I can do it in the file. Maybe there is an option in Pcbnew to fill the pattern and make smooth edge. I ask this
because for high frequency transmission line (PCB coplanar waveguide)
the calculation of the impedence rely on these gaps between the signal
trace and the ground plane and I don't know the behaviour of such stairs pattern and for the look also.

Is anybody aware about such feature or an easy way to do it?

Thank you


 

Hello,

I have come across the exact same problem. This is not an issue just
for high frequency behaviour of the circuit but also with the
etching. This staircase step in direction of the 45 degree bend can
create a bridge and with hobbyist means for etching it certainly will.

I have started looking at the code, it seems everything happens in
zones.cpp in the pcbnew subfolder. I didn't have time to dig into it
but I think the main idea is to fill the area with edge joining
tracks going left to right in one pass and top to bottom in another
pass. The thickness of the track is probably given in the fill
parameters but I think this is not the problem.

The problem is with the internal representation of the tracks I think
that do not seem to take the 45 degree bend into account thus
resulting in a gap on the outer side of the bend that gets filled
since it is thought to be outside the clearance area. The inner side
of the bend gets processed correctly since the clearance area of both
tracks overlap there.

If you try with very thin tracks (say 0.025 mm) and a much larger
clearance (say 0.635 mm) it works nicely which leads me to think this
is how the program works.

I will try to have a closer look when time permits, for now this is
food for thought if anybody wants to also have a look.

I think this problem leads to unrealizable boards when using copper
pouring zones which is a pity for an otherwise very good software.

Cheers, Edouard.


--- In kicad-users@..., Tonamiben <tonamiben@y...> wrote:

Hi,
I tried to create a zone that I filled with copper.
It work good except when there is 45 deg. angles, where the pour
appear
as stair steps.
I was able to modify it in the gerber file by adding a diagonal
line but
for a big pcb it is a big task
to modify a text file and always refere to the coordinate and I did
not
tried the concave curve which I don't know how I can do it in the
file.
Maybe there is an option in Pcbnew to fill the pattern and make
smooth
edge. I ask this
because for high frequency transmission line (PCB coplanar
waveguide)
the calculation of the impedence rely on these gaps between the
signal
trace and the ground plane and I don't know the behaviour of such
stairs
pattern and for the look also.

Is anybody aware about such feature or an easy way to do it?

Thank you


 

Hello list,

I have an update on this since I went a little bit further in examining
the code and playing around with the fill zone function.

It seems to me that the problem could come from the fact that the
clearance area is not determined the same way for vertical and
horizontal segments on one hand and oblique segments on the other hand.

Oblique segments have a rounded clearance area at the ends while
vertical and horizontal have a square one. When such segments are
joined together it does not fit nicely. If all ends were rounded there
wouldn't be a problem.

A solution could be to use the same algorithm regardless of the angle
of the segment. I think TraceSegmentQcq method in pcbnew/graphpcb.cpp
does this already but is presently used only for oblique segments (in
TraceSegmentPCB method).

This can possibly fix the problem. I couldn't have a go yet since for
now I did not succceed in building Kicad on a Windows box.


 

Bingo! This fixed the problem. Now the contours of the fill zone look
much nicer (smoother). I think we still miss the trimming of spurs to
make it really good for practical etching at least with hobbyist means.
Those spurs occur wherever the fill zone gets too thin, say smaller
that the track width. I couldn't find a way to make it happen, it looks
more complicated.

I will post before/after results so you'll be able to check for
yourselves if it is an improvement or not. Then I could ask to
integrate it in one of the next releases.


ryan williams
 

Edouard Greiffiths wrote:
Bingo! This fixed the problem. Now the contours of the fill zone look much nicer (smoother). I think we still miss the trimming of spurs to make it really good for practical etching at least with hobbyist means. Those spurs occur wherever the fill zone gets too thin, say smaller that the track width. I couldn't find a way to make it happen, it looks more complicated.
nice! I have just compiled it with today's release canidate. Certainly and improvement. This makes my life easier; I'm using a CNC mill to make boards and the smoother the curves, the less hand editing of isolation layers I have to do when setting up the milling software.

-ryan williams


Tonamiben
 

Edouard Greiffiths wrote:

Bingo! This fixed the problem. Now the contours of the fill zone look
much nicer (smoother). I think we still miss the trimming of spurs to
make it really good for practical etching at least with hobbyist means.
Those spurs occur wherever the fill zone gets too thin, say smaller
that the track width. I couldn't find a way to make it happen, it looks
more complicated.

I will post before/after results so you'll be able to check for
yourselves if it is an improvement or not. Then I could ask to
integrate it in one of the next releases
Hi,

Thank you for the try

I looked at the corrected board and still, there is a thinner but present stairs pattern.
It is only a crossing of horizontal and vertical lines but thinner than before.
Even the conversion to gerber recreate the same pattern.

Is it possible to make diagonal lines like the traces?
A kind of a contour that can be associated and generated with each trace is maybe a way?


 

Yeah, I think this is due to the fact that the fill zone is constituted
of edge to edge segments and the program does not allow you to go below
a certain segment thickness (you can choose it in the fill zone
contextual menu). From what I saw in the code it is limited to 5 mils
anyway but this restriction could be lifted. Indeed these segments
could be made thinner, maybe it was a conservative choice not to make
them thinner but with the present workforce under the machine hood it
should be feasible. I think this could be changed fairly easily.


ryan williams
 

Edouard Greiffiths wrote:
Yeah, I think this is due to the fact that the fill zone is constituted of edge to edge segments and the program does not allow you to go below a certain segment thickness (you can choose it in the fill zone contextual menu). From what I saw in the code it is limited to 5 mils anyway but this restriction could be lifted. Indeed these segments could be made thinner, maybe it was a conservative choice not to make them thinner but with the present workforce under the machine hood it should be feasible. I think this could be changed fairly easily.
I think thinner is bad. if a fill is made of smaller than the minimum trace width allowed by your pcb manufacturer then there will be problems. I know that protel dxp can make perfectly smooth fills with 20mil traces, so this is doable. If you look at the gerbview help file in the rs274x section, it describes polygons. Really you should just draw the outline. maybe in the cad program it could filled with lines going horizonatal / vertical (protel does it this way), but in the gerber file, I think it should be those G36/G37 codes. I haven't taken a look at this code yet, but I intend to.

a related question: has anyone tried to do a DRC "List Unconn" when the connection is made by a Fill? I've got this board I'm about ready to mill; the bottom is a dedicated ground plane with vias at each ground pin. so those connections should be made by the filled zone on the bottom side of the board. DRC says they aren't connected.

-ryan williams


Tonamiben
 


Is it possible to make diagonal lines like the traces?
A kind of a contour that can be associated and generated with each trace
is maybe a way?

I was evaluating a commercial package today for our R&D dept.
and I found one package that do the fill at 45 degree and
add a contour trace around each obstacle.
I inserted an example of that in the attached file Fill_Zone.jpg

This is a way to avoid too many tracks when using thinner traces for the fill and this totally avoid stair pattern...
Maybe the problem is to program this? This I can't tell, I am not a programmer...

Benoit