kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #34952
Re: [RFC] Experimental grid pattern in zone fill
OK, Makes sense.
On Tue, Mar 13, 2018 at 4:25 PM, jp charras <jp.charras@xxxxxxxxxx> wrote:
> Le 13/03/2018 à 20:47, Jon Evans a écrit :
> > I wonder if it might be a faster algorithm to calculate the perimeter
> (and holes) of zones, offset
> > it in by the zone thickness as a polygon, and then draw in the grid as
> line segments rather than as
> > more holes in the polygon?
>
> This is the first thing I tested. I abandoned this approach:
> * It is not compatible with the current zone connectivity algo and the
> current algo to remove
> insulated islands.
> * It can be very costly in drawing time because line segments can be very
> numerous if the zone min
> thickness is very small (because line segments must be set to this value
> to be able to "fill" the
> zone), much more the full polygon approach.
> (try to fill a zone with a very small min thickness with segments)
>
> The zone as polygon is the best way for me.
>
> Removing holes in filled areas is not time consuming.
> Removing not connected copper islands and the connectivity calculation is
> more time consuming just
> because there are more vertices.
> This is also true when using 32 segments instead of 16 segments by circle.
>
> >
> > On Tue, Mar 13, 2018 at 3:44 PM, jp charras <jp.charras@xxxxxxxxxx
> <mailto:jp.charras@xxxxxxxxxx>>
> > wrote:
> >
> > Le 13/03/2018 à 20:38, Jon Evans a écrit :
> > > For the last point, you could use the approach I put in GerbView
> of start measuring the time, and
> > > then throw up a progress window if the time exceeds N seconds
> (with a button to cancel the operation)
> > > That way you don't even see the window on small boards, but you
> get the feedback and can cancel the
> > > operation on large boards.
> >
> > Hi Jon,
> > Filling zones has already this progress window.
> > Grid pattern just can modify the calculation time due to more
> vertices in zone outlines.
> >
> > >
> > > On Tue, Mar 13, 2018 at 3:28 PM, jp charras <jp.charras@xxxxxxxxxx
> > <mailto:jp.charras@xxxxxxxxxx> <mailto:jp.charras@xxxxxxxxxx
> <mailto:jp.charras@xxxxxxxxxx>>>
> > > wrote:
> > >
> > > Le 13/03/2018 à 18:24, Seth Hillbrand a écrit :
> > > > Hi JP-
> > > >
> > > > I gave it a spin and definitely like it! I have been using
> custom footprints for capacitive
> > > > sensors, but this is much better. A couple thoughts:
> > > >
> > > > 1) I'd prefer to have the angle saved as a parameter in the
> file rather than a fixed list of options.
> > >
> > > Yes, good idea.
> > >
> > > > 2) We'll definitely need to address the polygon issue. I
> created a 10cmx10cm board and filled it
> > > > with 45° at the minimum width/50% fill and my computer froze
> for 2 minutes while it thought about
> > > > it. Strangely, when I checked it was only using one core,
> so I'm not sure why the wm froze during
> > > > the calculation. Maybe some interaction with the graphics
> card.
> > > >
> > >
> > > Strange.
> > > What is the zone setup?
> > >
> > > For basic boards, the fill zone calculation time is not
> noticeable on my computer.
> > > Noticeable calculation time (a few seconds) happens only for
> *large* boards.
> > >
> > >
> > > > If we can't fix the polygons before this, we should probably
> have a dummy-check pop-up warning of
> > > > long compute times. The polygons get calculated twice on
> closing the zone edit window. Once with
> > > > the cursor showing busy and then again with no indication of
> work. This happens again when
> > > > highlighting.
> > > >
> > > > Best-
> > > > Seth
> > >
> > > Trying to guess if the calculation time is long is really not
> easy.
> > >
> > >
> > > >
> > > > 2018-03-13 8:48 GMT-07:00 jp charras <jp.charras@xxxxxxxxxx
> <mailto:jp.charras@xxxxxxxxxx> <mailto:jp.charras@xxxxxxxxxx
> > <mailto:jp.charras@xxxxxxxxxx>>
> > > <mailto:jp.charras@xxxxxxxxxx <mailto:jp.charras@xxxxxxxxxx>
> <mailto:jp.charras@xxxxxxxxxx
> > <mailto:jp.charras@xxxxxxxxxx>>>>:
> > > >
> > > > Le 13/03/2018 à 14:05, Jon Evans a écrit :
> > > > > Nice work! It may just be experimental, but it seems
> pretty close to a feature
> > for 6.0 to me :-)
> > > > > I gave it a try on various boards I have worked on
> recently and it seems to work
> > as advertised and
> > > > > is not noticeably slower than a solid fill on my
> computer.
> > > > >
> > > > > Assuming we work out any issues related to this, I
> thought of two features we
> > might want to add
> > > > > after this:
> > > > > 1) Allow 45-degree grids instead of just 90
> > > > > 2) Add a DRC check for stitching vias that would have
> connected to a solid fill
> > but are off-grid and
> > > > > thus disconnected in grid fill?
> > > > >
> > > > > -Jon
> > > >
> > > > Attached the experimental grid pattern in zone fill
> patch, with 45 degree grid option.
> > > >
> > > > >
> > > > > On Tue, Mar 13, 2018 at 4:10 AM, jp charras <
> jp.charras@xxxxxxxxxx
> > <mailto:jp.charras@xxxxxxxxxx> <mailto:jp.charras@xxxxxxxxxx
> <mailto:jp.charras@xxxxxxxxxx>>
> > > > <mailto:jp.charras@xxxxxxxxxx <mailto:
> jp.charras@xxxxxxxxxx>
> > <mailto:jp.charras@xxxxxxxxxx <mailto:jp.charras@xxxxxxxxxx>>>
> > > <mailto:jp.charras@xxxxxxxxxx <mailto:jp.charras@xxxxxxxxxx>
> <mailto:jp.charras@xxxxxxxxxx
> > <mailto:jp.charras@xxxxxxxxxx>> <mailto:jp.charras@xxxxxxxxxx
> <mailto:jp.charras@xxxxxxxxxx>
> > > <mailto:jp.charras@xxxxxxxxxx <mailto:jp.charras@xxxxxxxxxx>
> >>>>
> > > > > wrote:
> > > > >
> > > > > I wrote a purely experimental option to fill zones
> (copper and not copper)
> > with a grid patter.
> > > > > It is only an experimental feature made mainly to
> know what issues can be
> > created by this feature.
> > > > >
> > > > > The main issue is the fact polygons have much more
> corners, thus creating a
> > longer calculation time.
> > > > > (However, grid pattern is expected to be used in
> specific cases)
> > > > >
> > > > > It should be compatible with the current DRC.
> > > > >
> > > > > Regards
> > > > >
> > > > > --
> > > > > Jean-Pierre CHARRAS
> > >
> > >
> > >
> > > --
> > > Jean-Pierre CHARRAS
> > >
> > > _______________________________________________
> > > Mailing list: https://launchpad.net/~kicad-developers
> > <https://launchpad.net/%7Ekicad-developers> <https://launchpad.net/%
> 7Ekicad-developers
> > <https://launchpad.net/%7Ekicad-developers>>
> > > Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx> <mailto:
> kicad-developers@xxxxxxxxxxxxxxxxxxx
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > Unsubscribe : https://launchpad.net/~kicad-developers
> > <https://launchpad.net/%7Ekicad-developers> <https://launchpad.net/%
> 7Ekicad-developers
> > <https://launchpad.net/%7Ekicad-developers>>
> > > More help : https://help.launchpad.net/ListHelp <
> https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp <https://help.launchpad.net/
> ListHelp>>
> > >
> > >
> >
> >
> > --
> > Jean-Pierre CHARRAS
> >
> >
>
>
> --
> Jean-Pierre CHARRAS
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
Follow ups
References