Voxel Shape Generator

Written 11:36 am 7/4/2012 Modifed 10:09 pm 2/8/2015

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 (2/8/2015) Attempting to make this a little more bad-ass. See here

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 Frizzy E on February 22nd, 2015, 5:32 pm Reply

this would be a great app though i would honestly buy the app for 5 bucks

Posted by Frizzy E on February 22nd, 2015, 5:30 pm Reply

thank you so much! UR AWESOME <3

Posted by Nullpersona on February 18th, 2015, 1:49 pm Reply

When altering thickness in the new editor, it is applied differently to the top and bottom, than to the sides. That said, the main tool was extremely useful, thanks!

Posted by Ray on February 18th, 2015, 3:15 pm Reply

Yeah- it currently generates a rotation around the center axis. which means the side is going to be the same width no matter what. I'm going to try to add surface normals to determine the size of the wall. That should fix that issue.

Posted by Daniel on January 13th, 2015, 4:47 pm Reply

Is there a way to have the tool generate a spreadsheet or "map" showing the row and column of the blocks that have something in them? I currently am just taking the picture and manually creating a spreadsheet with lists of where blocks go.

for example layer 1 of my dome has blocks at row 1 columns 68-98 so for my spreadsheet line 1 reads 68-98. then the filled blocks for line 2 etc.

Posted by ray on February 9th, 2015, 10:34 am Reply

I think I'm going to abandon the idea of one off formats / downloadables. However! I'm working on an update (see my link in the update text above)- If I built in a decent javascript api, you could write your own userscripts for stuff like that. Would you be interested?

Posted by Fuckoff on December 24th, 2014, 8:56 pm Reply

The B├ęzier curve GUI used to configure the bezier curves isn't supported by mobile plz fix

Posted by Siserith on December 8th, 2014, 8:09 pm Reply

hey it would be awesome if you added a row of numbers to the top and bottom and sides to help you know how many blocks long or wide somthing is

Posted by Siserith on December 8th, 2014, 7:50 pm Reply

hey um i come across some kind of glitch or somthing where everything in the flat map is streched out height wise. so one block is four times as tall as it is wide is there any fix or is this a glitch

Posted by ApostleO on January 12th, 2015, 8:47 am Reply

I see the same issue. It appears to occur only with sufficiently large objects. For instance, a diameter 13 sphere does not have this issues, but a diameter 319 sphere does.

Posted by ApostleO on January 12th, 2015, 8:55 am Reply

The distortion appears to begin around diameter 50 and above. If I could make a recommendation, it would be to force the height to always match the width, or force the height and width to static values. Right now, it appears the width is scaling down, and the height is remaining fixed.

Posted by Hysteria on October 28th, 2014, 5:41 am Reply

Wow! I didn't realize how easy it is to make such complex models :3 Thank u creator!

Posted by PersistantTaco on October 2nd, 2014, 6:53 am Reply

Im having a little trouble understanding the different colors on the tables (light blue, blue and grey) Anyone care to explain? Maybe I should get some sleep :3

Posted by Anrza on October 5th, 2014, 11:16 am Reply

Grey - There were blocks here on the layer below Blue - There are blocks here on this layer Dark blue - There will be blocks here on the layer above :)

Posted by Hysteria on October 31st, 2014, 5:08 am Reply

Actually, dark blue is, 'Place a block on top of the one below.'

Posted by DBGirl123 on October 3rd, 2014, 9:14 pm Reply

I totally agree! It's so confusing!

Posted by Graham on September 19th, 2014, 8:21 am Reply

This is brilliant. It even works properly on my low end Nokia Lumia. Will now be able to make some pretty builds instead of square or rectangle shaped builds. Thanks.

Posted by Dean on September 9th, 2014, 10:38 pm Reply

Is there a way to make the cone become more steeper angle curve at the top then the bottom. You know, make it near vertical at top and more horizontal at the bottom, like a wizard's hat.

also would be nice to add into this tool the different shapes that Landmark can pull off.

Posted by Ray on October 1st, 2014, 9:00 am Reply

Play around with the bezier curve tool rotated along the z axis. You should be able to get that from this.

Posted by JustCallMeBug on August 23rd, 2014, 10:47 am Reply

Man, everybody wants eggs for some reason. Is this an Illuminati thing?

Anyways, why don't hollow domes have a ceiling? I'm just kinda going off on a limb for my underwater bio-dome ceiling.

Posted by Hiddenleefgamer on September 7th, 2014, 6:32 pm Reply

The incredible..... craftable egg lol

Posted by Heuvadoches on August 17th, 2014, 12:18 pm Reply

Found a bug. If you uncheck preview, then turn it back on, it won't display anything.

Posted by Mcrafterannonymous on August 11th, 2014, 11:56 am Reply

I think we should be able to reshape the domes and cones as well...

Posted by KalebsCrazy on August 3rd, 2014, 7:25 pm Reply
Posted by Anonymous on August 3rd, 2014, 7:28 pm Reply

Disregard lol. I wanted to say thanks for making this it's helped me out a lot and I absolutely love it. I also think an egg shape generator would be awesome

Posted by Anonymous on August 3rd, 2014, 8:45 pm Reply

Never mind i found a way to make the egg useing your dome gen. and your sphere gen. it works like a charm. I simply did a 30x30x30 sphere up until level 16 then did a 30x30x30 dome on top.

Posted by MikeHawk on July 27th, 2014, 12:09 am Reply

Is it possible to make an hour glass shape with the x y z axis curve?? im trying to make cooling towers for a nuclear complex I am constructing. i tried using a cone with 61w61d25h. At 25 I started to go straight up 5 blocks, then taper back out, it just didnt seem to have a good flow to it and had a non symetrical look. any ideas?

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 Otirik on August 21st, 2014, 2:16 pm Reply

It's only showing up as an oval because the "blocks" in the diagram are rectangles. If you build it, it should still be a circle.

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 Chase H. on October 25th, 2014, 11:35 am Reply

Or you could just, you know, make half a sphere.

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 Ray on October 1st, 2014, 1:32 am Reply

Working on a rewrite here

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 Hiddenleefbuilder on August 31st, 2014, 4:29 pm Reply

I found that zooming in on my browser tends to help with this problem, but it is still a bit difficult. Hope that helps :)

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 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