Skip to content

usalu/semio

Repository files navigation

semio
Cite Latest Release AGPLv3 License
Grasshopper Dynamo Sverchok
Python C# Typescript
Typological, non-linear and ai-boosted designing.


You want to ✏️ the next 🏛️🏘️🏢🏭🏫🏨⛪🕌 with 🤖? But 📐🔢🗣️👥🖱️⌨️ takes all your ⌚? Then try to 🧠 the 🧬 and let semio 💉🖥️✒️🖨️🪄🚀.

What is semio?

Analogies

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 CDE tool ☁️

    In semio you link urls.

  • IFC, Speckle, BHoM, … A data tool 📄

    In semio you link design knowledge.

  • Hypar, Viktor, 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 👩‍💻

When should I design with semio?

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, exceptions and metrics then you should use semio ✅

Getting started

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 visit http://localhost:5052/graphql/.

Installation

The Grasshopper plugin can be installed over the Rhino Package Manager 🟢

  1. Open Rhino Package Manger ⌨️
  2. Search for semio 🔎
  3. Install the latest version ⬇️
  4. Restart Rhino 🔄

Rhino Package

NOTE: The binaries are not signed (yet). Therefore Windows might give a warning.

That's it!

Examples

You can download the latest examples or take a look here 👀

Contribution

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 👋