Laser cut Earth Globe

Because the laser cutter is so cool, and my first simple (or not so simple) projects worked so well, I’ve dived into a way too complicated project : making an earth globe out of laser cut plywood.

I’ve considered stacking layers of topo cuts, but figured there is not enough relief to really make anything visible (unless it was huge).

Then I found this geodesic design online, which I cut and assembled


and it inspired me to make a geodesic version of an earth globe. One for me, and then, possibly more copies to sell as a cool puzzle.

I found a good source for geodesic models, not meant for laser cutting but I adapted one


and after many more tries than I was hoping I managed to get the pieces working.

But as you can see, the pieces are blank.
Because, well, extracting the contours of a map to project onto a geodesical sphere is quite a challenge.
Here’s my first version, a computer-hand-drawn rough outline of continents that took me hours and hours :

Now I figured this was too rough and majing it more precise by hand would be too long (switching between sketchup and google earth back and forth).
So I made hundreads of screenshots of gglearth, that I manually scaled and rotated to (almost) fit my triangles. That also took me hours

Cool, but not perfect. I supposed I could just fix the uneven borders when drawing over the textures. But freehand drawing on sketchup is pretty bad.
It still works, though, and you can tell I’m getting much better countours from following the satellite images. :

But still, it requires a lot of messing around with the “textured” sat photos to makes outlines fit from triangle to triangle.

So this is where I am : should I keep doing this by hand, making a very slow, hand made luxury piece of not so accurate map puzzle, or is there a way I could make a clean projection from google earth (or other) to triangles.
I’ve been searching the web for hours and hours, first to see how other people may have created laser cut wooden earth globes (poor results, which motivated me to create my own actually), then to figure out ways to make the process automatic.

I figured that anything mapping and projection related is a huge mess. I knew that, as I use GIS, but I never had to actually make a physical map of any sort. This is taking it one level further.

If anyone has a clue, I’m all ears!! (and if you just think this is a cool project, let me know, I’m starting to feel I’m losing my life trying to make this impossible thing!)

7 Likes

Can confirm, this project looks rad.

So I don’t have any modern method of doing what you’re trying to do, but it looks like you’re Googling very laser-specific terms to try and solve this. Over a decade now, I was big into 3D modelling, and here’s how I would do it. Perhaps it can help you broaden your search horizons and point you to a solution :slight_smile:

In most software (Cinema4D in my case), you could map textures onto objects using a variety of techniques. Say, map a regular world map onto a sphere, and it would turn out fine. Then I would lower the poly count, “bake” the texture, and I could export it as a flat texture map. That would do exactly what you like, I suspect, but I have never used Sketchup and have no idea if it can be done. Blender is more graphics oriented software that may do that.

Here’s a link that maaaaay help:
https://extensions.sketchup.com/en/content/flatten-faces

Oh yeah I’ve tried scripts like this one, but they don’t handle components. And I’m using components so that the model stays editable.
I had to spend time unfolding the 180 components manually to turn it into an exportable flat vector


I’ll have a look at Cinema4D and Blender, who knows. Maybe I should have shared this earlier, but I knew it was feasible and underestimated the time it would take!

3 Likes

Amazing project. I have nothing of value to add beyond what has already
been mentioned but that is really cool. Good luck

Ooookay, falling down a wiki-hole here.

What you’re trying to do here is called a Dymaxion map:

Given that you know the shape of your lasercut pieces, is there any reason you need to use 3D software at all, instead of, say, Inkscape? Or entirely programmatically, even.

If you have any programming chops, there are at least two examples linked above of transformation code written in C:
http://www.westnet.com/~crywalt/unfold.html
http://www.rwgrayprojects.com/rbfnotes/maps/graymap6.html

I haven’t investigated how easy it would be to make the required changes to one of the above programs - Changing the quantity of triangles, and drawing cutouts on each of them.

But, now that I know that name, there are plenty of other examples in more accessible languages, like Python or JS:

I think those triangles can all be divided evenly into however many more triangles you’d like.

Also, is there any reason you’re tracing a full map? Might be a lot easier to start from a line drawing of the continents than tracing them after :slight_smile:

Well, despite having fallen in that hole for a while, I had never found that term (Dymaxion map). Quite the miss I must say (although it seems to be a synonym for Fuller Projection).

I did find some examples like the ones you linked to, but they have too few polygons, and you can’t simply divide a triangle into more triangles, because that requires to change the projection (add some distortion) in every triangle to make it a polyhedron before splitting.

My programming skills don’t go much further than some HTML, pretty lame, so I don’t think I will be able to make any change to such codes, let alone build my own!

I’m using a full map because that’s what I can extract from Google Earth and use as texture in SketchUp, to draw from. I’ve tried stamping vector outlines but it was way too inaccurate and arguably more work (because SketchUp).
Also, I like the idea that I could make an etched version of the model. Unfortunately, the images as textures are not really seemless. It can be fixed when outlining manually by allowing a certain level of inaccuracy, but if it was to be etched I would need to reproject (distort/skew) those rasters manually. Which I may end up doing. Am I?

I think I can help with coding something to generate a Dymaxion map. If
what you want is to translate contours on a sphere to a triangular
polyhedron (where ideally all the vertices touch the sphere), I can
probably do it in python with a little bit of projective geometry, as long
as I can figure out how to use the original spherical contour data (are
there 3d svgs? splines?). How many triangles were you thinking? Here’s a
page with tons of spherical coverings (take a look at the one with
icosahedral symmetry):

http://neilsloane.com/index.html#TABLES

Hi 3bien,
Thanks for offering your help!
My model has 180 triangles of 3 different types (and 3 different connection angles). It could be different, but it seems to be a decent solution for a puzzle that will be spherical enough, and yet easy enough to handle and assemble.
The thing with source contours is, what you can get is a planisphere, so it may have to be wrapped around a sphere first (actually it would have to be vectorized from a raster first, but that’s really not an issue).
So when you say “spherical contour data”, I’m not really there yet. But it could be any (flat) vector format.
I’ll have a look at your link… in the morning !

Edit : friday morning. Man that is complicated! :slight_smile: I’m baffled how you seem to approach this kind of challenge so casually !

Btw in the meantime I’m not giving up my “digitally hand made” method :


If I can’t find an automated solution, at least I can picture this as a possible acceptable way to it. It’s a matter of time, though!

Spherical contour data is probably the same as the planisphere you mention,
I guess that’s a latitude by longitude grid. I think it’ll be relatively
easy to automate something, the gist of the algorithm is to go over a
contour in small steps and figure out the specific triangle that each step
corresponds to. The borders are a little bit tricky, but doable. I also
looked around and I can’t believe people just settled on the 20 triangle
Dymaxion map, I guess equilateral triangles are sexy, but still…

If you have a way of generating a vector planisphere, or can point me to
one, please do so.

I am also quite surprised. I was prepared to find tons of examples for like, printing on paper and folding, but it seems if anyone made something with more polygons, they kept it away from the web!

I just made a quick, low res vector version of the continents contours, hope you can read .ai or .dxf :
https://www.sendspace.com/filegroup/UKd2lkTfkfB5X70zVNeHww

Ok, the map looks good, and I could easily generate an svg out of it. My
next step is to convert the svg splines (the way they encode the curves
that represent the continent contours) into python splines (from the scipy
interpolate library), which hopefully someone has done before. Here’s what
an svg spline looks like:

d="M351.251,329.681

c-0.238,0.341-1.405,0.184-1.359-0.453l0,0C350.348,329.142,350.956,329.1,351.251,329.681"

capital letters represent absolute coordinates, lower letters are relative
to the rest.

Wow you lost me there :slight_smile:
What software do you actually run python in, to process vector data?

It’s all still basically somewhat what you suggested at the beginning: plot
the continent curves on a sphere, and translate that to the triangulated
surface, all the technical stuff I was talking about is simply about how to
plot it on the sphere. I’m very familiar with the numerical computing
libraries of python (scipy and numpy), what you would use to do matrix
operations, or solve differential equations for example. The format that
you find in a vectorized figure is in a way a very compressed form of
encoding a curve, for plotting it in the sphere I need to ‘uncompress’ it,
that is, convert the curves to many small line segments that can then be
easily mapped to the triangles. At least that’s the hope.

Ok I get it! :slight_smile:

R. Buckminster Fuller would be proud!



Ok I managed to (hand) draw all the continents outlines, which took me forever, and after 8 hours and 13 versions, the connectors are finally working and the triangles hold nice and tight.
It seems that the “resolution” of my lines is good enough for the size of the sphere I’m making. And I could be happy with that. But the vectors are actually pretty shitty (SketchUp shitty), and I don’t think I could easily turn them into proper closed shapes, in order to make an etched version (i.e. etched continents & blank oceans, or vice-versa, or different etchings, or gradients, or patterns, or gold and platinum and a few diamonds…).
So, although this is getting pretty close to my first goal, I think it could go one step further, vectorizing NASA’s landmasks and projecting them on a geodesical sphere. But it’s not really a small step for the man!

6 Likes

That is awesome man! You’re way ahead of me, but if this goes well the only
issue will be how fast you can laser cut and assemble them. You brought up
an interesting feature that I hadn’t considered, that is, making sure that
you could etch over areas by making any line that goes across a triangle a
closed section (by closing a loop around the border). My current test
scenario is a simple spiral around a sphere, but I should add some closed
curves with filled areas.

Closed shapes are definitely a must do for etching, I believe. Maybe not, if the laser cutter’s software virtually closes open shapes before etching, but I haven’t thought about trying that out. Maybe someone here knows…

Otherwise, as you could see above, my tests ran pretty smoothly, but I’m now facing a new problem : my model seems (surprizingly) too complicated for sketchup to export. I’ve been mentally banging my head on my screen for 4 hours now, I can’t figure a(nother) way to crash-proof export my model to flat, 2D vector (dxf, pdf or whatever).
I’ve tried cleaning up some space on my laptop to expand my free space from 5 Gb to a little over 9 Gb, and the exporter is running since just before I started writing this message. Doesn’t look good to me, especially since I ran a script called Goldilocks that checks your model to sniff unnecessary complicated geometry, and it found it was totally fine.

Edit : and it crashed.

Ok, I almost found a way : exporting to .dae, importing into blender, then exporting to dxf from blender and importing again into illustrator.

Seems overkill? Maybe :

  • Purged SketchUp Model is 4.5 Mb
  • Blender DXF export is 13 Mb. Import and export went quite fast (almost as fast as just saving the sketchup file)
  • Import to Illustrator was a pain, losing scale and creating a 2.5 Mb file that takes minutes to open / save / zoom / pan etc. Amazingly slow

But the question is : is it worth it? I’ll let you judge :

Sketchup :

Illustrator :

good night :thumbsdown: