delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2016/06/04/09:05:14

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
Date: Sat, 4 Jun 2016 15:07:23 +0200 (CEST)
X-X-Sender: igor2 AT igor2priv
To: 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: [geda-user] pcb: ARC bug
Message-ID: <alpine.DEB.2.00.1606041445000.28818@igor2priv>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Reply-To: geda-user AT delorie DOT com

Hi all,

while testing pcb-rnd, khazakar has found an interesting bug that is 
present in recent versions of PCB mainline too. A minimal example pcb can 
be found at:

http://igor2.repo.hu/tmp/arcbug.pcb.gz

It features two arcs: the one on the component side has both ends within 
the drawing area and works properly when moved or resized. The one on the 
solder side gets jumpy when moved.

Reproduce from scratch: draw an arc starting it at the top-left corner 
making it as big as the editor permits.

The problem seems to be that PCB tries to keep both endpoints within 
bounds and when this is not possible, it does something strange.

Proposed fix:

- let the user override clipping with a modifier (e.g. the shift key)
- or relax the clipping: if the size of the area of the bounding box of 
the arc is at least 1/3 of the area of the drawing, stop clipping
- maybe both of the above

Rationale: PCB doesn't worry too much about objects falling beyond the 
drawing area most of the time, perhaps it shouldn't in this case either. 
Worst case 99% of the arc will be off-drawing so it will be difficult to 
grab it by the tiny portion still accessible in drawing space. But even 
then the drawing area can be enlarged or the object can be removed with a 
text editor so nothing really breaks if the user can move such huge arcs 
freely.

Regards,

Igor2

- Raw text -


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