X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Wed, 11 Jul 2018 07:32:24 +0200 (CEST) X-X-Sender: igor2 AT igor2priv To: "Nicklas Karlsson (nicklas DOT karlsson17 AT gmail DOT com) [via geda-user AT delorie DOT com]" X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu" From: gedau AT igor2 DOT repo DOT hu Subject: Re: [geda-user] shorted pads and the netlist in PCB --> netlist difference In-Reply-To: <20180711063653.78f49776674d402fa145acf1@gmail.com> Message-ID: References: <04df2ed2-45a1-dff5-6f6c-d9b9d5fcca0f AT neurotica DOT com> <20180711063653 DOT 78f49776674d402fa145acf1 AT gmail DOT com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Wed, 11 Jul 2018, Nicklas Karlsson (nicklas DOT karlsson17 AT gmail DOT com) [via geda-user AT delorie DOT com] wrote: > Then there is a difference in wanted netlist from schematic and actual physical netlist on board it is not obvious which net a drawing primitive belong to. Maybe it would be possible to add an algorithm figuring out which polygons short circuit nets and mark them. Been there, done that. I know it's getting boring that I always say this, but: already solved in pcb-rnd for almost 5 years. There was a long discussion about this issue on the mailing list years ago, some time between 2011 and 2013. It was a classic geda-user discussion with random wild ideas and no code. It was real hard to follow so I tried to collect and sum up all the concurrent ideas from the threads back then: http://igor2.repo.hu/cgi-bin/minisvn.cgi?cmd=cat&repo=pcb-rnd&path=trunk/src_plugins/mincut/pcb-mincut/proposals.txt My favorite was mincut, so I implemented that. It didn't get in gEDA/PCB (which also did not implement any other method, afaik). But once pcb-rnd started, this was one of the first pending features I added, back in September 2013. What mincut does: when there's a short, instead of marking the netlisted pads, it goes and finds the least number of objects that if you remove, the short is solved, and marks those. This is one of the strategies to mark "which object causes the short", in the way of "where it is easiest to cut the short to resolve it". (Fine print: what _really_ causes the short is obviously subjective and is known only by the user - none of the strategies can be perfect, not even the ones that try to tag each object to a net or remember edit history. Every algo has some inconvenience and corner cases; mincut was relatively easy to implement and fits well in the generic UI concepts of pcb-rnd and gEDA/PCB. Anyway, any of these can be better than the original approach of marking pads by netlist entry. Mincut was proven very useful over the years in pcb-rnd). Regards, Igor2