DataCube

Der DataCube ist unser erstes Haptic Bytes Modell. Er stellt vielleicht die reinste Form digitale Informationen in physischer Form zu enkodieren dar: Man nehme eine digitale Erinnerung, berechne einen Hash derselbigen, und speichere sie in einer dreidimensionalen Matrix von n*n*n Bits.

Unser Code um DataCubes zu generieren ist als Open Source Software verfügbar. Alle können das Modell demnach frei anpassen, ansehen, modifizieren und generell damit Spaß haben.

Du kannst DataCubes ganz einfach direkt hier in deinem Browser ausprobieren! Drücke einfach den [Zufälligen DataCube generieren!]-Button, um DataCubes aus Zufallsdaten zu generieren. Die generierten Cubes können im 3D-Viewer darunter betrachtet, gezoomt und rotiert werden.

Um deinen eigenen, personalisierten DataCube aus einer digitalen Erinnerung zu generieren, wähle zunächst eine Datei von deinem PC (über den Auswahldialog oder per Drag&Drop). Drücke dann den [Generieren!]-Button. Deine Datei wird eingelesen und durch unseren Algorithmus in einen einzigartigen DataCube verwandelt. Der so generierte DataCube wird mit sehr großer Wahrscheinlichkeit in unserer Lebenszeit kein zweites mal exakt so existieren, wenn du den normalen 5x5x5 Cube verwendest: 5x5x5 Bits bedeutet dass der Cube 125 Bit Information enthält; es gibt also 2¹²⁵ (oder grob 4.2535296e+37, oder 42 Sextillionen – eine Zahl mit 38 Stellen) mögliche, verschiedene 5x5x5 Cubes.
Wichtig: Das Alles passiert komplett in deinem Client (also in deinem Webbrowser, auf deinem Computer), ohne dass irgendwelche Informationen über dich oder die Datei(en) aus denen du Cubes generierst an unsere Server (oder sonstige Dritte) übermittelt werden. Wir verwenden außerdem keinerlei Cookies (auch keine sog. Tracking-Cookies) in irgendeiner Form auf dieser gesamten Website.

Die einzige Information, die an unseren Server geht, ist ein winziges Paket mit der alleinigen Information "Es wurde gerade ein neuer DataCube generiert". Wir nutzen das nur, um einen groben Überblick über das Interesse an diesem Projekt zu erhalten. Wir wissen und verfolgen ansonsten rein gar nichts über dich, die Datei(en) die du wählst, was darin enthalten ist, oder was du mit generierten Cubes anstellst.

Schritt 1: Datei auswählen

Schritt 2: Klicken, um einen DataCube zu generieren

Wenn du Zugang zu einem 3D-Drucker hast, kannst du deinen personalisierten DataCube einfach selbst in unsere physikalische Welt holen: Zunächst empfehlen wir stark, Supports mit zu generieren wenn der Cube gedruckt werden soll. Erweitere hierzu die Parameters unter dem 3D-Viewer, und aktiviere die Supports. Klicke dann auf den [Update]-Button unten im Parameters-Panel. Danach kannst du deinen Cube mit dem entsprechenden Button unter dem 3D-Viewer als STL exportieren und drucken.

Eine kurze Anmerkung zu dem großen Cube der links im großen Bild zu sehen ist: Dieser DataCube (teils auch in manchen Szenen des matou makes-Videos über dieses Projekt zu sehen, war ein früher Prototyp, den wir für die 3D-Druck Challenge entworfen haben, die all das hier ursprünglich gestartet hat. Dieser Prototyp musste in mehreren Druckvorgängen gedruckt und dann manuell zusammengebaut werden. Wir dachten uns, dass ein kleineres Modell (so wie oben zu sehen), welches auf einmal gedruckt werden kann, in der Umsetzung für viele Leute einfacher ist.

Welches Material eignet sich zum 3D-Drucken von DataCubes?

Für FDM-Drucke empfehlen wir PLA, weil sich damit gut Brücken (horizontale Abschnitte ohne Support) drucken lassen. Andere Filamente die sich gut zum Druck von Brücken eignen, funktionieren ebenfalls.

Empfohlene Slicer-Einstellungen

PrusaSlicer

Wir empfehlen diesen Slicer zu verwenden, da er in unseren Tests die besten Brücken erzeugt hat. 

Für manche dieser Einstellungen werden die advanced- oder sogar expert-Modi in PrusaSlicer benötigt.
EinstellungWertBeschreibung (englisch)
SupportsNoneWe recommend using the supports that can be optionally generated directly with the model as this will save you some material. Using automatic or manual supports by the slicer should work, too; but it might be difficult to remove.
Layer height (Print Settings -> Layers and perimeters)0.2mm-0.3mmThis has been tested with both 0.2 and 0.3 layer height, which worked great.
Detect thin walls (Print Settings -> Layers and perimeters)YesThis is important for the generated supports to work.
Infill0%The model doesn't really need infill.
BrimAs you likeA brim wasn't required in our tests. But it will help if you are having difficulties keeping the print stuck to the print bed.
Avoid crossing perimeters (Print Settings -> Layers and perimeters)OptionalHowever, enabling this can increase the time for G-code generation __a lot__, especially in older versions of Prusa Slicer. Alternatively, you can also enable _Lift Z_, which also prevents the issue.
Lift Z (Printer Settings -> Extruder)OptionalSometimes it happens that the print head movement breaks one of the thin struts while it travels to a different position. This setting should prevent that.

Cura

EinstellungWertBeschreibung (englisch)
SupportsNonesee description for PrusaSlicer
Layer height0.2mm-0.3mmsee description for PrusaSlicer
Infill0%No infill should be fine.
BrimAs you likeShould work without. Use if the model doesn't stick to the print bed very well.
Print Thin WallsYesImportant if the supports that come with the model are used as they otherwise don't print.
Enable RetractionYesThis goes together with the z hop setting.
Z Hop When RetractedYesTo avoid breaking the thin struts as the print head travels.

Bitte hinterlasse ein issue auf GitHub wenn dir irgendwelche Probleme beim 3D-Drucken generierter DataCubes auffallen.

Credits / License: To support clientside creation of DataCubes, we developed this Haptic Bytes model in OpenJsCad. OpenJsCad is developed by Joost Nieuwenhuijse and is based on initial CSG.js (copyright (c) 2011 Evan Wallace).
Uses lightgl.js by Evan Wallace and Tomi Aarnio for WebGL rendering.
Contributions by Alexandre Girard, Tom Robinson, jboecker, risacher, tedbeer, bebbi, Sahil Shekhawat.
All OpenJsCad code released under MIT license.