usalu / semio

✏️Collaborative, scalable and cross-platform designing.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

semio
Latest Release Latest Release AGPLv3 License
Grasshopper Python Sverchok
Python Semantic Web Speckle Systems

Collaborative, scalable and cross-platform designing.


You want to ✏️ the next 🏛️🏘️🏢🏭🏫🏨⛪🕌? But 📐🔢🗣️ takes all your ⌚? Then try to capture the 🧬 and 💉 it into a new design and let semio 🖥️✒️🖨️.

Capsule Tower Artifacts Capsule Tower Computation

What is semio?

Analogies

semio is an open ecosystem for component-based design of architecture. The decomposition of a design by a graph enables a collaborative, scalable and cross-platform design process. Instead of 3D-blobs, proprietary or documentary file formats from which it is difficult to extract individual parts, the heart of semio consists of a linked data model. All components can be easily shared, searched and reused. Unlike existing data models, not every design is squeezed into a handful of standard types such as floors, walls or windows. Instead, individual, complex and flexible types can be defined and freely combined via a generalized port mechanism.

Getting started

Requirements

  • Windows
  • Rhino 7
  • Hops package from the Rhino Package Manger

NOTE: Hops (in reality Rhino.Compute) needs certain runtimes which are not by default installed. The developers probably didn't notice because every one had Visual Studio already installed. You can fix this by installing Visual Studio and install .NET for desktop development. Visual Studio .NET To check if Hops is running correctly, you can uncheck the checkbox "Hide Compute.Compute Console Window". Make sure that "Launch Local Rhino.Compute at Start" checkbox is checked. Show Compute Option When you restart Rhino and start Grasshopper a window like this should appear for Rhino.Compute: Compute If Rhino.Compute still doesn't run, then try cloning the official Rhino.Compute Git Repository and open src/compute.sln in Visual Studio and agree on downloading the missing packages.

Installation

Rhino Package

  1. Open Rhino Package Manger
  2. Search for semio
  3. Install the latest version
  4. Restart Rhino

That's it!

NOTE: The first time you will use semio, the Windows Firewall will ask you to allow internet access for restproxy.exe and semio.exe. This is because the semio backend is a microservice architecture which communicates over several ports. semio will by default not access the internet because a local server will be started. If you want to host the backend somewhere else you can but that requires a Rhino.Compute license, an active server and configuration in the client.

Examples

You can download the examples from the release.

NOTE: When you open an example, then semio will automatically start. Make sure to wait a second until you see a command line program like this: semio cli

Hello World

Now you can lay out your first design! Hello World

Nakagin Capsule Tower

At least in semio, the iconic capsule tower(s) will keep on existing! Nakagin Capsule Tower

Ever wanted to change the capsules with one click? Nakagin Capsule Tower

How does semio work?

NOTE: This only applies (and not to full extent) to v1. We are working on a complete rewrite with a totally different metamodel, system architecture and software architecture. Short: Almost everything will change... but many more exciting features will come! Such as a persistance layer for easy sharing design components. A shared type no longer needs a runtime but parameters and geometry are persisted.

Components

semio is an ecosystem of several components. There is a backend that can be extended on different platforms and different frontends for viewing and/or authoring designs. All services including their depenencies are vendored into the platform extensions to run as a binary. Consider the rest as magic.

Metamodel

Here is a brief overview over the process:

Process Part 1 Process Part 2

UIs

Currently there is one UI for Grasshopper. Menu ribbon

Extensions

Currently there is one extension for Grasshopper that makes it possible to turn Grasshopper scripts into semio scripts.

Contribution

Components

If you want to contribute to the project, there are lot's of opportunities! Do you want to write an apapter for a platform or contribute to the core? If you are not sure what your contribution could exactly be, feel free to take a look under the project site and see if find something.

About

✏️Collaborative, scalable and cross-platform designing.

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 64.0%Language:C# 18.9%Language:Python 15.8%Language:Perl 0.8%Language:SCSS 0.2%Language:JavaScript 0.1%Language:Batchfile 0.1%Language:PowerShell 0.1%Language:HTML 0.1%Language:Shell 0.0%