Skip to content
/ semio Public

✏️ Design-Information-Modeling for Kit-of-Parts Architecture.

Notifications You must be signed in to change notification settings

usalu/semio

Repository files navigation

semio
Cite Latest Release AGPLv3 License
Grasshopper Windows macOS
Python C# Typescript
✏️ Design-Information-Modeling for Kit-of-Parts Architecture.


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

🤖 What is semio?

Let me start by what semio is not:

  • Rhino, SketchUp, 3ds Max, Blender, ...

    A 3d tool 🐚

    In semio you link 3d-models 🎋

  • AutoCAD, DraftSight, LibreCAD, ...

    A CAD tool 📐

    In semio you link dynamic blocks 📦

  • Revit, ArchiCAD, Vectorworks, BricksCAD, BlenderBIM, …

    A BIM tool 🧱

    In semio you link instances of your own types 🗿

  • Grasshopper, Dynamo, GenerativeComponents, Sverchok, …

    A node tool 🦗

    In semio you link the input with the output ⛓️‍💥

  • IFC, Speckle, BHoM, …

    A data tool 📄

    In semio you link design knowledge 📚

  • Hypar, Viktor, Fusion, …

    A parametric tool 🎛️

    In semio you link static designs 🩻

  • Wasp, Assembler, Monocerous, ComputerGeneratedArchitecture …

    A solver tool 🎰

    In semio you link precise pieces 🪡

  • OpenSCAD, CadQuery, Fornjot, …

    A scripting tool 📜

    In semio you link ports visually 🖱️

  • Illustrator, AffinityDesigner, InkScape, …

    A vector 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, Git, Nextcloud, …

    A CDE tool ☁️

    In semio you link urls 🔗

So, what is semio?

  • An open-source ecosystem for designing kit-of-parts 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 🔗
  • A decentralized technology of sharing online assets with metadata 🌐
  • An ai-boosted design assistant, ready for LLM super powers 🤖
  • A conversion-free interoperability standard that sits on top of existing software and is not trying to get in between 🪆
  • A ready-to-use API for other developers 👩‍💻

🤔 When should I design with semio?

If you design unique atmospheres by 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 floor plans, sections and elevations by moving lines and hatches around, analyzing contours then you should stick to your CAD tool ❌

If you design storeys, walls, windows, slabs and roofs by moving them around, changing individual dimensions of those, then you should stick to your BIM tool ❌

If you design high-resolution blobs by sophisticated rules, statistical noise, intersection-based entropy, then you should stick to your solver tool ❌

If you design modular systems by iteratively developing typology based on metrics, then you should use semio ✅

🚀 Getting started

The code of semio is compatible with Windows, Mac and Linux but currently compiled for Windows only ⚠️

semio has two user-interfaces:

  • Grasshopper 🦗
  • sketchpad ✏️

⬇️ Installation

The binaries are not signed (yet) ✒️ Therefor Windows might give a warning ⚠️

🦗 Grasshopper

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

That's it!

✏️ sketchpad

Still a prototype ✏️ It doesn't use the latest versions of the engine and Grasshopper ⚠️

sketchpad is a portable program and needs no installation. To use sketchpad with Grasshopper you need to download semio Grasshopper 2.1.2. If you want to use sketchpad standalone you need to download, extract and start the engine. After this you can open the examples🏎️

🏘️ Examples

🫀 Metabolism

Design Variants

You can fetch the kit directly from within Grasshopper, take a look at the source or the documentation 👀

🧑‍💻 Developers

semio offers two APIs: a simple REST OpenAPI and a uncomplex GraphQL Relay API.

{} REST OpenAPI

If you go to http://127.0.0.1:24112/docs/ you find the Swagger UI:

GraphQL Query

⭕ GraphQL Relay

Still a prototype ✏️

If you go to http://127.0.0.1:24112/graphql/ you find the GraphiQL UI:

GraphQL Query

❤️ 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, take a look under the project site or just write me an e-mail 👋

💻 Building from source

You need the following tools:

If you do not have Python installed, I recommend to install it over the Microsoft Store 🏪

Afterwards you can install poetry with this Powershell command:

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -

Then you can build.ps1 in the Powershell and add your full path LOCAL_PATH\dotnet\Semio.Grasshopper\Debug\net48 to your GrasshopperDeveloperSettings ⚙️

📊 Stats