Community
Fusion API and Scripts
Got a new add-in to share? Need something specialized to be scripted? Ask questions or share what you’ve discovered with the community.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

New add-inn: Finger Joints

46 REPLIES 46
Reply
Message 1 of 47
florian.pommereningDGUYA
13549 Views, 46 Replies

New add-inn: Finger Joints

In case anyone is interested: I published an add-in on github that can create joints like these:

 

demo.png

lapjointsresults.png

usage6.png

The full documentation is on github. If you have any feedback or comments, please post them here. 

 

One caveat is that the plugin currently is not parametric. If you have an idea how to make it parametric, please respond in the post dedicated to this question.

46 REPLIES 46
Message 2 of 47

This looks very cool.  I'm looking forward to playing with it.

---------------------------------------------------------------
Brian Ekins
Inventor and Fusion 360 API Expert
Website/Blog: https://EkinsSolutions.com
Message 3 of 47

Hello,

 

To ease the installation process, you can use the GitHubToFusion360 script.

 

Message 4 of 47

Wow - what a great plugin!!  I have been hunting for one since getting a laser cutter - been crafting these joints by hand by splitting bodies and turning off all the little bits it creates.  I searched initially but didn't come across this one for some reason.  I think I was calling them box joints instead of finger joints.  Works great - nice work!

Message 5 of 47
matt
in reply to: JeromeBriot

Thanks for this plugin as well.. have just started getting into installing them and found it clunky to install but this is so much easier!

Message 6 of 47

Thanks. It's nice to hear that this is useful for someone. For me, this was my way of getting familiar with Fusion 360. I don't have access to a workshop, so I have never seen a joint produced by the plugin turned into something physical. Let me know if they fit. Someone suggested adding an option for a small gap between two fingers as a tolerance. I would be interested to know if this is necessary for a laser cutter, or if the parts fit like this, (or if this is something better done in a different stage of the project).

 

Unfortunately, the plugin doesn't respond well to changes in the timeline (especially modifying parts after cutting the joints), so I suggest to cut the joints as one of the last operations you do, after you are otherwise happy with the part. There are some workarounds that I could implement but that would be a lot of work and not a real fix for the underlying issue which is caused by a limitation of the plugin engine.

Message 7 of 47

Thanks for the tip.  I do usually make the finger joint cuts last but may make tweaks in the future so I'll keep an eye out for that.

 

I attached a pic of what I used this for today.  Laser cut ~1/4" plywood bin for storage.

 

The joints fit very nicely.  I use another plugin to output the cut files with the laser kerf accounted for all the way around.  This is imperfect since it can make for improper clearance at certain types of intersections where a cut piece meets an uncut face so a joint-aware kerf calc would be interesting.

 

I did not try it on a T-type intersection.. curious if that will work as well.

 

Message 8 of 47
matt
in reply to: matt

I did confirm it works on a T-joint as well.  Haven't cut one yet, but it models properly! 🙂

Message 9 of 47

I released version 1.1 of the add-in that now supports adding gaps between the fingers and notches. This should help with fitting the parts together if they are produced with something less accurate than a laser cutter or if you want to leave some room for glue.
You can find the new version on GitHub: https://github.com/FlorianPommerening/FingerJoints

 

gaps.png

Message 10 of 47

Thank you for this plugin, this is great!

Message 11 of 47

Thanks! If you end up creating something with it, I'd love to see a picture. I wanted to start a little gallery as part of the documentation.

Message 12 of 47

When CNC'ing I can't make the tabs and slots the same size.  There has to be some clearance.  I think with a laser people are just tracking the line with the beam so allowing the kerf to give that clearance, instead of a more precise fit.  So I was excited to find this until I read there is not "gap" tolerance built in.  Trying to parameterize it is tough.

 

Message 13 of 47

Scratch previous comment, Saw you have a revision, goign to giv eit a try now...

 

Message 14 of 47

