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

@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!

Hello @eeintech,

I’ve never seen such behavior.
Is it possible for you to post the design or at least a small part of it containing the problem ? This would help a lot.
Thanks in advance.

@Niluje

Thanks for your prompt answer :slight_smile:

So it’s a bit embarrassing but I can’t reproduce anymore… all teardrops come now correctly as filled zones.
I rolled back to the version of the kicad_pcb I had issues with from a few hours back and it’s also working :confused:

I did restart KiCad once, maybe that was just it.
Sorry for the trouble, something mysterious happened…

@eeintech,

No problem. I am glad it is working now.
If the problem comes back, do not hesitate to contact me.

1 Like

I noticed that when adding tear drops to pads that have a trace sitting off-center there is a gap between the trace and the teardrop fill.
Is there a way to fix this in the script without having to manually fix every teardrop fill for those pads?

Unfortunately this is not possible yet.
I will open an issue for this on the github repo to use as a reminder.
I am sorry

1 Like

I use this script on v5.1.6 - thank you for making it @Niluje! Definitely fewer board defects using teardrops.

I’ve been trying out the nightly / v5.99 recently, found the script does not work on there. I can’t seem to get it to show up in the plugins list, though I have other plugins that show up, so I know it’s in the right directory. Just wanted to put this info out there as a point-of-reference. Maybe when v5.99/v6 gets closer to release, getting this script working would be great!

I am not familiar with the Kicad release process.
Is there some code freeze or things like that ?
If yes, it seems that this could be a good date to start supporting the future V6.0.

1 Like

Features have been freezed, including the file formats (except some certain file format change in eeschema which shouldn’t affect the layout). This is indeed a good moment to start supporting v6 in scripts.

1 Like

Except that according to https://www.mail-archive.com/kicad-developers@lists.launchpad.net/msg39090.html, if I understand it correctly, the stable API is still under work and is a some kind of exception to the feature freeze. So is the eeschema API. For the sake of plugin developers and users I would like to hear some clarification. @Seth_h, can you tell what is the actual status of these? Is it worth porting a plugin to the current pcbnew API? Do you have any other schedule than “rc1, whenever it happens”?

1 Like

I wouldn’t port a plugin to the current API prior to rc1 unless you are OK with porting it again for v6.

We are not removing the old python API. But that was always a thin layer around our C++ header files. This is inherently unstable as we rename and reorganize classes. The instability is the primary reason for developing a stable python API for v6.

Right now, we are in a period of large re-structuring. So you should anticipate that the old API will change/break for a a while in the nightly builds.

5 Likes

Thanks for this clarification.
It is good to hear that the new python API is on its way. From my point of view, this will be a huge step toward more stable and well documented plugins.
I will definitely wait for the RC1.
Thanks for the hard work.

6 Likes

Since the Python API status is known for V6_RC I’ve updated my plugins with the changes proposed by beanjs github user. Huge thanks to you whoever you are !

If anyone wants to test, just clone the V5.99_V6RC branch in the standard repo: https://github.com/NilujePerchut/kicad_scripts
Comments/bug reports are welcome.

7 Likes

@Niluje, maybe this email is related to you: https://www.mail-archive.com/kicad-developers@lists.launchpad.net/msg39831.html, if not read. And thank you for a compatibility with v6 of this essential plugin! :slight_smile:

1 Like