First public version of KiPadCheck.py is available on Github

First public version of KiPadCheck.py is available on Github.

Tested on KiCad 4.06 Stable, Windows 7 only. Please report if it runs or not on your machine.

I am totally new to GitHub so any advice there is also useful.

At this point, I wouldn’t expect full functionality, just looking for comments on installation and functionality. Please use this thread to make your comments or ask questions.

Earlier development details are here.

2 Likes

Please add a summary here of what your plugin does

ABOUT:

This python script provides additional basic DRC checks to KiCAD and lists to make tweaking pads easier for drill compliance, silk compliance, and stencil creation. It adds a menu item to “Tools” called kipadcheck That brings up a dialog for control.

Pad Info: Produces two lists:

  1. detailed list of pads by footprint reference with paste/mask properties
  2. quantity of pads by size
    Drill Info: Generates multiple lists:
  3. Hole quantity by specified pad drill sizes
  4. Quantity by closest larger standard drill size
    (future option will be to pick among defined drill sets)
  5. Drill list
  6. Distance from each via to next closest via
  7. Checks via drill to via drill clearance
  8. Checks via drill to track clearance
    Stencil Info:
  9. Lists quantity of apertures by aperture size
  10. Summary of aperture ratios by stencil thickness
  11. Checks AspectRatio and AreaRatio against a variety
    of stencil thicknesses (2 mil-7 mil, all currently hardcoded)
  12. Lists solder paste sizes for calculating appropriate.
    SilkInfo has several options:
  13. Fast check of silkscreen bounding boxes and line segments.
2 Likes

This looks interesting. Keeping silkscreen off pads is tedious

Hello @HiGreg

You may like to add KiPadCheck to this list …

2 Likes

Thank you! I submitted an issue since I don’t know how to work github and pull requests quite yet.

1 Like

Me neither, but I think we’re doing fine so far :wink:

1 Like

Not as hard as you might think.
(Especially for the list in question. For it you can do everything within the web browser. No need to work with git it self.)
There is a contributing.md file that explains everything:

3 Likes

Thank you Rene (and xess from the github page)! I think I’ve submitted the pull request. It was easy.

KiPadCheck has been updated to add the text thickness and graphical item width in the SilkInfo ‘slow check’.

And an attempt to get it to work with nightly build of KiCad.

Now that the code runs on the nightly I got here, some feedback :slight_smile:

Pad list output:

  • the quantity by size should be ordered by something… either area or by smaller side first and larger side second or even quantity
  • definitely should not care about orientation of pads, so always list ‘small large’ or the other way around… after ‘Size:’

Bug(s):

  • can’t seem to get ‘Drill Info’ to do anything
  • ‘Silk Info’ does cause ‘progress bar set to 931’ and nothing else happens
1 Like

If I order pad sizes by area, I get something like this. I’m not sure if it would be better than sorted by W then L.

Debugging for nightlies continues here.

***** Quantity of Pads By Size *****
Size: 0.300 0.350, Quantity 6
Size: 0.520 0.300, Quantity 16
Size: 0.650 0.340, Quantity 8
Size: 0.300 0.800, Quantity 58
Size: 0.600 0.500, Quantity 8
Size: 0.400 0.800, Quantity 4
Size: 0.550 0.600, Quantity 15
Size: 0.600 0.700, Quantity 2
Size: 0.700 0.600, Quantity 3
Size: 0.500 0.900, Quantity 14
Size: 0.508 1.143, Quantity 16
Size: 0.800 0.750, Quantity 30
Size: 0.800 0.900, Quantity 6
Size: 1.200 0.600, Quantity 8
Size: 0.900 0.900, Quantity 4
Size: 0.550 1.500, Quantity 44
Size: 0.800 1.200, Quantity 2
Size: 0.875 1.250, Quantity 2
Size: 0.550 2.100, Quantity 8
Size: 1.100 1.100, Quantity 2
Size: 0.900 1.600, Quantity 2
Size: 0.900 1.700, Quantity 1
Size: 1.700 1.700, Quantity 54
Size: 1.999 1.999, Quantity 8
Size: 2.640 2.640, Quantity 2
Size: 9.474 9.474, Quantity 6

Yeah, no what I meant, at the moment it doesn’t look sorted at all.
The most sense to me would be sorting this by smallest side, ascending:

Size: value_1 value_2, Quantity: x
Size: value_3 value_4, Quantity: y

(sorting by smallest side, ascending):

  • value_1 <= value_2
  • value_3 >= value_1

But any other variant works as well…

(sorting by smallest side, descending):

  • value_1 <= value_2
  • value_3 <= value_1

(sorting by largest side, ascending):

  • value_1 >= value_2
  • value_3 >= value_1

(sorting by largest side, descending):

  • value_1 >= value_2
  • value_3 <= value_1

KiPadCheck is now compatible with 4.0.6 nightly. Tested with July 31, 2017

After running DrillInfo or SilkInfo, sometimes view must be switched. F9 then F11, for example.

Or just sorting by area LxW