Voxel Shape Generator

Written 11:36 am 7/4/2012 Modifed 10:37 am 3/15/2013

Use this tool to make spheres for Minecraft and the like. Idea originally stolen from Neil Fraser, but more recently inspired by friendly competition with my friend Jesse, whose Circle Generator seems a little two dimensional.

Update (3/14/2013) GUI makeover- I'm attempting to speed everything up by only rendering tables when you're ready for them. I also added isometric modeling (with culling this time) in canvas that should let you preview the shape.

Update (3/12/2013) You can now draw your own shape with Bezier curves! Adding SVG rendering methods for speed, although it's not as easy to read as tables. I'll try to make that work a bit better.

Update (9/30/2012) The script has been updated to generate cones and domes. If you have any suggestions, add them to the comments.

Posted by Arothin on July 23rd, 2014, 3:58 pm Reply

i am trying to make a circle and it keeps showing up as an oval in the pattern, the 3D image is fine

Posted by Arothin on July 23rd, 2014, 3:16 pm Reply

i love this tool and the circle one but i need one that does a semi circle and a an oval, that also has a halved part

Posted by Adrian on July 2nd, 2014, 10:07 pm Reply

Could you add a function that will number the blocks on the edge for making larger shapes a bit easier.

I have been making things as big a 300 blocks in diameter and getting even one block misplaced can ruin the entire thing, forcing me to remake it if I cant find the error.

Posted by Evan on June 28th, 2014, 4:01 pm Reply

Open sourced (if already, link)?

Posted by Poyoarya on June 3rd, 2014, 10:30 pm Reply

Question: Torus generator? I'm trying to make a donut-shaped 3D object for my YouTuber friend's Minecraft logo and it would be very helpful.

Posted by ray on June 27th, 2014, 4:22 pm Reply

That's a whole new level of crazy. I may have to try that when I find the time

Posted by Kiloku on May 25th, 2014, 10:26 am Reply

Hey, maybe that's a complicated feature, but I'd love to see a "Thickness" option for hollow shapes, I'm using this program to design fortresses in Dwarf Fortress, but I have to manually add some wiggle room for my dwarves.

Posted by ray on May 27th, 2014, 9:34 am Reply

That's a pretty cool idea. Should be pretty simple!

Posted by Lord Buto on April 3rd, 2014, 5:47 am Reply

There seems the be a error in the representation of the layers.

when I picked a cone shape and resized it to 28x40x28 Then the 3th layer doesnt match the previous layer.

Posted by ray on May 5th, 2014, 9:59 am Reply

It's not supposed to match the previous layer. Because the radius cannot be described by an integer when using a continuous scale, the slight variations will make different results for different layers. You get a more jagged, but more accurate shape this way.

Posted by SoD on March 8th, 2014, 12:05 pm Reply

You know, this hasnt been updated for a year. You can stop posting ideas for new functions i think

Posted by Ray on March 24th, 2014, 1:32 pm Reply

Nah, keep sending them! I haven't had a lot of time to do anything on this, but I'm still here!

Posted by Ghussan on March 1st, 2014, 3:20 pm Reply

Can you make an option for turning the rectangles into squares? makes it awkward to count or see the mid-point of a quarter, or maybe instead you can make the blocks that are in the middle of the circumference within a quadrant?

Posted by Rivz on February 20th, 2014, 7:39 pm Reply

I think it may be an idea to allow us to mark blocks on the grid as a certain colour, this means we could mark which parts of the layer we have built and would stop any confusion e.g clicking on one of the blocks would turn it green, meaning I would know I'd placed those blocks.

Posted by Xenophic on April 16th, 2014, 6:30 am Reply

You could just build it a layer at a time displaying the layers using the layer build buttons in the top right corner.

Posted by beckie on February 15th, 2014, 1:16 pm Reply

Hi! I love this tool. Using it for EQN:Landmark right now. I only see one way to really improve this.

Right now its hard to read the layering. If you could make it so the previous layer is like yellow, the new layer is blue, and the overlapping layer was green I think it would be much easier to to use.

Thank you so much for making something like this. Love it.

Posted by matthijsbe on January 27th, 2014, 11:10 am Reply

best tool for builders! and if i may say so, you are simply called a genius (dont know if spelling is correct, i dont speak english :d)

Posted by Ryan on January 26th, 2014, 9:34 am Reply

How difficult would it be to write a feature into the coding to allow a download of an image of your shape layer by layer if you can't complete it in one sitting?

Posted by Ray on March 24th, 2014, 1:43 pm Reply

You can click "Permalink" to get a URL to come back to, The image download is not something I have planned, but with the permalink URL, you should be able to bookmark it, or share it with people on the same project!

Posted by Tom on January 3rd, 2014, 9:18 am Reply

I'm having the problem that all the squares are squished, I dont know if thats on purpose or not but it would make counting allot easier, also it would be a great help if the perimiter on the dome was only one block wide it would also be alot easier to use. Overall a great help and im usimg this to make my 250x125x250 dome for my minecraft hunger games on xbox

Posted by ray on January 6th, 2014, 9:08 am Reply

The problem with only a 1 block perimeter is that it it would leave gaps between that layer and the layer above it. As far as the squished squares go, I think that's a firefox thing. I would try this in chrome.

Posted by Nyk on December 9th, 2013, 3:57 pm Reply

This is great man.

Posted by 314jake on December 3rd, 2013, 6:11 pm Reply

This is an absolute saviour. My giant egg is no longer an impossibility! Amazing, thank you.

Posted by Ray on December 20th, 2013, 11:12 am Reply

Hahaha, that's awesome.

Posted by ScaryBear on August 23rd, 2013, 2:12 am Reply

This is awesome. Thanks for making it.

I'm having trouble with the hollow dome. First, shouldn't a dome just be a half sphere? If I do a sphere 20x20x20, the last 10 layers should match a dome 20x10x20 (WxHxD), but it doesn't.

Also, when making a hollow dome where the W and D doesn't match the H (such as 20x10x20 WxHxD), the top of the dome is open.

Hope that makes sense.

Posted by Megamanbody on December 12th, 2013, 7:07 pm Reply

Im having the same issue.

Posted by Jasper on June 9th, 2013, 6:22 pm Reply

It would be VERY userful if you could save the shape as a MC schemathic, maybe also an option to choose which block you want it to be made of.

Posted by ray on June 18th, 2013, 6:12 pm Reply

I think I've had enough people bugging me about this. I guess I'll just have to do it :\

For the record, this sort of thing is not really yet possible in Javascript. Looks like I'm gonna have to use flash. Be patient.

Posted by jasper on June 19th, 2013, 5:43 pm Reply

Thank you! and I'm sorry for bugging you it wasn't my intention at all.

Posted by Kenekeu on October 2nd, 2013, 3:41 pm Reply

I agree, getting a Schematic file would be the end all for building, absolutely amazing. I love this generator and the ease with which it is used. Bravo.

Posted by Kiqkinas on May 2nd, 2013, 9:09 pm Reply

I love it. If I may suggest:

When displaying the separate levels if we had an option to select 1/4 of the object (1 quadrant) then the zoomed in display would be make large objects easier to see. Also an option to just see the outside ring. (e. 1 pixel wide) it would make building/counting easier (at least for me.)

Posted by Tom on January 3rd, 2014, 9:12 am Reply

I agree that would help a lot

Posted by Crassyeti on April 14th, 2013, 2:52 am Reply

I have been trying to generate very large hollow spheres/domes (200+ diameter) but it crashes my browser, is there a way for me to do this without crashing my browser? Perhaps a non-browser based version?

Posted by Crassyeti on April 14th, 2013, 2:55 am Reply

Nevermind, i used a different browser and it worked, very good tool my friend.

Posted by Crassyeti on April 14th, 2013, 12:29 pm Reply

It would be most advantageous if, when using large numbers, the squares didn't turn into rectangles. It makes it far more difficult to construct large shapes when i can't quite tell what the shape looks like from this diagram.

Posted by salai on April 12th, 2013, 1:11 am Reply

First, thank you for this great program I have been looking for a 3d shape generator for a long time.

Also, I would like to make a tutorial video of it for my YouTube. If you don't want me to make it and give the link out (all credit to you of course) please let me know.

Thanks again!

Posted by Completejerry on April 10th, 2013, 10:34 pm Reply

Very nice, i will now be using this instead of neil frasers one.

Posted by dcoffron on March 29th, 2013, 8:27 am Reply

It would be nice to see two dimensional shapes, which should be easier than the 3-d ones, It could be one of the options like the Hollow/Solid, for example it would have circles and two dimensional cones and domes (triangle/semi-circle like shapes).

Posted by Ray on March 31st, 2013, 11:13 pm Reply

I've had thoughts of doing something that would plot various regular polygons, where you could have control over the number of edges, and a rotation, and maybe add a bit of a curve to each edge if desired. That being said- this is strictly a 3d tool. There are some pretty good circle generators out there already.

Posted by James on April 11th, 2013, 4:12 am Reply

do elipses.

Posted by Jeroen on March 13th, 2013, 5:00 pm Reply

Dude, so nice.

I'm amazed to see you add Bezier curves. Thanks so much for this great site.

Posted by Austin on January 29th, 2013, 7:02 am Reply

it freezes when you use large numbers for the generator it would be nice if you could fix i:)

Posted by ColinCCC on March 12th, 2013, 5:35 pm Reply

I have the same problem I don't if its my computer or if its the website I have i7 8gb of ram

the size of sphere I was making was 175x175x175

Posted by Ray on March 13th, 2013, 10:01 am Reply

Yeah, it's got a lot to do- it's making your browser display 5,359,375 new elements, so it's going to slow it down. I think I'm going to make an option for it to render in canvas instead,

** It should be much faster now **

Posted by Bob on January 1st, 2013, 2:22 pm Reply

Would it be possible to display the blocks from one tier lower in such a way as to help make large structures more manageable? I had an idea of how that may work out.

The first tier would be displayed in the same way you currently have it, but the second tier would start to look different. Think of each displayed non-empty block as a transparency.

If a block is empty and the block below it is empty, then the block is white.

If the block is empty, but the block below is non-empty, then the block is displayed as a very light grey

If the block is non-empty, but the block below is empty, then the block is displayed as normal grey

If the block is non-empty and the block below is non-empty, then the block is displayed as a dark grey.

Posted by Arceusrules on December 9th, 2012, 9:50 am Reply

Yes please, eggs! :D And err... spiral staircases. Im really in need of a spiral staircase generator for Minecraft. I was going to make a tower with the circel generator, and the dome generator and cone generator, with a staircase going along the walls upwards. But it didnt work cause im really bad at spiral staircases. Do you think its possible to make such a generator?

Posted by Kevin on December 5th, 2012, 10:57 am Reply

Hey I have another idea could you maybe add a cone with a rounded top. That might help me make some cool designs. Thanks for this great program. It's the best I've seen.

Posted by Arceusrules on December 9th, 2012, 9:52 am Reply

I second this :)

Posted by John on November 28th, 2012, 1:40 am Reply

It would be useful if you could make one that did the shape for say an egg

Posted by Ray on December 5th, 2012, 6:46 am Reply

Good idea... I'll try to figure that one out...

Posted by Aero on November 15th, 2013, 3:20 pm Reply

Would be really nice if you could have curves on a curve. For instance a circle on a diagonal slant going around a bend....if that didnt make sense Ill probably respond with a clearer answer