The previous settings for gaps only allowed for a gap between the fingers and notches. I now tried to add an additional setting to control the gap between the fingers and the other part. This setting is experimental (use at your own risk, details in the documentation) but maybe it will still be useful to some. Update to version 1.2 to give it a try.gaps2

Message 15 of 47

Thank you for making this add in.

 

I use a glowforge, and have the Manufacturing space on Fusion 360 perform the cutting tool paths including kerf compensation. There is a post-processing script for glowforge that works well to export those tool paths to SVG (https://github.com/garethky/glowforge-colorific-fusion360-postI)

 

What would it take to make it parametric? I tend to iterate on these designs, and re-creating all the finger joints can still be pretty tedious despite having this great add in.

 

I can offer my help with testing or coding, but it's not clear to me where you would start to achieve parametric compatibility.

Message 16 of 47

I think there are two aspects to making this updating correctly when
dependencies change.

1) The main problem is that the code would have to be updated to compute
a custom feature
(https://help.autodesk.com/view/fusion360/ENU/?guid=GUID-FA7EF128-1DE0-4115-89A3-795551E2DEF2).
There is a warning against publishing code that uses this part of the
API because it is still in preview mode and the API is not stable. I
started working on it in a private branch but the code is not working
yet. Even if I can make it work, I'll probably not merge this into the
main branch before custom features are out of preview mode.

2) The way the data currently is stored does not preserve expressions,
so for example "(0.01*length)" would be evaluated when the feature is
executed and the result is stored as a constant. This is obviously wrong
for the case where the feature should update based on changes to user
parameters but I have not gotten around to changing it. The solution is
conceptually simple, though: store all information as strings and
evaluate expressions as late as possible.
Message 17 of 47

Would it be possible to still implement the finger joints as regular (& parametric) features, rather than a custom one? Perhaps the values you need to configure the features can be collected, stored as parameters and then used in the features. If I need to adjust the finger size or notch size, it will be editable in the Parameters window and changes would cause the subsequent features to re-compute.
Message 18 of 47

Custom features do exactly what you describe (store parameters,
recompute the feature if necessary). Before the introduction of custom
features this was not possible at all in the API because there is no way
to trigger the recomputation and no good way to store and access the
relevant parameters. The only features that currently support this are
built-in features and they are not limited to the public API. So
unfortunately, no there is no (good) way to do this before custom
features are out of preview mode.

I'm saying there is no good way, because there might be a bad way, where
the user explicitly triggers the recomputation when necessary. I thought
about this before custom features were introduced but keeping track of
which objects were selected in which feature gets very messy because you
cannot store something that uniquely identifies an object. So when the
user wants to recompute a joint you have to guess which joint and what
objects were selected in that joint. All of this would be very
error-prone and would be a lot of effort to implement. The best way
would be to roll back the timeline to the feature (if you can identify
it somehow), delete the feature, open the dialog for a new finger joint,
and make the user select all objects again. But then this doesn't save a
lot of work compared to doing these steps manually. So I don't think
this is worth the effort, specifically with custom features on the horizon.
Message 19 of 47
Anonymous

Very nice add-in! Now I can finally make boxes with skewed/angled walls!

I love that the gap also works negative, so I can make a nice and tight fit for laser cut boxes.

 

I'm still working on my box and I'm a bit stuck in the corner, where the 3 walls meet. When I add the third wall, it will ignore the overlap of the other wall, so the corner piece is double. Can the add-in account for this or should I manually adjust it?

 

Message 20 of 47
florian.pommereningDGUYA
in reply to: Anonymous

Nice to hear that someone makes use of the more complex uses such as angled walls. If you build something physical, I'm putting together a gallery of pictures and would be happy to include yours, if you send me one.

 

As for the corner piece, I usually do three joints (floor to wall1, floor to wall2, wall1 to wall2) for every pair of walls. Each joint leaves the two pieces non-overlapping so at the end there should be no overlap left. If that doesn't work in your case, can you post screenshots before and after the joints you do?

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report