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


Changed the version for you to 0.3.3


@Niluje you need to get a bit more active in other threads and you will get promoted from Basic status, getting more rights


Ok. This explains what happened. So I will participate to unlock this feature back.
Thank for your explanation.


Could you make the zones of each teardrop have a higher priority? I get like a thousand DRC errors because my copper plane has priority 0, and my thousand teardrops also have priority 0.
I guess a priority 10 would be enough for most people…
Great job man


Actually, this is an issue fixed yesterday!
Just check my github account and pull the repo.

The person that opened the issue proposed to set the priority to 128 which is very different from what you have mentioned here.

Since this value seems to be project specific, I will introduce a new parameter for it in the setTeardrop function.

Thank for your help.


Ah great. Zone priority 128 seems good. I just said 10 because most people wont use 10 zones one inside of another.


Thanks to this discussion, I came to think about a new feature using the zone priority:
Using the zone priority as a marker that identifies a zone as a teardrop. In this case, I would use a very high priority number that would also be a teardrop magic tag.

This would suppress the need for an external file that stores the teardrops definitions.
This would also allow single teardrop deletion by simply select the teardrop and hit the DEL button.
The user will also be able to modify the zone shape using the kicad zone tool.
The scripts will still provide the setTeardrops and removeAllTeardrops function untouched.

I know that this is a very dirty solution but I think the benefits are very attractive.

Since some people here are using this script, I prefer asking before breaking everything.


Is this graphical interface showed in the figure part of the scrip or just a example of other software?


This script does not provide any graphic interface for the moment.



Hi all.

Just a few words to announce the release of the 0.5.0 version.

  • Use predefined priority (0x42) to identify teardrops (as proposed in a previous post) no external files are required.
  • Add an action plugin wrapper in order to launch the script with a single click.

As usual everything is available from my github repo:


Thanks @Niluje !
This is very helpful. I just tested with the current nightly and it seem to work well.
Version: 5.0.0-rc2-unknown-ca54880~65~ubuntu16.04.1, release build

I noticed one issue though. After applying teardrops, they are not immediately visible (OpenGL mode).
Repeating the process a second time then works.


@Anool, @Niluje
I think it should just needed to add:
to refresh OpenGL view


@Anool: thank you for your feedback. This is actually a known bug. Until now, the solution given by @maui was not working. And changing the display mode was, as you suggested, the recommended solution.

@maui: thank you, I will test again your solution as soon as I can. Since there were a lot of recent changes in kicad zones code, it might work now.

In a more general side, I will wait until V5 release to provide changes to my script since zones implementation are very volatile (especially last month’s).


Thanks for keeping this maintained. I like to see teardrops on connector pads to thin tracks


@Niluje you might want to check this issue out.

In a fresh clean install of Ubuntu 18.04 LTS and KiCAD latest nightly build, PCBnew crashes.
The issue can be resolved by removing scripts from /.kicad_plugins directory.
In my case, I only had Teardrops folder in Plugins.


Thank you for pointing this to me. I will try to reproduce it as soon as possible.
I will come back to you as soon as I get news.


I am sorry for the lag in my answer.

I have tested with 2 nightly during this week and I did not encounter any crash.
I will test with a fresh Ubuntu 18.04 LTS as soon as I can get enough time to setup a virtual machine.

I have done all the tests with one of my own projects (main board):

Here is the kicad version of my last test
Application: kicad
Version: 5.0.0-rc2-unknown-e4a6f2e~65~ubuntu16.04.1, release build
wxWidgets 3.0.2
libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Platform: Linux 4.13.0-43-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
Boost: 1.58.0
OpenCASCADE Community Edition: 6.8.0
Curl: 7.47.0
Compiler: GCC 5.4.0 with C++ ABI 1009

Build settings:

Can you try to open my project with you Kicad ?


Sorry for the triple post.

I finally managed to get some time to test this on a fresh Ubuntu 18.04LTS. I can confirm that the presence of the plugin causes pcbnew to crash.

I opened a bug report in kicad launchpad page and I found out that this is a known bug. This is due to wxwidget v3.0. See the following bug report for more details:

I hope this will be fixed soon.


This month Ubuntu will issue 18.04.1 and start prompting to upgrade 16.04 and also EOLs 17.10. This makes this issue more critical.


I totally agree. Moreover, action plugin seems to be only a small part of this problem.
According to the bug thread, there is many more manifestations.
I really hope someone will find a way to overcome this bug before 16.04LTS users start to upgrade to 18.04LTS.
In my case, it will prevent me to upgrade.