From b5145b2b538355322b70809bf56a61a913253c9c Mon Sep 17 00:00:00 2001 From: Peter Clifton Date: Sat, 9 Jan 2016 17:30:12 +0000 Subject: [PATCH] Play with grid snapping heuristics a little Require the pointer to be inside the bounding box of a pin / pad / via before snapping. This makse it MUCH easier to place vias in a regular grid spaced at the PCB grid spacing. --- src/crosshair.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/crosshair.c b/src/crosshair.c index 970db92e0a..09a9fb94d8 100644 --- a/src/crosshair.c +++ b/src/crosshair.c @@ -967,7 +967,7 @@ FitCrosshairIntoGrid (Coord X, Coord Y) ans = NO_TYPE; if (PCB->RatDraw || TEST_FLAG (SNAPPINFLAG, PCB)) ans = SearchObjectByLocation (PAD_TYPE, &ptr1, &ptr2, &ptr3, - Crosshair.X, Crosshair.Y, PCB->Grid / 2); + Crosshair.X, Crosshair.Y, 0); /* Avoid self-snapping when moving */ if (ans != NO_TYPE && @@ -1024,7 +1024,7 @@ FitCrosshairIntoGrid (Coord X, Coord Y) ans = NO_TYPE; if (PCB->RatDraw || TEST_FLAG (SNAPPINFLAG, PCB)) ans = SearchObjectByLocation (PIN_TYPE, &ptr1, &ptr2, &ptr3, - Crosshair.X, Crosshair.Y, PCB->Grid / 2); + Crosshair.X, Crosshair.Y, 0); /* Avoid self-snapping when moving */ if (ans != NO_TYPE && @@ -1042,7 +1042,7 @@ FitCrosshairIntoGrid (Coord X, Coord Y) ans = NO_TYPE; if (TEST_FLAG (SNAPPINFLAG, PCB)) ans = SearchObjectByLocation (VIA_TYPE, &ptr1, &ptr2, &ptr3, - Crosshair.X, Crosshair.Y, PCB->Grid / 2); + Crosshair.X, Crosshair.Y, 0); /* Avoid snapping vias to any other vias */ if (Settings.Mode == MOVE_MODE && -- 2.11.4.GIT