Print your Spore Creatures

124 views
Skip to first unread message

Will

unread,
Aug 24, 2009, 3:49:52 PM8/24/09
to MakerBot Operators
This weekend I heard that Spore now allows you to export models of
your creatures so I thought I'd test it out. It turned out to be a
little tricky so I wrote up a wiki tutorial to help others out (http://
wiki.makerbot.com/spore-creature-exporting).

Everything works well until I have to slice things in Skeinforge. I've
gotten two models to slice successfully but for some reason when I try
it today I keep getting "ZeroDivisionError: float division". I'm
thinking it might be a problem with it not being manifold but 've
tried going into edit mode, hitting ctrl+shift+alt+'m' to select
holes, and using 'f' to fill them with no success.

I need a Blender expert to get me out of this bind!

The files I've been messing with are uploaded on the wiki page.

Thanks,
Will

Matthew Wilson

unread,
Aug 24, 2009, 4:04:22 PM8/24/09
to make...@googlegroups.com
Have you printed anything yet? I'd love to see a photo of the results!

Will

unread,
Aug 24, 2009, 4:08:04 PM8/24/09
to MakerBot Operators
I just added a pic at the end of the wiki. Worked pretty well but
there were some skeinforge issues just above the feet which made it
not very steady.

On Aug 24, 4:04 pm, Matthew Wilson <matt...@shinythings.com> wrote:
> Have you printed anything yet?  I'd love to see a photo of the results!
>

Matthew Wilson

unread,
Aug 24, 2009, 4:16:13 PM8/24/09
to make...@googlegroups.com
Hey that's awesome! Can you post a screencap pic of the creature?

Will

unread,
Aug 24, 2009, 4:40:21 PM8/24/09
to MakerBot Operators
It's actually on my PC at home. I'll be sure to post one tonight
though.

On Aug 24, 4:16 pm, Matthew Wilson <matt...@shinythings.com> wrote:
> Hey that's awesome!  Can you post a screencap pic of the creature?
>

dmuren

unread,
Aug 24, 2009, 7:57:57 PM8/24/09
to MakerBot Operators
Will-

After looking at both the working and non-working mesh, it looks like
the problem might be in the fact that the hands, feet, eyes, ears,
nose, etc are each composed of separate, intersecting meshes.
Apparently Skeinforge can handle some amount of self-intersection,
even though it seems to me like it would cause problems (most
programs, even the high end modelers have trouble dealing with boolean
operators of more than 3-4 overlapping volumes -- I'm not sure why --
but this is basically the math that skeinforge has to do to determine
what is inside and what is outside the intersecting meshes)

It looks to me like your model failed at the eyes, which are quite
complicated, with 3 volumes overlapping in a very tight space.

Anyway, you can test this (I don't have any experience with SF yet,
because my Makerbot is being made in Batch 8 :) with this STL I made
of two intersecting cubes. If it works, then we know it's probably
something else.

http://www.box.net/shared/ykdu411tv4

The solution, which I'm still working on, is to un-join the meshes in
Blender, and boolean them together for real, creating a single-surface
manifold mesh, instead of 13 seperate, manifold meshes. Unfortunately,
this is where my blender knowledge ends currently :) I can do it in
Rhino, and in 3ds max, but there has to be a way to do it in the old
B.

I'll update here as soon as I find it.

Cheers,
-Dominic

Conrad Farnsworth

unread,
Aug 24, 2009, 9:58:10 PM8/24/09
to make...@googlegroups.com
Uhhhh....im tempted but i dont think ill get spore....is it that good?
--
50 12'48.28" N  8 52'08.17" E
elevation 489 ft

Will

unread,
Aug 25, 2009, 1:08:49 AM8/25/09
to MakerBot Operators
Dominic I think you might be on to something. Skeinforge managed to
slice it (it didn't quit and give me the zerodivision error) but it's
definitely a bit funky. I uploaded a picture of how it would print:
http://www.flickr.com/photos/24375810@N06/3855199700/

It seems like it's the opposite of the intersection of the two cubes
and where the two overlap nothing is printed. I'm really lost for what
to do but maybe this will give you a clue.

Thank you so much for taking the time to help. I really appreciate it
-Will

Also, to address Conrad... The Spore gameplay really isn't that great
so the creature creator is the only true asset. If we figure out a way
to get this to work it could be a really awesome way to get cool
looking prints very quickly. You might consider just downloading the
free creature creator if you want to play around with it (i doubt you
can export the models in that but I don't know).

dmuren

unread,
Aug 25, 2009, 1:42:12 AM8/25/09
to MakerBot Operators
OK. Update:

The mesh is composed of multiple meshes, all grouped together, but
intersecting one another -- there is even a tongue and teeth inside
that mouth. Additionally, the mesh comes in as a multitude of
triangles which are not joined together!! So, here are the steps to
fix the model in blender -- or any model that you import, and find
multiple overlapping bits, or disconnected bits.

Task 1: Turn triangles into a mesh.
1) Import the file.
2) In edit mode, press "A" in vertex selection mode to select all
vertices. Use Mesh tools>Remove Doubles>limit .010, threshold .000 .
This will take all the touching vertices of the triangles and weld
them together. You should see a dialog box that says "32,345 removed"
or something like that.

