Skip to content

Commit 7baa6aa

Browse files
committed
⬆️Updated docs🧹Cleaned example and C# code
Docs: 🔁Restructured README. ➕Added README to examples. ➕Rhino installation instructions. Examples: 🧹Cleaned up folder and move prototype scripts in a folder. .NET: 🧹Formatted C# code. Grasshopper: 🧹Formatted C# code Yak: ⬆️Bumped version to 2.2.0. Sketchpad: ⬆️Updated tests. ⚒️Started to copy python implementation.
1 parent 623822b commit 7baa6aa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+2173
-1671
lines changed

README.md

Lines changed: 90 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -5,114 +5,131 @@
55
<img alt="semio" href="https://github.com/usalu/semio/" src="https://raw.githubusercontent.com/usalu/semio/main/logo/logo-horizontal.svg">
66
</picture>
77
<br/>
8-
<a href="https://doi.org/10.5281/zenodo.8419156"><img src="https://raw.githubusercontent.com/usalu/semio/main/docs/badges/doizenodo.svg" alt="Cite"></a>
9-
<a href="https://github.com/usalu/semio/"><img src="https://raw.githubusercontent.com/usalu/semio/main/docs/badges/latestrelease.svg" alt="Latest Release"></a>
10-
<a href="https://choosealicense.com/licenses/agpl-3.0/"><img src="https://raw.githubusercontent.com/usalu/semio/main/docs/badges/licenseagplv3.svg" alt="AGPLv3 License"></a>
8+
<a href="https://doi.org/10.5281/zenodo.8419156"><img src="https://raw.githubusercontent.com/usalu/semio/main/badges/doizenodo.svg" alt="Cite"></a>
9+
<a href="https://github.com/usalu/semio/"><img src="https://raw.githubusercontent.com/usalu/semio/main/badges/latestrelease.svg" alt="Latest Release"></a>
10+
<a href="https://choosealicense.com/licenses/agpl-3.0/"><img src="https://raw.githubusercontent.com/usalu/semio/main/badges/licenseagplv3.svg" alt="AGPLv3 License"></a>
1111
<br/>
12-
<a href="https://www.grasshopper3d.com/"><img src="https://raw.githubusercontent.com/usalu/semio/main/docs/badges/uigrasshopper.svg" alt="Grasshopper"></a>
13-
<a href="https://dynamobim.org/"><img src="https://raw.githubusercontent.com/usalu/semio/main/docs/badges/uiplanneddynamo.svg" alt="Dynamo"></a>
14-
<a href="https://nortikin.github.io/sverchok/"><img src="https://raw.githubusercontent.com/usalu/semio/main/docs/badges/uiplannedsverchok.svg" alt="Sverchok"></a>
12+
<a href="https://www.grasshopper3d.com/"><img src="https://raw.githubusercontent.com/usalu/semio/main/badges/uigrasshopper.svg" alt="Grasshopper"></a>
13+
<a href="https://dynamobim.org/"><img src="https://raw.githubusercontent.com/usalu/semio/main/badges/uiplanneddynamo.svg" alt="Dynamo"></a>
14+
<a href="https://nortikin.github.io/sverchok/"><img src="https://raw.githubusercontent.com/usalu/semio/main/badges/uiplannedsverchok.svg" alt="Sverchok"></a>
1515
<br/>
16-
<a href="https://www.python.org/"><img src="https://raw.githubusercontent.com/usalu/semio/main/docs/badges/poweredbypython.svg" alt="Python"></a>
17-
<a href="https://learn.microsoft.com/en-us/dotnet/csharp/"><img src="https://raw.githubusercontent.com/usalu/semio/main/docs/badges/poweredbycsharp.svg" alt="C#"></a>
18-
<a href="https://www.typescriptlang.org/"><img src="https://raw.githubusercontent.com/usalu/semio/main/docs/badges/poweredbytypescript.svg" alt="Typescript"></a>
16+
<a href="https://www.python.org/"><img src="https://raw.githubusercontent.com/usalu/semio/main/badges/poweredbypython.svg" alt="Python"></a>
17+
<a href="https://learn.microsoft.com/en-us/dotnet/csharp/"><img src="https://raw.githubusercontent.com/usalu/semio/main/badges/poweredbycsharp.svg" alt="C#"></a>
18+
<a href="https://www.typescriptlang.org/"><img src="https://raw.githubusercontent.com/usalu/semio/main/badges/poweredbytypescript.svg" alt="Typescript"></a>
1919
<br/>
2020
<i>Collaborative, scalable and cross-platform designing.</i>
2121
</p>
2222
<br/>
2323

24-
You want to <emoji>✏️</emoji> the next <emoji>🏛️🏘️🏢🏭🏫🏨⛪🕌</emoji>? But <emoji>📐🔢🗣️</emoji> takes all your <emoji>⌚</emoji>? Then try to capture the <emoji>🧬</emoji> and <emoji>💉</emoji> it into a new design and let semio <emoji>🖥️✒️🖨️</emoji>.
24+
You want to ✏️ the next 🏛️🏘️🏢🏭🏫🏨⛪🕌 with 🤖? But 📐🔢🗣️👥🖱️⌨️ takes all your ? Then try to 🧠 the 🧬 and let semio 💉🖥️✒️🖨️🪄🚀.
2525

26+
# What is semio?
2627
<p align="center">
2728
<picture>
28-
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/examples/nakagincapsuletower/artifacts-dark.svg">
29-
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/examples/nakagincapsuletower/artifacts.svg">
30-
<img alt="Capsule Tower Artifacts" src="https://raw.githubusercontent.com/usalu/semio/main/docs/examples/nakagincapsuletower/artifacts.svg">
31-
</picture>
32-
<picture>
33-
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/examples/nakagincapsuletower/computation-dark.svg">
34-
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/examples/nakagincapsuletower/computation.svg">
35-
<img alt="Capsule Tower Computation" src="https://raw.githubusercontent.com/usalu/semio/main/docs/examples/nakagincapsuletower/computation.svg">
29+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/main/conceptual/analogies-dark.svg">
30+
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/main/conceptual/analogies.svg">
31+
<img alt="Analogies" src="https://raw.githubusercontent.com/usalu/semio/main/conceptual/analogies.svg">
3632
</picture>
3733
</p>
3834

39-
# What is semio?
35+
Let me start by what semio is **not**:
36+
- Rhino, SketchUp, Blender, … A *3d-modeling* tool 🐚
37+
> In semio you **link** 3d-models.
38+
- Revit, ArchiCAD, Vectorworks, BricksCAD, BlenderBIM, … A BIM-authoring tool 🧱
39+
> In semio you **link** instances of your own types.
40+
- Grasshopper, Dynamo, Sverchok, … A *node-based programming* tool 🦗
41+
> In semio you **link** the input with the output.
42+
- Illustrator, AffinityDesigner, InkScape, … A *vector graphics* tool ➡️
43+
> In semio you **link** drawings.
44+
- EnergyPlus, TRYNSIS, Modellica, … A simulation tool ☀️
45+
> In semio you **link** models and results.
46+
- Autodesk Construction Cloud, Bimcloud, Bentley Infrastructure Cloud, Nextcloud, … A cloud tool ☁️
47+
> In semio you **link** files acros a folder.
48+
- IFC, Speckle, BHoM, … A data tool 📄
49+
> In semio you **link** design knowledge.
50+
- Hypar, Victor, Fusion, CadQuery, … A parametric tool 🎛️
51+
> In semio you **link** static pieces.
4052
41-
<picture>
42-
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/conceptual/analogies-dark.svg">
43-
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/conceptual/analogies.svg">
44-
<img alt="Analogies" src="https://raw.githubusercontent.com/usalu/semio/main/docs/conceptual/analogies.svg">
45-
</picture>
53+
So, what **is** semio?
54+
- An *open-source* ecosystem for designing modular architecture 🧩
55+
- A *designer-affine* pencil for a placeholder-based, non-linear and iterative design space exploration 🔀
56+
- A *collaboration-friendly* platform to design effectively in large teams 🤝
57+
- A *local-first* storage to link, reuse and develop design systems 🔗
58+
- An *ai-boosted* design assistant, ready for LLM super powers 🤖
59+
- A *ready-to-use* API for other developers 👩‍💻
4660

47-
semio is an open ecosystem for component-based design of architecture. You can capture and link design knowledge. Preparing for the next generation of AI. In the mean time, automatic file federation enables collaboration, automation and reuse.
61+
## When should I design with semio?
4862

49-
# Getting started
63+
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 ❌
5064

51-
## Requirements
52-
- Windows
53-
- Rhino 7 or greater
65+
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 ❌
5466

55-
semio has currently two user-interfaces. One in Grasshopper and one that is native (sketchpad).
67+
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 ✅
5668

57-
## Installation
69+
## Are you out of your mind?
5870

59-
The Grasshopper plugin can be installed over the Rhino Package Manager.
60-
1. Open Rhino Package Manger
61-
1. Search for semio
62-
1. Install the latest version
63-
1. Restart Rhino
71+
But wait a second, FILES 🤯 We live in the 21. century! Cloud-only object-based level 3 BIM collaboration is so much smoother!
6472

