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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‘€ Do you want to develop the next AI with us? Then join our Weekly-Evening-Session every Tuesday starting at 6pm (UTC+1) on Discord 🍻

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

Are you interested in the latest version? Then hit Include pre-releases and download 5.0.0-beta ⬇️

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 demo

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

Are you interested in the latest version? Then copy this uri, take a look at the source or the documentation πŸ‘€

You can fetch the kit directly from within Grasshopper if you copy this uri, take a look at the source or the documentation πŸ‘€

πŸ§‘β€πŸ’» Developers

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

{} REST OpenAPI

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

GraphQL Query

β­• GraphQL Relay

Still a prototype ✏️

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

GraphQL Query

πŸ’» 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 -

In the console you might see a warning that the poetry.exe is not installed in the normal folder πŸ“ Then copy the actual path and add it to your environmental variables βž•

Then you can build.ps1 in the Powershell and add your full path LOCAL_PATH\dotnet\Semio.Grasshopper\Debug\net48 to your GrasshopperDeveloperSettings βš™οΈ

πŸ“Š Stats