Collaborative, scalable and cross-platform designing.
You want to ✏️ the next 🏛️🏘️🏢🏭🏫🏨⛪🕌 with 🤖? But 📐🔢🗣️👥🖱️⌨️ takes all your ⌚? Then try to 🧠 the 🧬 and let semio 💉🖥️✒️🖨️🪄🚀.
Let me start by what semio is not:
- Rhino, SketchUp, Blender, … A 3d-modeling tool 🐚
In semio you link 3d-models.
- Revit, ArchiCAD, Vectorworks, BricksCAD, BlenderBIM, … A BIM-authoring tool 🧱
In semio you link instances of your own types.
- Grasshopper, Dynamo, Sverchok, … A node-based programming tool 🦗
In semio you link the input with the output.
- Illustrator, AffinityDesigner, InkScape, … A vector graphics tool ➡️
In semio you link drawings.
- EnergyPlus, TRYNSIS, Modellica, … A simulation tool ☀️
In semio you link models and results.
- Autodesk Construction Cloud, Bimcloud, Bentley Infrastructure Cloud, Nextcloud, … A cloud tool ☁️
In semio you link files acros a folder.
- IFC, Speckle, BHoM, … A data tool 📄
In semio you link design knowledge.
- Hypar, Victor, Fusion, CadQuery, … A parametric tool 🎛️
In semio you link static pieces.
So, what is semio?
- An open-source ecosystem for designing modular architecture 🧩
- A designer-affine pencil for a placeholder-based, non-linear and iterative design space exploration 🔀
- A collaboration-friendly platform to design effectively in large teams 🤝
- A local-first storage to link, reuse and develop design systems 🔗
- An ai-boosted design assistant, ready for LLM super powers 🤖
- A ready-to-use API for other developers 👩💻
If you design storeys, walls, windows, slabs, roofs by moving them around, changing individual dimensions of those, then you should stick to your BIM tool ❌
If you design atmospheres based on hand drawn sketches, eager to find the right shape based on surfaces with one-of-each-kind morphology, then you should stick to your 3d tool ❌
If you design typologies which you iteratively detail and you want to test systems where you are tinkering about rules and exceptions, then you should use semio ✅
But wait a second, FILES 🤯 We live in the 21. century! Cloud-only object-based level 3 BIM collaboration is so much smoother!
It is true, you can even follow the cursors of your collegues and see how they pan and scroll 📺
But are these unique features worth paying the price when designing architecture?
Just to view a design, you suddenly dependen on servers, licenses and companies. Giving up dozens of tools which work on files for editing, sharing, access control, versioning, backups, automation, ...
In fact, files are the best supported objects in computers 🏆
Is there really no alternative?
Well, if one agent (person or robot) can at most work only on one file, then we need to make sure that not more than one agent works on the same file.
But how?
We need to set boundaries 🧩
3d modelling tools have geometry as its units. BIM tools have building elements as its units. Automation tools have arbitrary structured data as its units.
It wouldn't make any sense to say that one designer works on one surface, another one on one wall, another one on a json 🐜
How do designers collaborate anyway?
Well, mostly through an architectural concept that turns a design into a system of pieces 🕸️
And this is what semio is about. Making the implicit explicit in order create boundaries across files where humans and robots can work together 🚀
Currently the user interfaces are compiled for Windows only.
semio has two user-interfaces:
- Grasshopper 🦗
- sketchpad ✏️
The heart of semio is the
engine.exe
which exposes a GraphQL API. If you are developer, then you should visithttp://localhost:5052/graphql/
.
The Grasshopper plugin can be installed over the Rhino Package Manager 🟢
- Open Rhino Package Manger ⌨️
- Search for semio 🔎
- Install the latest version ⬇️
- Restart Rhino 🔄
sketchpad needs no installation. Just unpack the folder and run it. If you run sketchpad without Grasshopper then you need to manually download and start the engine 🏎️
NOTE: The binaries are not signed (yet). Therefor Windows might give a warning.
That's it!
You can download the latest examples or take a look here 👀
New platforms wait to be reached, bugs wait to be found, examples wait to be created, documentation waits to be written, ...
Feel free to open a discussion, an issue or take a look under the project site 👋