How to add tear drop in kicad?

Good to know there is more applications for teardrops, I use it mostly because of his anesthetic, also the curved traces. The person who makes that video also makes his code public, here: https://github.com/heikkipu/kicad-devel
I hope more people find this useful and more can collaborate with the code :slight_smile: (a thing Iā€™m far to be able to do)

Wow, impressive.

  • how much of that (teardrops, curves, via stitching) made it into the V5 rc ?

Via stitching


these features were ā€˜availableā€™ since about three years agoā€¦
Round Corners & SolderMask clearance


Stitching Vias

Via Fencing

and without any changes in kicad_pcb format (then compatible with v5 pcbnew format)

3 Likes

Thanks - in the demo the trace curves seemed more global, and interacted well with shove. (ie did not degenerate into a mess, but curves were removed once isolated).

Shame Teardrops did not make it, as they seem to have been implemented in forks for a long timeā€¦

Please forgive me if this is a stupid question but Iā€™ve been using Kicad ver 4 for some time now but couldnā€™t see this great feature in it, so i installed the latest nightly build today & still canā€™t see it. What am I doing wrong please?

Many thanks for your patience,

Pat.

Which great feature do you mean ?
Videos above show what is included, (some curves, vias) and Teardrops I think are still (sadly) experimental/excluded.

Hi Pat,
the video with tear drops, round corners and stitching vias is from a forked repo
heikkipu kicad repo at github

the gif of rounded corners, soldermask clearance, stitching vias and via fences are derived from an almost 3 years ago repo
ben kempke kicad repo at github
I aligned Ben repo to the todayā€™s dev repo and the kicad_pcb format is compatible with the actually used

both are out of the main code stream ā€¦

In both there are good ideas for the next releaseā€¦ I like a lot the approximation used for rounded curves that makes the trick working without the need to change DRC code :smiley:

Hi folks & thanks a million for the fast reply, thatā€™s what open source is all about :slight_smile: The feature I really like is the round bends on the tracks, I use KiCAD to do alot of RF Layouts. Iā€™m away until the weekend but when I get back Iā€™ll have a look at that version,

Pat.

A coder needs to put these features on the todo list for v6 or even v5.0.x if it doesnā€™t involve file format changes, with a code cleanup to meet KiCad standards

2 Likes

Well it seems one reason as to why it will be hard to get this into kicad is because the developer did not use git as intended (He seems to have just copied the source-code into a new repo and started from there. https://www.mail-archive.com/kicad-developers@lists.launchpad.net/msg24282.html Or he screwed up somehow and wiped the git history that way.)

Maybe something else to keep in mind: https://www.mail-archive.com/kicad-developers@lists.launchpad.net/msg27179.html
The important bit from it:

Too answer your earlier question as to why Tomā€™s zone filling code got merged and yours did not is simple. You seem to be unwilling to cooperate with the lead developers by making changes to your code so that we can get them merged.

And also:

My guess is that with a bit of cooperation on your part, we would have used your code instead of Tomā€™s. This would have freed Tom up to work on other things and your threaded zone filling code would be in the KiCad development branch.

I am a bit baffled as to why someone would invest time in a project and not help the lead developers to include these nice features into the main codebase. Seems like a huge waste of time. (For everyone involved)

2 Likes

I think the code will also need to be implemented in the new OpenGL/accelerated canvas, looks like it was done in legacy.

Unless a developer steps forward who is willing to work with the lead developers, then we are not really any closer to getting these features in KiCad.

I havenā€™t followed closely the tear dropā€™s code, but referring to Benā€™s code, he did everything in the right wayā€¦ he made also 4 different repository to facilitate the mergingā€¦
https://lists.launchpad.net/kicad-developers/msg19528.html

Via stitching:
via stitching repo
Via shielding:
via fencing / shielding repo
Round traces:
round traces repo
Mask expansion:
solder mask clearance repo

With the recent changes in vias management, it is possible to merge all his contributions without any changes to kicad_pcb formatā€¦ Rounded curvers are approximate as segments to be DRC friendly and stitching vias and via fencis are fully compatible with the actual codeā€¦
The diff are very limitedā€¦ it was a pity that was not merged since almost three years agoā€¦

2 Likes

The answer by wayne gives a bit of reasoning. It seems he chose a very bad time to try and get his stuff merged. (During a feature freeze where the lead team is more concerned with fixing bugs then discussing new features. Which i nope is understandable.)

It also seems that at least parts of his implementation did not allow DRC to work properly. (And there where other open questions. I did not follow the whole thread to find out what wayne meant with that particular part of his response.)

There was no follow up from him which might explain why it has been forgotten. (Searching for his name on the mailing list results in only 3 messages. There is no newer message regarding any of these contributions.)
So it seems he sadly lost interest in getting his stuff into kicad. Maybe another developer can take up his work.

I wonder how many other branches are out there waiting to be merged. Standing at nearly finished but not quite there yet, ā€¦ Lost in time.

Dev here. Your guess was correct:

  • Heikkiā€™s code was not merged because of his unwillingness to cooperate with the dev team and changes to Kicadā€™s file format that would make it (in the longer run) much more difficult to import designs created in other tools.
  • Benā€™s code is OK, but it only works in the legacy canvas. We have a policy that every new tools/feature should support the modern canvas. I really like his contributions, but had no time to port them to the GAL. As soon as V5 is out, weā€™ll get back to these patches, so you can expect them in V6 nightlies at some time.

Cheers,
Tom

6 Likes

please have a deep look at Benā€™s mail:

Although I was planning on waiting until after the stable release to polish
these off and get additional input, I figured Iā€™d share them here since
there still appears to be a lot of attention regarding this topic.
Hopefully they will be useful or at least provide some hints as to how
KiCad could implement more RF-centric functionality in the future.

As I pointed out, this is not a problem nowā€¦ no more need to have ā€˜NET_LOCKEDā€™ option nor changing in file formatā€¦

bad attitude losing this opportunity in contributionsā€¦

looking forward to see it in v6 dev releaseā€¦

1 Like

So long as it doesnā€™t affect any file format, it might be possible to add Bens code, with OpenGL support, to v5 once the v5 release is out of the way. Major releases like v4,5,6 allow compatibility changes in format.

1 Like

Now that v5 is out in the wild, what needs to happen to wrangle these features in?

Find a developer that is prepared to get them to a state where they are mergeable.

If you want to be that developer, get in touch with the original devs that started to implement these features. Ask them what is missing. (For at least one of the implementation attempts you would need to transfer it from the legacy to the modern toolset)

1 Like

Is there an update on this pathway ?
Does this support curved Teardrops ?
(weā€™ve found those give the best nearby-via tolerance, better than straight-sided teardrops)