Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

# Parameterized Twisting Kochflake Vases

## by s_p_e_x, published Jan 27, 2013

Parameterized Twisting Kochflake Vases by s_p_e_x Jan 27, 2013

## Description

I was really captivated by the snowflake vase, but wanted to mess around with it. However, I don't really have any idea about or desire to mess with Cinema 4D.

I sorta started from scratch and used it as a reason to learn a bit about ruby. (Yikes! And remember my vector math from school!)

Thank goodness Meshlab supports ASCII STL files. Otherwise this was going to get very messy as Ruby doesn't so much do writing binary files.

I had a really good idea to link the "kochness" level to the diameter, so that very elaborate functions for the diameter would be possible and even pleasing.

Stay tuned...

view all
Thanks! I actually started improving upon this to learn some Java. I solved my math error (some of the points are too "long"). And I added an inside and a "top" and two "bottoms" (one for inside and one for out).

However, I need to improve the algorithm for creating a reasonable inside before it would be useful to post.

I'm happy to share some insights, though. I enoy this sort of math problem.
Nice! I am working on a similar program in Mathematica. Your Ruby work is inspirational.

view more

view all

## Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

## Instructions

Open up the script and look around. You'll find various parameters which you can tweak.

To run the script, you'll need ruby and you'll want to capture the output to a text file:

./scriptname.rb > my_ascii_file.stl

Then you can open the file in Meshlab and convert it to a binary STL file or whatever you like.

I've made good progress. You can fiddle with the number of twists and the scaling as well as the number of levels of kochness.

Be warned, I'm still cleaning up the script, but there are some comments in there now near the relevant parameters.

I still need to add something to have it start with a triangle as the first output layer.

To run the script, you'll need ruby and you'll want to capture the output to a text file:

./scriptname.rb > my_ascii_file.stl

Then you can open the file in Meshlab and convert it to a binary STL file or whatever you like.

I've made good progress. You can fiddle with the number of twists and the scaling as well as the number of levels of kochness.

Be warned, I'm still cleaning up the script, but there are some comments in there now near the relevant parameters.

I still need to add something to have it start with a triangle as the first output layer.

Refer to the ancestor for their tips on printing an empty shell object like this. No wait... there's nothing helpful there.

No worries, printing is easy. This is how I did it: Scale it in ReplicatorG, generate gcode (for 90 minutes) with 3 shells and 0 infill.

Preivew gcode in tatlin and realize that the "vase" is unfilled, but has a top.

Google around for how to hack skeinforge to bend to my will. Eventually find a post which says to use Repetier-Host because it has a "nice" gcode editor where you can remove the layers for the top from the gcode file.

Install Repetier-Host ("just-worked on my Ubuntu box, but a little scary how many things had to be built from source and what-not). Find out that the "nice" editor will show you where a layer starts, but that's about it. And realizing that saving the edited file makes the result completely screw up ReplicatorG.

Restart ReplicatorG, Power cycle Makerbot

Use the line numbers from Repetier-Host to edit the gcode with VI to delete the layers, but leaving enough stuff at the end for it to close up/clean-up properly.

Preheat Makerbot, start printing, wait for ReplicatorG to (re)load the file (?) while it turns off all the heaters which you spent so much time getting up to temperatures. Wait for Makerbot to heat up again. Realize it is time for bed and that it will probably still be printing when you get up. Try to sleep and hope that when you get up you'll have a nice print instead of a jammed printer or a giant smoldering mess or filament everywhere or all of the above.

Ok, I guess printing isn't quite as easy as I thought.

#### Size

Nice! I am working on a similar program in Mathematica. Your Ruby work is inspirational.
s_p_e_x - in reply to sphynx
Thanks! I actually started improving upon this to learn some Java. I solved my math error (some of the points are too "long"). And I added an inside and a "top" and two "bottoms" (one for inside and one for out).

However, I need to improve the algorithm for creating a reasonable inside before it would be useful to post.

I'm happy to share some insights, though. I enoy this sort of math problem.
Top