From cf4d46b24d1aadcc07595669c2771fb072250388 Mon Sep 17 00:00:00 2001 From: Jon Evans Date: Thu, 13 Jan 2022 20:21:19 -0500 Subject: [PATCH] PNS: Do not allow smart pads when in 90-degree mode Fixes https://gitlab.com/kicad/code/kicad/-/issues/10386 --- pcbnew/router/pns_line_placer.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pcbnew/router/pns_line_placer.cpp b/pcbnew/router/pns_line_placer.cpp index d5023d4448..0c4a097580 100644 --- a/pcbnew/router/pns_line_placer.cpp +++ b/pcbnew/router/pns_line_placer.cpp @@ -653,8 +653,15 @@ bool LINE_PLACER::rhWalkOnly( const VECTOR2I& aP, LINE& aNewHead ) break; } - if( Settings().SmartPads() && !m_mouseTrailTracer.IsManuallyForced() ) + DIRECTION_45::CORNER_MODE cornerMode = Settings().GetCornerMode(); + + // Smart Pads is incompatible with 90-degree mode for now + if( Settings().SmartPads() + && ( cornerMode == DIRECTION_45::MITERED_45 || cornerMode == DIRECTION_45::ROUNDED_45 ) + && !m_mouseTrailTracer.IsManuallyForced() ) + { effort |= OPTIMIZER::SMART_PADS; + } if( m_placingVia && viaOk ) {