From: Andrew P. <69...@bu...> - 2012-03-28 00:11:01
|
The problem is that when calculating rat lines, pcb completely ignores non-manhattan lines. See rats.c line 485: 480 /* now add other possible attachment points to the subnet */ 481 /* e.g. line end-points and vias */ 482 /* don't add non-manhattan lines, the auto-router can't route to them */ 483 ALLLINE_LOOP (PCB->Data); 484 { 485 if (TEST_FLAG (DRCFLAG, line) 486 && ((line->Point1.X == line->Point2.X) 487 || (line->Point1.Y == line->Point2.Y))) Removing the check for manhattan lines fixes this bug, but it makes the autorouter segfault. It is not clear to me how to proceed, but there is probably no simple solution. -- You received this bug notification because you are a member of PCB Bug Team, which is subscribed to pcb. https://bugs.launchpad.net/bugs/699248 Title: Rat line calculations miss some lines Status in PCB: Printed Circuit Board CAD package: Confirmed Bug description: This bug has popped up quite frequently during the past years, but I've never reported it. Many times I notice the rat line optimizer sometimes "misses" the last line in a chain of lines, and draws the rat line to the next line (see attached file, where one of the rat lines isn't drawn to the last line in the sequence. After digging a bit into the code, it looks like the last line in the chain doesn't pass the: TEST_FLAG (DRCFLAG, line) test in rats.c:492, and thus it is never added to the subnet. I'm assuming this error is actually traced back to when the line is first drawn (?). Regardless, I don't have the experience with the PCB code to trace this problem any further...hopefully someone smarter than me can figure out why some lines are doing this. I can't find a reproducable method of drawing a line that shows this bug...but drawing a line with the "45 degree forcing" on (and clicking on a point that actually makes two lines) seems to make the bug show up more often then not. Cheers-- To manage notifications about this bug go to: https://bugs.launchpad.net/pcb/+bug/699248/+subscriptions |