Le 23/01/2018 à 16:32, Wayne Stambaugh a écrit : > JP, > > Would you please confirm this when you get a chance.
Yes, I confirm and I just finished the fix. (the patch in the report is broken). > > Thanks, > > Wayne > > On 1/22/2018 7:50 PM, Forrest Voight wrote: >> I found another related problem with oval pads: tracks intersecting >> with oval pads are sometimes *not* detected as DRC violations. >> >> Looking at the below screenshot or PCB, the narrow track should *but >> does not* trigger a DRC violation in its current position, while it >> does generate a violation if dragged 2mm down to intersect with the >> center of the large oval pad. >> >> I've linked a patch that fixes the issue. >> >> Board: http://u.forre.st/kicad_bug2/track_x_oval_pad_failure.kicad_pcb >> Board screenshot: http://u.forre.st/kicad_bug2/track_x_oval_pad_failure.png >> Patch (also below): >> http://u.forre.st/kicad_bug2/0001-Fix-track-rotated-oval-pad-collision-detection.patch >> >> As a related question, how hard is it to get committer access? I have >> several more minor fixes that I'd like to bring in. >> >> >> From ec6adcfb0d6b5583e132264cb84a3ba897a5da2b Mon Sep 17 00:00:00 2001 >> From: Forrest Voight <[email protected]> >> Date: Mon, 22 Jan 2018 13:50:33 -0500 >> Subject: [PATCH] Fix track/rotated oval pad collision detection >> >> --- >> pcbnew/drc_clearance_test_functions.cpp | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/pcbnew/drc_clearance_test_functions.cpp >> b/pcbnew/drc_clearance_test_functions.cpp >> index e395e7d..1ab6af0 100644 >> --- a/pcbnew/drc_clearance_test_functions.cpp >> +++ b/pcbnew/drc_clearance_test_functions.cpp >> @@ -1052,6 +1052,9 @@ bool DRC::checkClearanceSegmToPad( const D_PAD* >> aPad, int aSegmentWidth, int aMi >> { >> std::swap( padHalfsize.x, padHalfsize.y ); >> orient = AddAngles( orient, 900 ); >> + // recompute start/endPoint since they depend on orient >> + RotatePoint( &startPoint, m_padToTestPos, -900 ); >> + RotatePoint( &endPoint, m_padToTestPos, -900 ); >> } >> >> // here, padHalfsize.x is the radius of rounded ends. >> > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : [email protected] > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > -- Jean-Pierre CHARRAS _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

