feature request: Snapping in footprint editor

Bug #1847962 reported by Cedric De Wijs
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Unknown

Bug Description

I want to design a footprint with lines that are not on the grid. For instance I want to place a rectangle on F.CrtYd that is 0.15 mm bigger than the rectangle on F.SilkS.

Currently I have to do this:
-Draw 4 lines on F.CrtYd.
-double click on each one, and then edit the line segment properties

What I would like to do is:
-Draw one diagonal line on F.CrtYd.
-Double-click on that line, edit the endpoints so the 2 points are 0.15mm off grid.
-Enter draw a line mode, and snap on the off-grid endpoint. Now the cursor snaps on the grid, so I see a straight line that starts from the off grid point, and end on a grid point. The line is now not a 90 or 45 degree angle.
-Press CTRL. Now the line is restricted to vertical, 45 degrees and 90 degrees. For a vertical line, the cursor snaps vertically on the grid, but not to the horizontal grid, so it can land on coordinate x=10.15,y=12.00
-When the user makes a vertical line using the ctrl key with x=10.15 and then goes near a horizontal line where y=13.45, the cursor should then also snap to x=10.15,y=13.45

I think the footprint editor can snap by default on objects in the current layer, and optionally snap on objects on all layers. This can create a problem when there an object that is very close to the grid. If the user is zoomed out, should the cursor snap on the grid, or on the object? If the user is zoomed in, there's no problem, the user can just see what he is snapping to. Can a user choose this by pressing a key like shift or alt?

Versions:
Application: ModEdit
Version: (5.99.0-223-ge291576c3-dirty), debug build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.66.0 OpenSSL/1.1.1d zlib/1.2.11 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh2/1.8.2 nghttp2/1.39.2
Platform: Linux 4.9.196-1-MANJARO x86_64, 64 bit, Little endian, wxGTK
Build Info:
    Build date: Oct 13 2019 09:16:33
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
    Boost: 1.71.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.66.0
    Compiler: GCC 9.2.0 with C++ ABI 1013

Build settings:
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON
    KICAD_STDLIB_DEBUG=OFF
    KICAD_STDLIB_LIGHT_DEBUG=OFF
    KICAD_SANITIZE=OFF

PCBnew is being debugged in Qtcreator

Tags: pcbnew
Revision history for this message
Rene Poeschl (poeschlr) wrote :

This should already be supported in 5.1.4. It could however be that you need to use the alt key to deactivate snapping to the grid to make it easier to get kicad to snap to your first drawn line.

And to be honest the user grid might be the better option for your described usecase (faster and easier to use)
I detail the use of the user grid in https://forum.kicad.info/t/tutorial-how-to-make-a-footprint-from-scratch/11092

tags: added: pcbnew
Revision history for this message
Michael Kavanagh (michaelkavanagh) wrote :

There is a Magnetic Pads option in the Footprint Editor preferences but I can't get it to work in either 5.1.4 or master. @Devs, any ideas?

Revision history for this message
Seth Hillbrand (sethh) wrote :

I am unclear what the issue is here. I tried to follow the steps but it worked as expected for me.

Pad snapping works correctly for me. Can someone make a video of the proposed issue?

Changed in kicad:
status: New → Incomplete
Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

KiCad bug tracker has moved to Gitlab. This report is now available here: https://gitlab.com/kicad/code/kicad/-/issues/2569

Changed in kicad:
status: Incomplete → Expired
Changed in kicad:
importance: Undecided → Unknown
status: Expired → 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.