Topoprint.ch: Turn Any Swiss Location into a 3D-Printable Model

Category feature

Have you ever wanted to hold a piece of landscape in your hands? Maybe you got a 3D printer for Christmas? Maybe I have a treat for you: In December, I started a side-project that allows you to create beautiful, personalized 3D-printable topographic models (or "topodiscs") of locations in Switzerland.

See the example Model of Bundeshaus in Bern on topoprint.ch

This post explains the "what," the "why," and a bit of the "how".

What is a Topodisc? đź”—

A "Topodisc" is a circular 3D model of a location in Switzerland and combines:

After creation, each topodisc will get its own page, like this one in ZĂĽrich: it contains a screenshot and a 3D model of the topodisc (both with and without vertical exaggeration if requested). It also shows a 2D map with the footprint of the model.

If you are curious and want access the project page directly, you can also find some more examples. If you want to create your own topodisc, you can interact via Social Media Bots:

Just send an address (like Bundesgasse 1, Bern) or coordinates, and you'll receive a link to a page where your model will appear in less than an hour (this will be faster soon).

The result? A phyical representation of any Swiss location that fits in your hand. It could be used for Architecture models, Education as a gift or just to see your immediate surroundings in a different view.

Background and Motivation đź”—

The project combined multiple interests of mine:

  • Geodata and geoservices: Throughout my professional career, especially at EBP, I have enjoyed working with open data, particularly geodata. I appreciate living in Switzerland, where the open data movement has made significant strides, resulting in numerous high-quality data sources that are now open access and superior services introduced decades ago. If you are interested in current's state of geodata in Switzerland, you can read Ralph's take on it (German).
  • Building an automated end-to-end data processing solution: Another interest of mine is implementing a complete digital workflow from start to finish, from data source to final product, fully automated and as self-service as possible.
  • 3D Printing to turn digital data into physical objects: A year ago, I purchased an affordable 3D printer, and it has been immensely enjoyable to transform digital products into physical ones (much to the amusement—and sometimes irritation—of my family). With 3D printing, I can complete the aforementioned digital workflow and convert digital terrain and infrastructure models back into reality—just a bit smaller.
  • Using AI for creating a quick MVP: One of the defining themes of our time is undoubtedly AI. There are numerous use cases, but one particularly compelling application is using generative AI to support software development. The earliest actual product was introduced by GitHub three years ago and was aptly named Copilot. There's much to discuss on this topic, which likely deserves another blog post. For now, I'll just say that I appreciate my quirky intern who sometimes believes in conspiracy theories. Another AI use case I implemented is the chatbot on Mastodon and Telegram, but this implementation deserves its own article, too.

All in all, Topoprint was a perfect side project to explore the topics mentioned above - and have some fun.

A Peek Under the Hood đź”—

Interested in the technical side? The project has a couple of main features:

  • A Python-based ETL pipeline with a 3D geometry processing to turn geodata into a printable models
  • An AI chatbot that is integrated into social media
  • GitHub Actions for CI/CD and for processing the ETL pipeline

In the last years I found the C4 model to be a pragmatic and valuable architectural tool for software documentation, breaking systems into four levels: Context, Container, Component, and Code. This structured approach aids stakeholders (developers, architects, and non-technical participants) in understanding architecture relevant to them, depending on the level. So here is the so-called context view, the first level of detail which should be understood without too much technical background:

Obviously, this is not a very complex system, but it still takes a couple of minutes to read/describe it even on a high level. One important aspect of such a diagram is that one takes special care of labeling the boxes and every arrow in a way, that any connection between two boxes can be read as a sentence (like "Topoprint gets data from Swisstopo").

If you are interested in more detailed architectural diagram, you can click the arrows.

Click to show the container diagram
Click to show the component diagram
Click to show a swimlane diagram

Stay Connected đź”—

I'd love to hear from you if you use Topoprint and actually print a model. Feel free to get in touch with me!

To receive site updates, subscribe to the RSS feed or the Atom feed (For an explanation about feeds, have a look at https://aboutfeeds.com).

Alternatively, you can opt to get updates via email by signing up for my newsletter, which is sent no more than once a week and only if there's an update.

Newsletter Subscription

Let me know if there is a problem with the subscription form.

\