Skip to content

Commit f3c2df8

Browse files
committed
🔄Engine port according release⬆️Updated Example🔄Slogan➕QR-Code
1 parent 23753ff commit f3c2df8

File tree

18 files changed

+4043
-603
lines changed

18 files changed

+4043
-603
lines changed

README.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
<p align="center">
22
<picture>
3-
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-2/logo/logo-horizontal-dark.svg">
4-
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-2/logo/logo-horizontal.svg">
5-
<img alt="semio" href="https://github.com/usalu/semio/" src="https://raw.githubusercontent.com/usalu/semio/r24.10-2/logo/logo-horizontal.svg">
3+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-3/logo/logo-horizontal-dark.svg">
4+
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-3/logo/logo-horizontal.svg">
5+
<img alt="semio" href="https://github.com/usalu/semio/" src="https://raw.githubusercontent.com/usalu/semio/r24.10-3/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/r24.10-2/badges/doizenodo.svg" alt="Cite"></a>
9-
<a href="https://github.com/usalu/semio/"><img src="https://raw.githubusercontent.com/usalu/semio/r24.10-2/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/r24.10-2/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/r24.10-3/badges/doizenodo.svg" alt="Cite"></a>
9+
<a href="https://github.com/usalu/semio/"><img src="https://raw.githubusercontent.com/usalu/semio/r24.10-3/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/r24.10-3/badges/licenseagplv3.svg" alt="AGPLv3 License"></a>
1111
<br/>
12-
<a href="https://www.grasshopper3d.com/"><img src="https://raw.githubusercontent.com/usalu/semio/r24.10-2/badges/uigrasshopper.svg" alt="Grasshopper"></a>
13-
<a href="https://dynamobim.org/"><img src="https://raw.githubusercontent.com/usalu/semio/r24.10-2/badges/uiplanneddynamo.svg" alt="Dynamo"></a>
14-
<a href="https://nortikin.github.io/sverchok/"><img src="https://raw.githubusercontent.com/usalu/semio/r24.10-2/badges/uiplannedsverchok.svg" alt="Sverchok"></a>
12+
<a href="https://www.grasshopper3d.com/"><img src="https://raw.githubusercontent.com/usalu/semio/r24.10-3/badges/uigrasshopper.svg" alt="Grasshopper"></a>
13+
<a href="https://dynamobim.org/"><img src="https://raw.githubusercontent.com/usalu/semio/r24.10-3/badges/uiplanneddynamo.svg" alt="Dynamo"></a>
14+
<a href="https://nortikin.github.io/sverchok/"><img src="https://raw.githubusercontent.com/usalu/semio/r24.10-3/badges/uiplannedsverchok.svg" alt="Sverchok"></a>
1515
<br/>
16-
<a href="https://www.python.org/"><img src="https://raw.githubusercontent.com/usalu/semio/r24.10-2/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/r24.10-2/badges/poweredbycsharp.svg" alt="C#"></a>
18-
<a href="https://www.typescriptlang.org/"><img src="https://raw.githubusercontent.com/usalu/semio/r24.10-2/badges/poweredbytypescript.svg" alt="Typescript"></a>
16+
<a href="https://www.python.org/"><img src="https://raw.githubusercontent.com/usalu/semio/r24.10-3/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/r24.10-3/badges/poweredbycsharp.svg" alt="C#"></a>
18+
<a href="https://www.typescriptlang.org/"><img src="https://raw.githubusercontent.com/usalu/semio/r24.10-3/badges/poweredbytypescript.svg" alt="Typescript"></a>
1919
<br/>
20-
<i>Typological, non-linear and ai-boosted designing.</i>
20+
<i>✏️Design kit-of-parts architecture.</i>
2121
</p>
2222
<br/>
2323

@@ -27,9 +27,9 @@ You want to ✏️ the next 🏛️🏘️🏢🏭🏫🏨⛪🕌 with 🤖? But
2727

2828
<p align="center">
2929
<picture>
30-
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-2/conceptual/analogies-dark.svg">
31-
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-2/conceptual/analogies.svg">
32-
<img alt="Analogies" src="https://raw.githubusercontent.com/usalu/semio/r24.10-2/conceptual/analogies.svg">
30+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-3/conceptual/analogies-dark.svg">
31+
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-3/conceptual/analogies.svg">
32+
<img alt="Analogies" src="https://raw.githubusercontent.com/usalu/semio/r24.10-3/conceptual/analogies.svg">
3333
</picture>
3434
</p>
3535

@@ -97,7 +97,7 @@ Let me start by what semio is **not**:
9797
9898
So, what **is** semio?
9999

100-
- An _open-source_ ecosystem for designing modular architecture 🧩
100+
- An _open-source_ ecosystem for designing kit-of-parts architecture 🧩
101101
- A _designer-affine_ pencil for a placeholder-based, non-linear and iterative design space exploration 🔀
102102
- A _collaboration-friendly_ platform to design effectively in large teams 🤝
103103
- A _local-first_ storage to link, reuse and develop design systems 🔗
@@ -118,23 +118,23 @@ by sophisticated rules, statistical noise, intersection-based entropy,
118118
then you should stick to your solver tool ❌
119119

120120
If you design custom typologies
121-
by iteretively detailing types and variants based on metrics,
121+
by iteratively detailing types and variants based on metrics,
122122
then you should use semio ✅
123123

124124
# 🚀 Getting started
125125

126-
> Despite of the code semio being compatible for Windows, Mac and Linux, the user interfaces are currently compiled for Windows only.
126+
> The code of semio is compatible with Windows, Mac and Linux but currently compiled for Windows only.
127127
128128
semio has two user-interfaces:
129129

130130
- Grasshopper 🦗
131131
- sketchpad ✏️
132132

133-
> 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/`.
133+
> The heart of semio is the `semio-engine` executable which exposes an GraphQL-API. If you are developer, then you should visit `http://localhost:24103/graphql`.
134134
135135
## ⬇️ Installation
136136

137-
> NOTE: The binaries are not signed (yet). Therefor Windows might give a warning.
137+
> The binaries are not signed (yet). Therefor Windows might give a warning.
138138
139139
### 🦗 Grasshopper
140140

@@ -145,21 +145,21 @@ The Grasshopper plugin can be installed over the Rhino Package Manager 🟢
145145
1. Install the latest version ⬇️
146146
1. Restart Rhino 🔄
147147

148-
![Rhino Package](https://raw.githubusercontent.com/usalu/semio/r24.10-2/dotnet/Semio.Grasshopper/docs/rhinopackage.gif)
148+
![Rhino Package](https://raw.githubusercontent.com/usalu/semio/r24.10-3/dotnet/Semio.Grasshopper/docs/rhinopackage.gif)
149149

150150
That's it!
151151

152152
### ✏️ sketchpad
153153

154-
> NOTE: This is a prototype. It doesn't use the latest versions of the engine and Grasshopper.
154+
> This is a prototype. It doesn't use the latest versions of the engine and Grasshopper.
155155
156156
[sketchpad](https://github.com/usalu/semio/releases/download/r24.07-1/sketchpad.exe) 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](https://github.com/usalu/semio/releases/download/r24.07-1/engine.zip). After this you can open the [examples](https://github.com/usalu/semio/releases/download/r24.07-1/examples.zip)🏎️
157157

158158
## 🏘️ Examples
159159

160-
You can download the latest [examples](https://github.com/usalu/semio/releases/download/r24.10-2/examples.zip) or take a look [here](https://github.com/usalu/semio/blob/r24.10-2/examples/metabolism/README.md) 👀
160+
You can download the latest [examples](https://github.com/usalu/semio/releases/download/r24.10-3/examples.zip) or take a look [here](https://github.com/usalu/semio/blob/r24.10-3/examples/metabolism/README.md) 👀
161161

162162
# ❤️Contribution
163163

164164
New platforms wait to be reached, bugs wait to be found, examples wait to be created, documentation waits to be written, ...
165-
Feel free to open a [discussion](https://github.com/usalu/semio/discussions), an [issue](https://github.com/usalu/semio/issues), take a look under the [project site](https://github.com/users/usalu/projects/2) or just write me an [e-mail](semio-community@posteo.de) 👋
165+
Feel free to open a [discussion](https://github.com/usalu/semio/discussions), an [issue](https://github.com/usalu/semio/issues), take a look under the [project site](https://github.com/users/usalu/projects/2) or just write me an [e-mail](semio-community@posteo.org) 👋

badges/latestrelease.shields

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
https://img.shields.io/badge/latest-r24.10--2-pink?style=flat-square&color=ff344f
1+
https://img.shields.io/badge/latest-r24.10--3-pink?style=flat-square&color=ff344f

badges/latestrelease.svg

Lines changed: 1 addition & 1 deletion
Loading

dotnet/Semio.Grasshopper/Semio.Grasshopper.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3136,7 +3136,7 @@ protected override void BeforeSolveInstance()
31363136
var processes = Process.GetProcessesByName("semio-engine");
31373137
IPGlobalProperties ipGlobalProperties = IPGlobalProperties.GetIPGlobalProperties();
31383138
IPEndPoint[] tcpListeners = ipGlobalProperties.GetActiveTcpListeners();
3139-
bool isSemioPortInUse = tcpListeners.Any(endpoint => endpoint.Port == 5052);
3139+
bool isSemioPortInUse = tcpListeners.Any(endpoint => endpoint.Port == Constants.EnginePort);
31403140
if (processes.Length == 0 || !isSemioPortInUse)
31413141
{
31423142
var executableName = "semio-engine" +
@@ -3166,7 +3166,7 @@ protected override void BeforeSolveInstance()
31663166
}
31673167
catch (Exception e)
31683168
{
3169-
AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "semio-engine could not be started automatically.\n" + e.Message);
3169+
AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, "semio-engine could not be started automatically.\n" + e.Message);
31703170
}
31713171

31723172
}

dotnet/Semio.Grasshopper/Semio.GrasshopperInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class Semio_GrasshopperInfo : GH_AssemblyInfo
1212
public override Bitmap AssemblyIcon => Resources.semio_24x24;
1313
public override string Description => "semio within 🦗.";
1414
public override Guid Id => new("FE587CBF-5F7D-4091-AA6D-D9D30CF80B64");
15-
public override string Version => "2.4.0";
15+
public override string Version => "3.0.1";
1616
public override string AuthorName => "Ueli Saluz";
1717
public override string AuthorContact => "[email protected]";
1818
}

dotnet/Semio/Semio.cs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,20 @@
1212
// TODO: Add logging mechanism to all API calls if they fail.
1313
// TODO: Add a more detailed message system when a model is invalid.
1414

15+
#region Constants
16+
17+
public static class Constants
18+
{
19+
public const int NameLengthLimit = 64;
20+
public const int IdLengthLimit = 128;
21+
public const int UrlLengthLimit = 2048;
22+
public const int DescriptionLengthLimit = 4096;
23+
public const string Release = "r24.10-3";
24+
public const int EnginePort = 24103;
25+
}
26+
27+
#endregion
28+
1529
#region Copilot
1630
//type Query
1731
//{
@@ -1855,7 +1869,7 @@ public class Api : ICloneable
18551869
{
18561870
public Api()
18571871
{
1858-
Endpoint = "http://127.0.0.1:5052/graphql";
1872+
Endpoint = $"http://127.0.0.1:{Constants.EnginePort}/graphql";
18591873
Token = "";
18601874
Client = new GraphQLHttpClient(Endpoint, new NewtonsoftJsonSerializer());
18611875
}
0 Bytes
Binary file not shown.

examples/metabolism/README.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@ Assuming I would have been Kisho Kurokawa and used semio I would chosen the foll
1414

1515
<p align="center">
1616
<picture>
17-
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/artifacts-dark.svg">
18-
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/artifacts.svg">
19-
<img alt="Capsule Tower Artifacts" src="https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/artifacts.svg">
17+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/artifacts-dark.svg">
18+
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/artifacts.svg">
19+
<img alt="Capsule Tower Artifacts" src="https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/artifacts.svg">
2020
</picture>
2121
</p>
2222

2323
Based on this formalization the design can be synthesized like this:
2424

2525
<p align="center">
2626
<picture>
27-
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/computation-dark.svg">
28-
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/computation.svg">
29-
<img alt="Capsule Tower Computation" src="https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/computation.svg">
27+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/computation-dark.svg">
28+
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/computation.svg">
29+
<img alt="Capsule Tower Computation" src="https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/computation.svg">
3030
</picture>
3131
</p>
3232

@@ -36,51 +36,51 @@ A bit overwhelmed? Just take a look at the Grasshopper script `nakagin-capule-to
3636

3737
#### ✏️sketchpad
3838

39-
![Sketchpad Overview](https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/sketchpad-overview.png)
39+
![Sketchpad Overview](https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/sketchpad-overview.png)
4040

4141
#### 🦗Grasshopper
4242

4343
> Make sure to open Rhino 8 and set the model units to `Meter`.
4444
4545
After opening the main Grasshopper definition
4646

47-
![Grasshopper Parametric Design](https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/grasshopper-definition-main.png)
47+
![Grasshopper Parametric Design](https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/grasshopper-definition-main.png)
4848

4949
you will see the following model:
5050

51-
![Rhino Default Variant 1to500 volume](https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/rhino-default-variant-1to500-volume.png)
51+
![Rhino Default Variant 1to500 volume](https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/rhino-default-variant-1to500-volume.png)
5252

5353
You can easily change the level of detail 🔍
5454

55-
![Rhino Default Variant 1to200 volume](https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/rhino-default-variant-1to200-volume.png)
55+
![Rhino Default Variant 1to200 volume](https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/rhino-default-variant-1to200-volume.png)
5656

5757
Or the typology 🔁
5858

59-
![Rhino Futuristic Variant 1to500 volume](https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/rhino-futuristic-variant-1to500-volume.png)
59+
![Rhino Futuristic Variant 1to500 volume](https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/rhino-futuristic-variant-1to500-volume.png)
6060

6161
Or both 🪄
6262

63-
![Rhino Futuristic Variant 1to200 volume](https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/rhino-futuristic-variant-1to200-volume.png)
63+
![Rhino Futuristic Variant 1to200 volume](https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/rhino-futuristic-variant-1to200-volume.png)
6464

6565
In a conventional block-based approach, block instances have insertion planes and are thus not linked 🪨
6666

6767
Switching from one to another variant would look either like this:
6868

69-
![Block-based Default to Futuristic](https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/block-based-default-to-futuristic.png)
69+
![Block-based Default to Futuristic](https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/block-based-default-to-futuristic.png)
7070

7171
or this:
7272

73-
![Block-based Futuristic to Default](https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/block-based-futuristic-to-default.png)
73+
![Block-based Futuristic to Default](https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/block-based-futuristic-to-default.png)
7474

7575
Due to the port-mechanism of semio, types are not inserted but instead linked 🔗
7676

7777
Further they have metadata attached:
7878

79-
![Block-based Futuristic to Default](https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/rhino-default-variant-metrics.png)
79+
![Block-based Futuristic to Default](https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/rhino-default-variant-metrics.png)
8080

8181
#### ⭕GraphQL
8282

83-
If you go to `http://127.0.0.1:5052/graphql/`, you can find all the data that is persisted and query it:
83+
If you go to `http://127.0.0.1:24103/graphql/`, you can find all the data that is persisted and query it:
8484

8585
```graphql
8686
{
@@ -194,15 +194,15 @@ If you go to `http://127.0.0.1:5052/graphql/`, you can find all the data that is
194194

195195
and replace `SOMEPARENTDIRECTORY\\examples\\metabolism` with your actual directory path then you should see this:
196196

197-
![GraphQL Query](https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/graphql-query.png)
197+
![GraphQL Query](https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/graphql-query.png)
198198

199199
#### 💻Integrations
200200

201201
Looking closely at the `types`, you see that `representation` are not (only) linking to files but instead they link `urls`. This enables you to use any storage, collaboration and version environment you like (Speckle, Dropbox, OneDrive, GitHub, Nextcloud, Spline, ...) or all of them together 🕸️
202202

203203
[Here](https://app.speckle.systems/projects/e7de1a2f8f) you can view the models even on your phone 📱
204204

205-
![Speckle Models Overview](https://raw.githubusercontent.com/usalu/semio/r24.10-2/examples/metabolism/docs/speckle-models-overview.png)
205+
![Speckle Models Overview](https://raw.githubusercontent.com/usalu/semio/r24.10-3/examples/metabolism/docs/speckle-models-overview.png)
206206

207207
#### 🤔Curious, how it works?
208208

Binary file not shown.
-13.6 KB
Binary file not shown.

0 commit comments

Comments
 (0)