SuperSkein 1.0

by MaskedRetriever, published

SuperSkein 1.0 by MaskedRetriever Jul 29, 2010


Liked By

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.

Print Thing Tag

Thing Statistics

9795Views 1919Downloads


Okay, this really isn't a thing but I think it's worth uploading.

SuperSkein is a first-order model slicer that runs in Processing. It's pretty basic still, but since it's object oriented and in Processing (which could be quickly ported to C) it should be easy for the community to hack and improve.

Right now it slices models in /seconds/ that'd totally bog down Skeinforge and can slice models with non-manifold errors without a problem. It's missing nearly all of Skeinforge's features, but I've got a MakerBot to print a more-or-less-viable object from it already.

Happy hacking!

EDIT: Added 1.1 with some niceties added and one of the big basic bugs fixed.
Also also edit: Now on github!
If you want collaborator access just message me or comment!


Step 1: Unzip the folder and put it into a directory named SuperSkein, then run SuperSkein.pde with Processing!

Step 2: Hack until satisfied :3

All Apps

Upgrade this Thing with Thingiverse Apps

Tools and Utilities

Repair, slice, or enhance this Thing

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Regardless as to which of the downloads I use. When I open SuperSkein, all I get is a blank GUIi that I can't do anything with.

Superskein 1 doesn't have a GUI. You have to edit the source file to change its "target".

The current version has a GUI, although I'm actually thinking of getting rid of it:

In LeanSkein the GUI is also thrown out, but it has a config.txt file you can alter, which is nice.

your version 1.2 doesn't seem to work. I get an array bounds error in the mesh module. However 1.1 seems fine. Awesome work !

Hi, I don't know proccesing. Is it java or java script ? //// It is not important.

Brefly, I have read your code. It's great

You make the complexxxx a simple .

I will plant to your code to translate C/C+ standard code.

In your works, do the library or external import code included ?

Thank your concern

SuperSkein is getting more and more complex, and relying more and more on libraries. SimpleSlice is being kept pristine and straightforward, and uses no external Libraries:


Processing is Java based.

Hi, I read the codes.

simple but strong alorithm.

Only line move g code is exellent.

Now, many outline gcode is generated.

I need to find the logic that the internal area is filled.

How do you think?

Yes, I see

I will try to translate SimpleSlice to C/C++ standard code.

Really, My goal is the translation of Reprap in C/C++.

I will use your base code.


This is the best thing ever. Seriously. This code is actually readable. And awesome. And since its processing its pretty universal among programmers.

I took the initiative and ported it to Objective-C/Cocoa Touch for the iPhone. It took forever because I had to change a whole bunch of stuff to make it work/compile. But its done and it sorta works. I think theres some bugs I created in the process related to array counts because it seems to leav
e out a line or so each layer. But it works and has a little more UI than the processing version. Oh and I sorta need to add some garbage management too :-P The program leaks a loooottttt right now. But I'll fix all of that before I release it to the world.
At some point I foresee myself creating a
standalone iPhone app Makerbot controller. Once I figure out how to do serial comms without a jailbreak...
Ya so thanks for the awesome code :-D


There you'll find the source code to an iPhone modem using the audio port. I'm only starting to lear Objective-C and iPhone programming (which is a PITA for a hardware guy like me), so I hope you can do something with it!

I posted this on the SimpleSlice page too but heres the link to the iphone port repo: http://github.com/beak90/SuperSkein-iPhone/http://github.com/beak90/Super...

And yes I have seen that project with the headphone jack. I'm really not sure whether it would be fast enough for controlling a print. But I'm pretty sure it would be fast enough for a control panel and starting sd card prints. I'm sure I would have to add another µcontroller between the phone an
d the motherboard. It actually might be easiest to just pretend to be an lcd and run it with revar's lcd firmware.

And I completely recommend Objective-C :) Its a pretty awesome language. I recommend getting some books. I like this one: http://www.amazon.com/gp/product/0321566157/ref=pd_lpo_k2_dp_http://www.amazon.com/gp/produ...

and I like the books by Erica Sadun. But you should search around because there are a lottttttt of books on obj-c and iphone programming now. Seriously its like a gold rush of books :)

Today, I just bought "Objective-C for Dummies," "iPhone Application Development for Dummies," and Erica Sadun's "The iPhone Developer's Cookbook." I'm progressing fairly well.

There's currently an unfixed (but diagnosed!) bug that causes lots of erroneous traversals of a given slice: very short edges are becoming orphaned from the main contours and then picked up on the last few gcodes. The most recent commit ham-fistedly fixes this by throwing out the last few gcodes in each slice, which is kind of a 90% fix.

Ok cool. Is there a way to see the differences between commits in git/github? Otherwise I can just implement the new stuff by hand, but it would be a lot easier to keep up on changes if I knew what changed. I'm new to git so I'm still working on getting a repo setup for the iPhone version.

The code was ported from the second commit on github. I figured out how to see changes since the last commit, but it would be a lot of work making the changes of each commit since there's been 4 commits since I got the source. So again is there a way to see the changes since the second commit?
Oh and I think I might be able to get away with doing serial comms through the headphone jack on the iPhone but its not high speed at all. Maybe just for simple controls though...

Revar fixed the bug, and at that point I forked a version called SimpleSlice:

SimpleSlice may change a bit, but only to /remove/ code not necessary for absolute basic functionality. If you want something stable to work from that might be your best bet. I'm new to GitHub and Git too, but if you click nodes on the network page there's code that looks like it's from that update....

One more note, I've been told there's a port API for the iPhone somewhere; you could even work on a variant that just drives the motor and extruder control lines...

While I was bored waiting for a print, I converted this code to C# (yeah.. I know.. I like C# though) and gave it a run.

It slices up that model in under a second. Walt Disney's head is a lot harder to slice so I gave that a try, too - 33 seconds..

That seriously does not suck!! :D

That is very cool and exciting! Have you posted it anywhere?

Na.. It was really just hacked together. I redid the file i/o but aside from that, it was just things like changing ArrayList.size() to ArrayList.Count and some other housekeeping.

If I'd done it in Java (a language I haven't written in years) I'd have made it public. Not sure there's a big call for a windows-only versions of this. Or, if there is, I'll wait for you to do some more then steal it. :)

This would be great on GitHub!

I haven't tried this yet, but think I'm going to love it.

Where can I find more information about this project?

This is all there is at the moment-- I'll do some work on it tomorrow such as making it available on some revision control system or another and also upload my current notes on the code (and advice for future revisions) both here and to said revision control.

I think this project is already suitable for at least getting slices out of a model that has minor non-manifoldness such as is often caused by trying to slice a character with armature work...