Now you are working with an actual set of meshes, instead of a huge
group of triangles. task 1 is complete.

Task 2: Use boolean operators to create 1 mesh from the multiple
meshes.
1) In edit mode, with vertex selection on, move your mouse cursor over
a body part -- start with the hand -- and press "L". This will select
all linked vertices, which in this case, selects the hand mesh.
2) with that selection highlighted, press "P". This will detach the
selection to a separate object. The hand should turn black, or
whatever color signifies "not in edit mode" while the rest of the mesh
continues to show vertices.
3) Repeat this process with all body parts. Keep in mind that some
body parts, like the muzzle will occlude -- or visibly block -- the
other body parts like the tongue. In order to get around this, you can
press "H" to hide, or "alt+H" to unhide a selected object or set of
vertices.
4) once you have all body parts separated into individual objects,
switch to object mode. Select two objects by holding shift while right
clicking them. Press the "W" key to bring up the boolean operators
menu. Choose union -- this creates a new mesh which occupies all the
volume that either mesh contained, but ignores the faces which
overlap. The program should take a little time to work, and when you
are done, switching to edit mode should show that indeed, the
intersection of the two meshes has become more complicated, because
new triangles were needed to facilitate the change.
5) Continue doing this for all objects, until you have one mesh.

Now Task 2 is complete.

At this point, you may want to use blender or meshlab to check for
manifold-ness of the mesh, as well as for holes, etc, just in case
there was a glitch in any of the steps. I did a quick version of this
to your model, and uploaded it here:

http://www.box.net/shared/5naye244ee

It doesn't have all the meshes booleaned together to save time, but
it's got all the tricky ones, so it should be a useful test. I kept
the tongue, and removed the muzzle and teeth, cause this looked
weirder :)

Let me know if this technique helps, or if some new problem presents
itself.

Will

unread,
Aug 25, 2009, 2:14:25 AM8/25/09
to MakerBot Operators
Awesome. It seems to be working. The union'ing everything together is
acting a little weird but I'm sure i'll be able to figure it out. I'll
let you know how it goes tomorrow.

Will

unread,
Aug 26, 2009, 1:34:28 AM8/26/09
to MakerBot Operators
You did it! Your model sliced perfectly. It printed okay but of course
the fingers and head had some sagging and stuff. Check out some
photos: http://www.flickr.com/photos/24375810@N06/3857636329/

I got your technique to work on the STL that was already slicing okay
(what i made the first print from) but it didn't seem to work if I
imported the .3ds or the .obj. It would remove ~2,000 double vertices
but then when I went to separate things with 'L' and 'P', when I
selected the node and hit 'L' all of the vertices would be selected. I
thought this would be a good thing but I tried slicing and it couldn't
even finish (i got the zero division error again).

It's really weird. I can't figure out how I got that first STL that
somewhat works. Every time i try to do the same thing now I end up
with something that doesn't even slice.

Anyway.... feel free to add your knowledge to the wiki page:
http://wiki.makerbot.com/spore-creature-exporting
or actually I can just post a link to here.

I'll play around with it some more soon.

Thanks,
Will

dmuren

unread,
Aug 26, 2009, 12:54:03 PM8/26/09
to MakerBot Operators
Will-

Oh awesome! I'll totally update the wiki, and maybe even add a
separate entry for dealing with junky meshes in general.

As for your first mesh, the overlapping isn't strictly a "must-fail"
situation -- it's just under defined, so slicing it is bound to work
some of the time.

The 3ds or OBJ files might have different ways of separating the
triangles in the meshes -- maybe they weren't quite so broken up as
the original .stl you sent. The easiest way to tell is go into edit
mode, and select a vertex and move it. If it pulls away from the mesh,
then the triangles aren't welded. If it pulls the mesh along with it,
then you're good.

I'll go back through the process of cleaning up the original file you
sent, and include that in my writeup, with exact numbers. That file is
the raw output of Spore, right? you didn't do any editing before
uploading it?

Keep on trucking,
-Dom

Will

unread,
Aug 26, 2009, 2:56:01 PM8/26/09
to MakerBot Operators
Cool. the .dae is the raw output of spore. I think I got the STL by
just importing an .obj (made using the FBX converter to convert
the .dae into .obj) and exporting as an STL. The fact that I haven't
been able to replicate this though is worrisome. I double checked the
instructions on the tutorial I was following last night and it appears
like I did everything right. I don't know.... I guess I'll keep trying
different combinations of settings.

If you want to try the whole process from the start (using the .dae)
that might be helpful. The wiki page has the info for how to use the
FBXconverter.

Thanks,
Will

dmuren

unread,
Aug 26, 2009, 9:54:43 PM8/26/09
to MakerBot Operators
I'll give it a shot -- blender can import .dae directly, which would
cut out another chance for errors to happen. I'll post an updated
instruction set when I get through it.

Will

unread,
Aug 26, 2009, 10:00:25 PM8/26/09
to MakerBot Operators
right but I think blender has problems with collada 1.4.1. At least it
hasn't worked for me....

Awesome. Thanks. I really appreciate it

-Will
Reply all
Reply to author
Forward
0 new messages