Matlab Knot

1638
Downloads
2571
Views
Published on March 17, 2011
This thing was Featured on March 17, 2011

Description

As much as I love OpenSCAD, constructive solid geometry is just not efficient at certain tasks and I got tired of waiting for hundreds of spheres to be unioned and rendered to make a knot. This is a parametric Matlab script to do the same thing as MakeALot's script, but in seconds instead of hours, plus the mesh is smoother.

The [3,1] knot I printed required more material for support than the print did, but it came out nice in the end. I designed it to fit a 12.7mm steel ball I had extras of from a Geomag set. Since the knot is toroidal, the ball freely rolls around the inside without falling out.

I included a couple of other example knot STLs in case you can't run the script.

Instructions

Run VarKnot.m in Matlab (or Octave, which hopefully should also work) and adjust the commented parameters at the beginning of the file as desired. It uses surf2stl.m, which I included because I made some adjustments from the version available on the Matlab file exchange. There don't appear to be any license conflicts, and hopefully my changes will show up there soon too. Basically I added the ability to export multiple objects in a single STL, which is what you get with the [2,4] knot, for instance.

There is a vertical stretch parameter that allows the knot to be taller (to make supportless printing possible) while maintaining the circular cross-section. There is also a thickness parameter that flattens the bottom of the STL to make a base area where the print can actually stick to the build platform.

The one lame thing about scripting this versus the OpenSCAD version, is there's no guarantee your mesh will be manifold. Basically you have to look at the plot and adjust the parameters so that it doesn't self-intersect.
Report as inappropriate

You must be logged in to post a comment.

Hello Emmet,

Can I ask you something 8-) , your second image show a base that was created using a script right? Sorry for my question , i don't know if I understood ...
So I like that because I just started printing and I have some Action figure modeled on Zbrush, that I want to print, and they need a struct
ure to be build ..
For this wolverine maybe I could print in pieces but for a small scale for sure needs a structure.

Congratulation for the model! ;)

best regards

Marcelo P

I'm guessing by "base" you mean support structure? Skeinforge has an option for support (there's a checkbox in ReplicatorG for it as well), which is what I used on knot31. Makerbot also has some useful how-to articles about it on their blog.

In case you've never used support before (like me!) then let me warn you that "exterior" support won't cut it!

Do you think it is (or could be) possible in OpenSCAD to define the cross-sectional geometry and then "extrude" it along a mathematical path?

That would be totally amazing. I imagine that's something that wouldn't be too terribly difficult to implement, but then again I'm not a programmer :-P