Close
0%
0%

The Original Low-Poly Pokemon

There is no record of this print causing seizures. I'll have to work on that.

Similar projects worth following
All the cool kids are printing low-polygon versions of Pokemon. Anyone who has spent enough time in the Rocket Game Corner will notice a specific Pokemon model is not readily available on the Internet: Porygon.

Yes, the pokemon "that is made completely out of programming code" and can be perfectly described as 'low-poly' is not readily 3D printable. This project fixes this severe lack of oversight by the entire 3D printing and Pokemon communities.

About a year ago, [Flowalistik] published a collection of low-polygon pokemon over on Thingiverse. In the year since, these models have become wildly popular nearly to the extent that they're the default 'first print' on any 3D printer.

[Flowalistik] only published the Gen 1 and Gen 2 starter pokemon. That's great, really, but there is a pokemon that is already low-poly. I speak, of course, of Electric Soldier Porygon.


Yeah, look at that guy.

Obviously, not including Porygon in any collection of low-poly Pokemon is a grave oversight and something that must be corrected. In keeping with the Pokedex entry, I'll be making Porygon completely out of computer code, in this case OpenSCAD.

It's a great introduction to creating polyhedra in OpenSCAD.

Porygon.stl

This is what you want to download.

Standard Tesselated Geometry - 10.43 kB - 02/11/2017 at 18:33

Download

  • 1 × Computer Code

  • Finally

    Benchoff03/30/2015 at 00:13 2 comments

    There you go. Porygon made completely in computer code. Here's the code listing:

    //Porygon, made with OpenSCAD polyhedrons
    
    module bodyHalf()
    {
    	polyhedron(
    		points=[ [16,31,5], [0,31,5],   [0,34,23],  [0,35,30], 
                     [18,35,30],[21,34,23], [21,-23,23],[11,-1,49],
                     [0,-1,49], [13,-16,44],[0,-16,44], [0,-23,23],
                     [0,-9,5], [16,-9,5]],
    
    		faces=[ [0,2,1], [0,5,2], [2,5,4], [3,2,4], [4,5,6], 
                    [7,8,3], [3,4,7], [4,6,7], [8,7,9], [7,6,9],
                    [10,8,9], [6,11,9],[10,9,11],[11,6,12],[6,13,12], 
                    [13,5,0], [6,5,13],[0,1,12], [12,13,0]]
    	);
    }
    
    module tail()
    {
    	translate([0,-5,0])
    		polyhedron(
    		points=[ [0,90,67],[6,37,30], [-6,37,30],[13,40,5],
                     [-13,40,5], [13,32,5], [-13,32,5]
    		 ],
    
    		faces=[ [0,1,2], [0,3,1], [0,2,4], [0,4,3],[1,3,5],
                    [4,2,6], [3,6,5], [3,4,6],[1,6,2], [1,5,6] ]
    		);
    }
    
    module footLeft()
    {
    	polyhedron(
    		points=[[40,-20,0], [22,-20,0], [22,36,0], [40,36,0],
                    [22,36,13], [40,36,8], [40,-20,6], [22,-20,9],
                    [40,14,20], [22,14,25], [40,14,0]],
    
    		faces=[ [2,1,0], [0,3,2], [2,3,4], [5,4,3], [1,6,0],
                    [6,1,7], [6,7,8], [9,8,7], [9,5,8], [4,5,9],
                    [0,6,10], [10,6,8], [5,3,10], [10,8,5], [4,9,2],
    		[2,9,1], [1,9,7]
    		]
    	);
    }
    
    module headhalf()
    {
    	polyhedron(
    		points = [[18,-16,44], [0,-16,44], [8,-50,44], [8,-52,46], 
                      [0,-50,44], [0,-52,46],[15,-22,60], [12,-25,67],
                      [0,-25,67], [0,-15,74], [9,-15,74], [12,-6,76],
                      [0,-6,76], [17,-3,67], [18,-10,58], [20,10,53], 
                      [20,14,66], [9,12,80],[0,12,80], [0,14,66],
                      [0,10,53]
    		],
    		faces = [ [0,1,2], [1,4,2], [2,4,3], [4,5,3], [0,2,6],
                      [8,7,5], [3,5,7], [6,3,7], [2,3,6], [7,10,11],
                      [7,8,10], [8,9,10], [9,11,10], [9,12,11],
                      [6,7,11], [6,11,13], [6,13,14], [6,14,0],
                      [0,14,15], [14,13,15], [13,16,15], [13,17,16],
    	          [13,11,17], [11,12,17], [17,12,18], [17,18,19],
                      [19,16,17], [15,16,20],[20,16,19], [20,0,15],
                      [1,0,20],
    		]
    	);
    }
    
    module body()
    {
    	union()
    	{
    		bodyHalf();
    		mirror([1,0,0])
    		{
    			bodyHalf();
    		}
    	}
    }
    
    module feet()
    {
    	union()
    	{
    		translate([-7,0,0]) footLeft();
    		mirror([1,0,0]){
    			translate([-7,0,0]) footLeft();
    		}
    	}
    }
    
    module head()
    {
    	union()
    	{
    		headhalf();
    		mirror([1,0,0])
    		{
    			headhalf();
    		}
    	}
    }
    
    module porygon()
    {   
    	union()
    	{
    		head();
    		body();
    		tail();
    		feet();
    	}
    }
    
    porygon()
    
    

    I'll be pushing this up to the Git in a bit, along with models that are good enough for printing.

  • Slowly But Surely...

    Benchoff03/28/2015 at 22:14 0 comments

  • Bigger And Improved

    Benchoff03/14/2015 at 06:02 0 comments

    I'm going to be heading to the Midwest RepRap Festival in less than a week, and I wanted something to take along to combat the dexes of low-poly pokemon. This means printing an exceedingly large Porygon.

    This guy measures about nine inches from snout to tail, all printed on a Printrbot metal simple. Yes, that's larger than the build envelope of my printer, which means I am making progress towards splitting up the model into its component parts, i.e. a Porygon model made completely in OpenSCAD.

    This guy is finished with matte model paints and nail polish, with a Minwax polycrylic clear coat. Bottle cap for reference.

  • Proof of concept

    Benchoff01/22/2015 at 20:09 0 comments

    I've re-created Porygon with computer code, and it looks like this model will be printable. The model needs work - specifically on the bottom of the model - but even with a drastic overhang, it looks like a big Porygon will be possible.

    No release until I clean up some files.

View all 4 project logs

Enjoy this project?

Share

Discussions

Jasmine Brackett wrote 03/30/2015 at 21:58 point

Photo is not so good, but this is waiting for you in Pasadena:

https://plus.google.com/u/0/+JasmineBrackett/posts/C9gGsMzCoHN

  Are you sure? yes | no

Adam Fabio wrote 01/24/2015 at 04:56 point

This had to be done. - though IMHO it should be done in OpenSCAD as a parametric model ;)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates