Yet another Python teardrop script. Adds and deletes teardrops to a PCB. V0.3.3

A minor bug on Ubuntu 18.04 with 5.1.0
Teardrops 0.4.2

When I open the plugin, the dialog box starts too small and the bottom part of the numbers in the three control boxes are all missing.
Resizing the dialog larger makes the numbers complete.
I have a 2560x1440 display, so this map be a high DPI issue.

Sorry for the late answer.
I will check that during the next week. Do you have a screenshot of the problem ?

Incorrect spinbox sizes bug is now corrected.
New version (2.4.3) is available on the github repo: https://github.com/NilujePerchut/kicad_scripts


Still have this problem

Is this script working on Windows? I thought we still had the Python 2.7 wxPython issue

As mentioned earlier, this script only works with Python3… which excludes windows versions.
The previous bug fix was just a cosmetic fix on Linux versions.
I will try to find some time in order to get compatibility with both python versions, but I cannot ensure it is even possible.

2 Likes

I tried on windows10 with kicad5.1.2. it seems to work with td.SetTeardrops(), but i don’t know how to add teardrops on SMT pads and vias. and I cannot see the panel for adjusting the teardrop parameters.

You’re right, most of the problems are coming from the graphical interface.
I’ve written the teardrop functional part to be compatible with Python2 and Python3.

Thus, using td.SetTeardrops() without any via or pad selected will add teardrops everywhere. Selecting some via or pads before calling td.SetTeardrops() will then apply teardrop on selection only.

Please note, as stated in the README, that this plugins suffers from a refresh problem. You will have to call td.SetTeardrops() then save your pcb. Then quit pcbnew and start it again to see your teardrops.
If someone is able to help on that point, I am very interested in fixing this.

3 Likes

Interesting, do you really need to do a full exit, or does a save/(new?)/reload suffice ?

I appreciate your effort very much.

The save/reload in not enough. But with kicad4 it was possible to overcome this problem by switching to legacy backend.

Since legacy backend is not available anymore, exiting remains the only possibility I have. If you have any idea, I am open to suggestions.

Did you try calling pcbnew.Refresh()?

Yes I did. Without any result (same as the view/redraw).

The strange part is that teardrop zones are created (while not visible) and are selectable in the disambiguation menu when you click a via/pad with teardrop.

@Niluje
I think you should post your issue @ kicad launchpad bugs and @ kicad mailing list…
@orsonmmz could even be interested on that issue.

1 Like

@maui: I will. I was focused on making my script working with both python2 & python3 …

… which is now (hopefully) the case. I updated my script to version 2.4.4 which adds support for both python versions.
I have successfully tested it on Ubuntu 16.04LTS (python2) and Ubuntu 18.04LTS (python3). I do not have a Windows install to test but I hope it will also work.
The workaround is ugly and basically check for the python version before the problematic lines.

Feel free to test.

It does work. :+1: If the “refresh bug” could be fixed somehow, it would be much easier to work with, but we probably can live with it for now.

1 Like

Thanks a lot for the test. As suggested by @maui, I will open a bug report on the kicad launchpad.

1 Like

It works in my computer, which the OS is Win10 64-bit with KiCad(5.1.4).
Here is the step for Win10 users:

  1. download the tool from git which @Niluje provides.
  2. copy folder “teardrops” to “XX:\Program Files\KiCad\share\kicad\scripting\plugins”
  3. restart KiCad, Pcbnew
  4. find the tool “Teardrops” in the Tools/External plugin menu.

It works immediately when choose “Remove All Teardrops”.
When you choose “Set Teardrops” the first time, you can not see teardrops(i guess it works but not visible), and if you open “Teardrops” in the Tools/External plugin menu again(windos “Teardrops(v0.4.4) show”), the teardrops are visible!
It works when you add “Teardrops” twice.

This good to know.
Thanks for the feedback.

Hello @Niluje
I’m trying your script on KiCad 5.1.5 / Ubuntu 18.04 and I’m getting keepout zones instead of copper fills:

What am I doing wrong?

I copied the full teardrop from the Github repo to my local /usr/share/kicad/scripting/plugins folder and can access the tool from Pcbnew with no visible issue:

image

Thanks!