X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Sun, 15 Jul 2018 16:48:20 +0200 (CEST) X-X-Sender: igor2 AT igor2priv To: "Luis de Arquer (ldearquer 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] DRC clearance bugs In-Reply-To: Message-ID: References: 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 Hi Luis, On Sun, 15 Jul 2018, Luis de Arquer (ldearquer AT gmail DOT com) [via geda-user AT delorie DOT com] wrote: >> If you say yes to commiting your drc fixes in pcb-rnd, I can add the >> 2-bbox system in the code today/tomorrow, so you don't need to worry >> about that part. >> > > I'll do, sooner or later. Thanks; as promised, I've added the naked bbox support. It's a new common object field, so all objects + the buffer have it. It's called bbox_naked and it's the bbox of the base object, without the clearance. In the drc code, we can use the naked_bbox bloated up with the drc clearance requirement (this is only 4 sum operations, should be cheap). I gave it some thoughts and I am sure this cheat gives the exact right bounding box for lines, polygons, texts and padstacks. For arcs with non-90 degree start/end ranges there might be a slight overestimation with this method - but overestimating means we are on the safe side (we use the bbox for optimization, to skip more expensive, but precise intersection calc, so if the bbox is overestimated in area, we just do a bit more calculations that we could have saved). Please let me know if you need support; I also recommend joining IRC when you start working on it, it makes communication easier. (Bonus: now that we keep track of naked bboxes for all objects, I've fixed the long standing paste buffer placement bug: it now uses the naked bbox for limiting the crosshair, so you can place an object at the edge of the drawing area and the clearance can extend beyond the drawing area. It was lierally a two minute fix with this setup.) Best regards, Igor2