← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Array tools fixes (inc 5.1.0)


Hi Wayne,

The radius is currently calculated as the distance from the centre (which is in absolute terms) and the centre of the selection. Would be better to be the selected item position (selection centre can be slightly off from the item centre), but not sure what to do for a multiple selection. Perhaps the bounding box if the item positions, rather than the items themselves? 

I'd like to expand the feature a bit:
* Allow to position the centre relative to the items, local coordinates, global position (as now) or grid origin.
* Position as a group rather than individually (thereby maintaining relative positions within the group)

However, bearing in mind the pending release, it's bit less of a refactor and more of a feature (and would include several strings). So I didn't plan to propose this for 5.1.

The main focus of this patch set is bug fixes, with testable underpinning refactoring.



On 30 January 2019 19:18:20 GMT, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>On 1/30/2019 1:01 PM, Seth Hillbrand wrote:
>> Am 2019-01-30 10:24, schrieb John Beard:
>>> Hi,
>>> Here are a bunch of refactors to fix some issues in the Array tool
>>> (including a 5.1.0 issue), as well as putting several things under
>>> test. Seems quite a lot has degraded in here, and I fixed a few long
>>> standing issues too.
>>> 1) Separate generic array geometry and numbering logic out to
>>> Place under test.
>>> 2) Fix lp:1808706 (5.0.1 bug)
>>> 3) Fix some control enablements for geometric options that are
>>> mistakenly disabled in PCB mode.
>>> 4) Allow the array tool to renumber the original pad (e.g. 1 -> A1
>>> a 2D grid)
>>> 5) Fix dialog init values (they are often quite useless, e.g.
>>> of 0, 0)
>>> 6) Break the widget save/restore logic out to a common class (this
>>> logic is not array-specific)
>>> 7) Break out a MODULE string function and place under test
>>> 8) Break out ref-des utilities and place under test (this exposes
>>> bug in lp:1813669 as expected failures)
>>> 9) Actually fix the bug in lp:1813669 (and remove expected failures)
>>> This patch set has built on Jenkins MSVC and Msys2, but does require
>>> Simon's Boost patch for MSVC.
>> This patch set works well for me on Debian Buster/gtk3.  As long as
>> similarly behaves as expected for Mac/MSW, I'd be in favor of merging
>> this for 5.1
>> -Seth
>Everything seems to work on windows as well except I am confused as to
>why I cannot edit the radius when creating circular arrays.  Other than
>that, I'm fine with merging the patch set for 5.1.  It certainly cleans
>up the code base, fixes know issues, and includes some nice unit tests.
>Mailing list: https://launchpad.net/~kicad-developers
>Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>Unsubscribe : https://launchpad.net/~kicad-developers
>More help   : https://help.launchpad.net/ListHelp

Follow ups