Futuristic city builder generator

by Ferjerez, published

Futuristic city builder generator by Ferjerez Jul 20, 2016

Featured Thing!

Design Tools

OpenSCAD Thingiverse Customizer

A part of these Groups

View All

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

52362Views 4379Downloads Found in Art



This is my first customizer. A simplified OpenSCAD version of a program made with Processing (http://www.processing.org) a few years ago.

With customizer you can generate a sort of futuristic buildings/cities/ships

You can choose the shape and the size of the base then the algorithm fills with a 3D-recursive structure.

As a random generator it depends of a numeric 'seed'. Every seed generates a unique structure. This seed is printed at the bottom of the base as a reminder of your unique design and may be useful for reproduce the structure.

This thing combines great with Customizable Convex Polyhedra http://www.thingiverse.com/thing:233540 printing incredible stands for your future-cities.

See the instructions and photos for more information about parameters of customizer and how to merge with polyhedric stands.

Also included
The STL file with Truncated Dodecahedron generated from http://www.thingiverse.com/thing:233540 and tested with polygonal bases (10/3 sides with side length of 9'75 and separation of 2mm)
And some STL's
And a ZIP file with many figures generated during development (before the final and customizable version)
Have fun!

UPDATED (2016/July,30th)!! Modified a bit of geometry on some parts to avoid overhanging problems when printing big figures. Results are similar but there's a little change in the overhangs of 'pyramids'

If you liked this, see Sci-Fi city builder (http://www.thingiverse.com/thing:1707835).

Print Settings


BQ Prusa i3 Hephestos


Doesn't Matter




Tested with PLA.

Infill recomended 15%-25%. You can print with no infill but the roofs and flat parts may print badly. Infill acts a support from inside.

Rafts/Brim : Only if you really have adhesion probles.

Supports: NO!!!!. Geometry has been designed for no supports.

The program adds his own supports if needed in one special case: A poligonal base smaller than figure.

Instructions for  Customizer

Some explanation about parameters.

General Parameters

Seed: Number for the random generator. You can use up to 19 digits

Base:Initial base for the structure. Can be a Polygon, Rectangle or Circle. Each one has it's own parameters.

Base Height: Height in milimeters for base generated.

Poligonal bases

Needs number of sides an length.

Position:Specifies if figure fits in(inscribed) or out (circumscribed) to poligon.

SeparationMargin from inside (when inscribed) or outside (when circumscribed) to poligon

Rectangle bases

Sizes X-Y width/height of rectangle

Circular bases

Diameter of circle.

Example of poligonal base with supports.

A big rectangle base can generate a nice city.

Sometimes circular bases generates big towers.

Using a polyhedric stand

Generate and print polyhedra

Question: HOW? Answer:
Customizable Convex Polyhedra http://www.thingiverse.com/thing:233540

Measure the length of the sides

With a ruler or a calliber.

Create a poligonal-based figure with number and length

Begin with a small one and check it fits.

You may need to adjust the length of sides to obtain a good fit.

Choose 'circumscribed and a separation of 2 or 3 mms

Good luck and have fun!

More from Art

view more

All Apps

Customizer is the easiest way to take great 3D printable designs and make them your own. Make your OpenSCAD designs infinitely more valuable by empowering the community to customize them.

App Info Launch App
Customizer Thing App

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

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Is it still working in Customizer? I just get errors ...

Some people recently reported issues with customizer in Thingiverse group, i hope they fix the customizer soon. I just try to generate a figure and it works well.
Meanwhile you can try downloading OpenSCAD and opening the .scad file attached.
Good Luck!

See it published to web by using ArtisGL 3D Publisher free app

Hello, very interesting script! I would like to know more about Processing, seems like quite fun to learn and to work with, is it possible to have the original processing project files? Thanks in advance!

Yes, Processing is great for learning graphics programming. Quite different to OpenSCAD, the code is written in Java.

I wrote the processing code 4 or 5 years ago, i can zip an upload the files. It's much more complex than the OpenSCAD code (writen in a few hours) and has lots of Object Oriented programming, uses some external libraries, mouse and keyboards events, data structures like ArrayList and many 'advanced' features that can be tricky for beginners and can't generate printable files. But it's ok, maybe this weekend upload the processing files of the 'precursor' of this generator.

If you are new in Processing the best way to learn is follow the examples provided. It install a lot of examples, tutorials and interesting things that you can use for learning.
Also check out the OpenProcessing.org website, a community where people share their programs and you can 'copy-paste' the code and work on it.
Around Processing there's a big community of programmers, artists and students making awesome things.

Hope you find it useful and have fun learning Java with Processing

Just awesome, I love this!

Thanks! I hope you enjoy it

Looks like a great greeble for a futurescape!


PD: I needed to search 'greeble' (didn't know what means 'greeble', my english is not as good as i would) and wow! what a great plugin for 3D software.

My congratulations :)

Wow thanks!
It's a great surpise to be featured!!

True, i wished they would ask the publisher before they do it.
What if you are on vacation or you don't want to be featured for some reason?
I think they should add at least a "do not feature now flag" ...

mmmm....maybe, anyway featured is just more visibility for your design, i can't imagine a reason for what you don't want to be featured.

.. because you already know what is going to happen :=)

mmm...i'm lost... what's going to happen??....didn't understand...my english is so limited and sometimes i'm lost in conversations :P

I have sent you a PM.

Your code is super elegant. Thanks for sharing this. I'm looking forward to pouring through it and playing with it. Really great work.


It's great you like my code, to be honest, this one has a lot of improvisation and never thinked that other programmers would like the 'code style'. It has a mix of spanish (my natural language) and english.

Hope you have fun exploring, modifying an playing with this program.

I'm interested in how you made this generator. Can you tell me how to get started, and where I can find more info on how to make a generator myself. I know python and javascript is that ok, or not? Where to begin, and any tips would be extremely helpful.

The keys are 'recursion' and 'Geometric subdivision'.
Learn about recursion searching examples like tree or terrain generators. Geometric subdivision is basically draw a figure inside other and repeat the process choosing random figures.
Learn also OpenSCAD languaje. It's really easy (if you know others languajes) and simplifyes the making of 3D figures.

A few years ago i developed this generator after getting some nice results with a 2D subdivision algorithm. Originally was written in Java under Processing framework (www.processing.org). A good point to star learning graphics programming.

If you want 'understand' how the cities are generated take a look at 'subdivided surfaces' (http://www.thingiverse.com/thing:1693518) and imagine this plain draft growing vertically. This is the concept i developed a few years ago. Using some simple figures and repeating at diferent sizes pushing ones over other, finally a kind of city emerges.

Well.. i don't know if this little explanation it's useful for you. hope you can understand a bit better how the algorithm works.

Also, i apologize for my english, i'm from Spain and my grammar are not as good as i want.
Thanks for your interest.

Subdivided Surfaces

reminds me of Siem Reap buildings also. very cool work