delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2018/07/11/01:27:37

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]" <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: <alpine.DEB.2.00.1807110715500.8169@igor2priv>
References: <04df2ed2-45a1-dff5-6f6c-d9b9d5fcca0f AT neurotica DOT com> <CANEvwqjKhH1qxQbxKu90CL0+t+PFb=2yUjhwv5umKf0L+RgpoQ AT mail DOT gmail DOT com> <CAJZxidBiF2cbv6KerAHDz1Yg_mhJ4XASXccHf_3ceAFCebpNqQ AT mail DOT gmail DOT com> <20180711063653 DOT 78f49776674d402fa145acf1 AT gmail DOT com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
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


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



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019