65-
![Rhino Package](https://raw.githubusercontent.com/usalu/semio/main/docs/installation/rhinopackage.gif)
73+
It is true, you can even follow the cursors of your collegues and see how they pan and scroll 📺
6674

67-
[sketchpad](https://github.com/usalu/semio/releases/download/r24.07-1/engine.zip) 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](https://github.com/usalu/semio/releases/download/r24.07-1/engine.zip).
68-
> NOTE: The binaries are not signed (yet). Therefor Windows might give a warning.
75+
But are these unique features worth paying the price when designing architecture?
6976

70-
That's it!
77+
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, ...
78+
79+
> In fact, files are the best supported objects in computers 🏆
7180
72-
## Examples
81+
Is there really no alternative?
7382

74-
You can download the latest [examples](https://github.com/usalu/semio/releases/download/r24.07-1/examples.zip) or take a look [here](https://github.com/usalu/semio/blob/main/examples/metabolism/README.md).
83+
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.
7584

85+
But how?
7686

77-
# How does semio work?
87+
We need to set boundaries 🧩
7888

79-
>NOTE: This is outdated. Release r23.07 was a complete rewrite. It is way better now!
89+
> 3d modelling tools have geometry as its units.
90+
> BIM tools have building elements as its units.
91+
> Automation tools have arbitrary structured data as its units.
8092
81-
<picture>
82-
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/softwarequality/systemarchitecture/componentsdiagram-dark.svg">
83-
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/softwarequality/systemarchitecture/componentsdiagram.svg">
84-
<img alt="Components" src="https://raw.githubusercontent.com/usalu/semio/main/docs/softwarequality/systemarchitecture/componentsdiagram.svg">
85-
</picture>
93+
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 🐜
8694

87-
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.
95+
How do designers collaborate anyway?
8896

89-
<picture>
90-
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/softwarequality/softwarearchitecture/metamodel-dark.svg">
91-
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/softwarequality/softwarearchitecture/metamodel.svg">
92-
<img alt="Metamodel" src="https://raw.githubusercontent.com/usalu/semio/main/docs/softwarequality/softwarearchitecture/metamodel.svg">
93-
</picture>
97+
Well, mostly through an architectural concept that turns a design into a system of pieces 🕸️
9498

95-
Here is a brief overview over the process:
99+
And this is what semio is about. Making the implicit explicit in order create boundaries across files where humans and robots can work together 🚀
96100

97-
<picture>
98-
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/softwarequality/softwarearchitecture/designprocessmodel-dark.svg">
99-
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/softwarequality/softwarearchitecture/designprocessmodel.svg">
100-
<img alt="Process Part 1" src="https://raw.githubusercontent.com/usalu/semio/main/docs/softwarequality/softwarearchitecture/designprocessmodel.svg">
101-
</picture>
101+
# Getting started
102+
> Currently the user interfaces are compiled for Windows only.
102103
103-
<picture>
104-
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/softwarequality/softwarearchitecture/designprocessmodel2-dark.svg">
105-
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/softwarequality/softwarearchitecture/designprocessmodel2.svg">
106-
<img alt="Process Part 2" src="https://raw.githubusercontent.com/usalu/semio/main/docs/softwarequality/softwarearchitecture/designprocessmodel2.svg">
107-
</picture>
104+
semio has two user-interfaces:
105+
- Grasshopper 🦗
106+
- sketchpad ✏️
108107

109-
# Contribution
108+
> 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/`.
109+
110+
## Installation
111+
112+
The Grasshopper plugin can be installed over the Rhino Package Manager 🟢
113+
1. Open Rhino Package Manger ⌨️
114+
1. Search for semio 🔎
115+
1. Install the latest version ⬇️
116+
1. Restart Rhino 🔄
117+
118+
![Rhino Package](https://raw.githubusercontent.com/usalu/semio/main/dotnet/Semio.Grasshopper/docs/rhinopackage.gif)
119+
120+
[sketchpad](https://github.com/usalu/semio/releases/download/r24.08-1/sketchpad.exe) 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](https://github.com/usalu/semio/releases/download/r24.08-1/engine.zip) 🏎️
121+
> NOTE: The binaries are not signed (yet). Therefor Windows might give a warning.
122+
123+
That's it!
124+
125+
# Examples
126+
127+
You can download the latest [examples](https://github.com/usalu/semio/releases/download/r24.08-1/examples.zip) or take a look [here](https://github.com/usalu/semio/blob/main/examples/metabolism/README.md) 👀
110128

111-
<picture>
112-
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/softwarequality/softwarearchitecture/frameworkrelationships-dark.svg">
113-
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/main/docs/softwarequality/softwarearchitecture/frameworkrelationships.svg">
114-
<img alt="Components" src="https://raw.githubusercontent.com/usalu/semio/main/docs/softwarequality/softwarearchitecture/frameworkrelationships.svg">
115-
</picture>
116129

117130

118-
If you want to contribute to the project, feel free to open an issue. If you are not sure what your contribution could exactly be, feel free to take a look under the [project site](https://github.com/users/usalu/projects/2) and see if find something.
131+
# Contribution
132+
133+
New platforms wait to be reached, bugs wait to be found, examples wait to be created, documentation waits to be written, ...
134+
135+
Feel free to open a [discussion](https://github.com/usalu/semio/discussions), an [issue](https://github.com/usalu/semio/issues) or take a look under the [project site](https://github.com/users/usalu/projects/2) 👋

0 commit comments

Comments
 (0)