← Back to team overview

kicad-developers team mailing list archive

Re: Problems in Ratsnest



> Dick,
> I saw your info for me in the last change log.
> I have no problem about rastnest computation, and it was tested on some 
> large boards
> (8 layers , 950 footprints, 3900 pads and bga...)
> As you know, zones are not used in rastnet computation.
> I agree with you, the zone handling must be reconsidered, and perphaps 
> redesigned.
> But you said me you have connected all the gound (or power) pads with 
> tracks.
> And of course tracks are connected to the pad centres because pcbnew 
> "catches" the cursor on a pad,
> and put in on this center.
> I don't know a Recalcule_all_net_connexion() bug.
> Some times ago, i saw it could "forget" a connection, in rare 
> conditions, but i solved this problem.

I grep through the code, and see Recalcule_all_net_connexion() is NOT
called from anywhere.

What does it do?

> So can you send me your board file, because I don't understand what

I put a png file showing the problem in the files section of this
(developers!) list called dicks_board.png.

If you look at pad K10, you see that I did a partial layout connecting
K10 through two short tracks to a VIA, then stopping. I wanted to
place this work on the board after I knew where the chip would go. So
the remainder of the tracks would be completed later.

K10 is a ground pad. It has a net name and netcode properly. But the
grey Via is not connected and has netcode=0. I believe this came
about because I made 15 or so *very short* (small distance) block
moves of the chip and all its short tracks and eventually the Via
became disconnected. I cannot say precisely when or how this happened
as I did not notice until later.

Initially the tracks were disconnected also when I first noticed it. 
Then I found the track operations under "Miscellaneous | Clean
Tracks". I tried the "connect to pads" option and this connected the
tracks to the pads, often introducing an almost zero length short
track exactly on top of the pad.

Yet I see no options to re-connect (yes, reconnect!) the vias, and
there are quite a few vias.

Is there an aspect of this design I do not understand?

Should we add an additional "track operation" which would reconnect to

Should there not also be an additional "track operation" which would
update the netcode for all tracks as well, essentially reconnecting
them base on their eventual copper extent and conductivity?

Thanks for looking at this.


Follow ups