P&S Router doesn't handle pad offset (or rotations) in the online DRC while routing

Bug #1395037 reported by Martin Errenst
50
This bug affects 8 people
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
High
Tomasz Wlostowski

Bug Description

Tested with r5290.
Steps to reproduce:
0. Switch to GAL mode, enable shove routing.
1. Choose a SMD pad with some tracks close (so you can shove them later), edit the pads properties: set "Shape offset X" to an valid value. Check if the pad "moved".
2. Enable track mode, try to shove the tracks towards the pad.
Outcome: Tracks will be shoved up to the point of the original pad position (without the offset). The online DRC while shoving doesn't check for this.
Expected behaviour: Stop when hitting the current position of the pad.

Additionally, the online DRC fails to handle rotated pads in the correct way (checked with a 45° rotation - looks like it uses the smallest extend of the pad, builds a square out of it and routes around this).

Tags: cern gal pcbnew pns

Related branches

Martin Errenst (imp-d)
tags: added: cern
Revision history for this message
Karl Zeilhofer (zeilhofer) wrote :

I found a similar misbehaveour for oval through hole pads, which have an out of center drill hole.
I have draged a track towards such pads (highlighted) so one can see the consequence of the bug.

Revision history for this message
Chris Pavlina (pavlina-chris) wrote :

Still present in 5484.

Application: kicad
Version: (2015-03-06 BZR 5484)-product Release build
wxWidgets: Version 3.0.2 (debug,wchar_t,compiler with C++ ABI 1002,GCC 4.9.2,wx containers,compatible with 2.8)
Platform: Linux 3.18.6-1-ARCH x86_64, 64 bit, Little endian, wxGTK
Boost version: 1.57.0
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=OFF
         KICAD_SCRIPTING=ON
         KICAD_SCRIPTING_MODULES=ON
         KICAD_SCRIPTING_WXPYTHON=ON
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=ON
         KICAD_USE_WEBKIT=OFF

Revision history for this message
Dmitry Golovin (cyb3r) wrote :

I suffer from this too.

Revision history for this message
Dmitry Golovin (cyb3r) wrote :

I use version 5530.

Revision history for this message
Nick Østergaard (nickoe) wrote :

I think this is an important bug to get fixed for the next release, hence I set the importance as high.

Changed in kicad:
importance: Undecided → High
Revision history for this message
Chris Pavlina (pavlina-chris) wrote :
Changed in kicad:
status: New → Confirmed
Revision history for this message
Chris Pavlina (pavlina-chris) wrote :

Got it.

Changed in kicad:
status: Confirmed → In Progress
Revision history for this message
Maciej Suminski (orsonmmz) wrote :

Great! Thank you Chris, I committed your patch in 5808.

Changed in kicad:
status: In Progress → Fix Committed
Revision history for this message
Stefan Hamminga (stefanhamminga) wrote :

Hi, great job on the fix! This bug is now marked 'fix-commited', but this specific report involves two different issues and only one of them is fixed.

The second issue is KiCad doesn't account for arbitrary rotation of pads (as I submitted as bug #1401610 and Dmitry as #1453335). Could one of the admins split this report or remove the duplicate mark on one of the above reports so this one can be closed, but the rotation issue stays open?

Revision history for this message
Chris Pavlina (pavlina-chris) wrote :

Indeed, the rotation issue is still here.

Changed in kicad:
status: Fix Committed → In Progress
Revision history for this message
Chris Pavlina (pavlina-chris) wrote :

And now, it's not. :)

Revision history for this message
Tomasz Wlostowski (twlostow) wrote :

There is a proper patch for rotated pads by Mathias Grimmberger. I need to integrate it in the geometry library/P&S router. I'll do my best to get it pushed this week.

Tom

Revision history for this message
Nick Østergaard (nickoe) wrote :
Changed in kicad:
status: In Progress → Fix Committed
assignee: nobody → Tomasz Wlostowski (twlostow)
Revision history for this message
Piotr Esden-Tempski (esden) wrote :

Tested with the demo project from https://bugs.launchpad.net/kicad/+bug/1462162

The routing now works as expected and avoids the pads correctly. Thank you very much for fixing this! Really appreciate. :)

Jon Neal (reportingsjr)
Changed in kicad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.