PcbNew - Array operation overwrites original pin numbers

I have created 2 sides of a “sides of a square” pin layout: This is for a QFN adapter.

Having placed left-Y, lower-X, I decided “Create Array” gives accurate placement (but “Duplicate” does not).

So, I selected the vertical pads (1…6). When I use this with CTRL+T Create Array (Horizontal count 2, vertical count 1), the placement is correct, but the numbersare wrong…

…That is not so bad, but it spoils the original numbers too!

Desired result: Original selection (1…6, downwards direction)=No Change
A copy at chosen offset (yes, OK)
No change to orginal pins (problem here)

Would be nice: New pins 13…18 in upwards direction.

So pins (1…6) have new numbering.
Is there a way to configure the copy to preserve original numbers?

PS: An alternative is Footprint Wizard - but still, I am interested in how the numbering options are used for arrays.

I have lost the original link to the CERN video.

Instead, I have found it in this link

You’ll se how to re-number the pads of a footprint, minute 2 or so.

Thank you Pedro. My interface looks different, “Enumerate” is missing (and right-click menu much longer).

Also, “copy” does not have the required “snap to pad centre” (I tried Preferences | Magnetic pads).

Application: ModEdit
Version: (5.1.4)-1, release build
Libraries:

  • wxWidgets 3.0.4*
  • libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0*
    Platform: Windows 7 (build 7601, Service Pack 1), 32 bit, Little endian, wxMSW
    Build Info:
  • wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)*
  • Boost: 1.68.0*
  • OpenCASCADE Community Edition: 6.9.1*
  • Curl: 7.61.1*
  • Compiler: GCC 7.3.0 with C++ ABI 1011*

Build settings:

  • USE_WX_GRAPHICS_CONTEXT=OFF*
  • USE_WX_OVERLAY=OFF*
  • 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*

The video is for version 4. However it can help for v5.

I have understood you need to make a footprint and want to number the pads in some order. So you wereworking with the footprint editor and not with the layout.

The function “snap to pad centre” is intended for tracks (or cursor), to “snap to centre” while routing.

Sure Pedro - I realise I am describing a Footprint Editor issue :grinning:

– The reason I mentioned “PcbNew” was for the purposes of comparison. I think that Footprint Editor might benefit from this same “snap to pad” action. In particular, the “copy” operation (in footprint editor) prompts the user to choose an origin.

IMHO - I am quite likely to want an origin at the centre of a pad.

I cannot accurately locate the centre by eye. If the “Footprint Editor” did have a “Snap to centre” feature (like in “PcbNew:Snap to centre”) then, when I paste, I know the cross-hair will be at the centre of the copied pad.

The array tool is used in Tutorial: How to make a footprint in KiCad 5.1.x (From scratch)? to create a qfn footprint

1 Like

Then why not move exactly the whole footprint to match the desired pad to (0,0)?

OK Thanks for your link Rene. I gather that the method shown is to manually place the first pad in a series (horizontal or vertical), then use the array tool as normal. I still do not understand why, when I copy an entire column (like pads 1-16 in your example), the original pads are re-numbered. Also I still do not understand the array options well - see image.

Pedro; Re: “why not move exactly the whole footprint to match the desired pad to (0,0)?”
How quick & easy it it to move the copy accurately?

If I need to place a “clone” (copy) at an exact point - using “copy” this is how I do it

Copy then paste anywhere.
Now, write down the co-ordinates of some datum point on the “clone” -->
Determine where this datum should ideally be --> <Dest. Datum>
Perform a subtraction: <Dest. Datum> -
Now, select the entire clone
CTRL-M, Move: Enter results of subtraction

I was not meaning the copy but the whole finished footprint.

And the create array behaviour for pads has definitely a bug.

I suggest you to create the buggy array and then use the renumbering pads function.
Rightclick->Pads->renumber pads

Useful to know about Pads|Renumber. (The dialog title says “enumeration”, so I assume this equates to the video feature I could not find earlier).

There is no automation for selections though: If I pre-select a column of 6 pads, I still have to click on each pad in turn. So for larger chips this is still very slow.

Still - it is faster to “right-click/auto-increment” than invoking the ‘Edit’ box on every pad, so it does save time.

You don’t have to click every pad. Just keep the mouse button pressed and drag the pointer so that it touches the pads in correct order.

2 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.