318 views
###### tags: `obs` `3d` # HOWTO: Ein eigenes Logo auf dem OpenBikeSensor-Gehäuse ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b02b.png) ## Einleitung Dieses HOWTO beschreibt, wie wir unser Gehäuse customizen, d.h. mit einem eigenen Logo versehen. Es wird **Ubuntu 22.04** verwendet. Die 3D-Modelle werden in diesem HOWTO mit dem **Ultimaker Cura** verarbeitet. I.d.R. lassen wir das OpenBikeSensor-Logo auf dem MainCase und wir packen das eigene Logo auf den Gehäusedeckel (MainCaseLid). Wir generieren in diesem HOWTO beide Varianten. Der Generator muss derzeit noch selbst kompiliert und gestartet werden, da wir den Customizer noch nicht als Service anbieten. Alternativ kann gerne dieser Customizer-Service verwendet werden: * https://obs-customizer.dennis-boldt.de **Hinweis**: Free to use, keine Datenschutzerklärung vorhanden, keine Garantien, usw. ## Voraussetzung * Software: * git: * `sudo apt install git` * [docker](https://docs.docker.com/engine/install/ubuntu/): ``` sudo apt-get install ca-certificates curl gnupg lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin sudo docker run hello-world sudo groupadd docker sudo usermod -aG docker $USER >> logout/login docker run hello-world >> Hello from Docker! ``` * Inkscape * Als Snap: `sudo snap install --classic inkscape` * als AppImage: https://inkscape.org/de/release/all/gnulinux/appimage/ * Cura: * Als Snap: `sudo snap install --classic cura-slicer` oder * als AppImage: https://github.com/Ultimaker/Cura/releases * Ein Logo im SVG-Format, z.B. das [ADFC-Logo](https://upload.wikimedia.org/wikipedia/commons/a/a4/ADFC-Logo_2009_1.svg) * Das Logo sollte nicht zu fein sein, da es ggf. nicht gedruckt werden kann ## Installation des Customizers Der [**Customizer**](https://github.com/openbikesensor/OpenBikeSensor3dPrintableCase#customizer-webservice) wird wie folgt installiert und gestartet: ```bash # Das Projekt clonen. # Das --recursive ist sehr wichtig git clone --recursive https://github.com/openbikesensor/OpenBikeSensor3dPrintableCase.git # In das Verzeichnis wechseln cd OpenBikeSensor3dPrintableCase # Das Customizer Docker-Image bauen (dies kann, je nach System, einige Minuten dauern) docker build . -t customizer # Einen Docker-Container mit Hilfe des zuvor erstellten Docker-Images starten docker run --rm -p 8001:80 customizer ``` Nun sollte der **Customizer** im Browser unter http://localhost:8001 zu finden sein. ## OpenBikeSensor-Logo Das OpenBikeSensor-Logo ist im Customizer standardmäßig hinterlegt und kann direkt verwendet werden. ### Testen des Customizers Zunächst sollten wir den Customizer testen. Dazu wählen wir in der `parts_list` alle Teile aus, welche mit `logo/OpenBikeSensor/MainCase` beginnen: ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b001.png) Wir klicken unten auf **Submit** und nach einigen Minuten, es kann durchaus 10min dauen, sollte der Customizer die MainCases und MainCase-Lids (Deckel) mit dem OpenBikeSensor-Logo generiert haben. Die generierten Dateien können dann ZIP heruntergeladen werden: ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b002.png) Wenn wir die ZIP entpacken, dann sollten wir die Gehäuse und Deckel mit dem OpenBikeSensor-Logo sehen: ``` $ unzip bda94bda-10e3-40c9-a625-4ff9c6289f02.zip Archive: bda94bda-10e3-40c9-a625-4ff9c6289f02.zip inflating: OpenBikeSensor_customized/logo/OpenBikeSensor/MainCase-normal-highlight.stl inflating: OpenBikeSensor_customized/logo/OpenBikeSensor/MainCaseLid-normal-highlight.stl inflating: OpenBikeSensor_customized/logo/OpenBikeSensor/MainCase-inverted-highlight.stl inflating: OpenBikeSensor_customized/logo/OpenBikeSensor/MainCase-inverted-main.stl inflating: OpenBikeSensor_customized/logo/OpenBikeSensor/MainCase-normal-main.stl inflating: OpenBikeSensor_customized/logo/OpenBikeSensor/MainCaseLid-normal-main.stl inflating: OpenBikeSensor_customized/logo/OpenBikeSensor/MainCaseLid-inverted-highlight.stl inflating: OpenBikeSensor_customized/logo/OpenBikeSensor/MainCaseLid-inverted-main.stl inflating: OpenBikeSensor_customized/MainCase/MainCase.stl inflating: OpenBikeSensor_customized/MainCase/MainCaseLid.stl ``` Wie zu sehen, wurden 8 Case-Dateien mit dem OpenBikeSensor-Logo und zwei Standard-Cases ohne Logo generiert. [Was die verschiedenen Varianten bedeuten, ist hier beschrieben](https://www.openbikesensor.org/docs/hardware/general/case/color-prints/#logo-dateien). ### Testen des OpenBikeSensor-Gehäuses in Cura Wir importieren beide MainCaseLid-normal Dateien: * `OpenBikeSensor_customized/logo/OpenBikeSensor/MainCaseLid-normal-main.stl` * Extruder 1 * `OpenBikeSensor_customized/logo/OpenBikeSensor/MainCase-normal-highlight.stl` * Extruder 2 ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b016.png) Die Dateien liegen noch nicht ineinander. Dies erreichen wir, indem wir beide Modelle markieren (Strg A) und über einen Rechtklick **Merge Models** ausführen: ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b005.png) Wir erkennen, dass beide Modelle nun perfekt ineinander gelegt wurden. **Hinweis**: Zur besseren Unterscheidbarkeit wurden zwei verschiedene Filamente (PLA und PETG) gewählt. Am Ende drucken wir beide Farben mit PETG. Wenn wir nun slicen, dann kann das Ergebnis wie folgt aussehen (Color scheme: Material Color): ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b008.png) ## Beispiel 1: ADFC-Logo ### Vorbereitung des ADFC-Logos in Inkscape Das SVG-Logo herunterladen: * https://upload.wikimedia.org/wikipedia/commons/a/a4/ADFC-Logo_2009_1.svg Logo öffnen und alles markieren: ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b00a.png) Rechtsklick -> Gruppierung aufheben ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b00b.png) Wir entfernen noch den Schrifzug, da dieser zu klein zum Drucken ist ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b00c.png) Wir verschieben den ADFC-Schriftug noch etwas nach unten. Zum Schluss müssen wir sicherstellen, dass ein "Shaped Path" ist. Alles markieren, *Path -> Objekt in Pfad umwandeln*. ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b00e.png) Zum Schluss machen wir ein Logo draus: * Alles markieren * Pfad -> Objekt in Pfad umwandeln * Pfad -> Kontur in Pfad umwandeln * Pfad -> Kombinieren! ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b021.png) Dann öffnen wir zusätzlich noch die beiden folgenden Dateien in InkScape: * `OpenBikeSensor3dPrintableCase/logo/template/MainCase.svg` * `OpenBikeSensor3dPrintableCase/logo/template/MainCaseLid.svg` Nun kopieren wir das Logo (Strg+A und Strg+C) in die `MainCase.svg`: ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b022.png) Solange das Logo markiert ist, können wir es positionieren und mit gedrücker Strg-Taste skalieren. Das Ergebnis kann wie folgt aussehen: ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b023.png) Anschließend entfernen wir noch den grauen Hintergrund und speichern die Datei ab (unter einem neuen Namen). ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b024.png) Nun kopieren wie das Logo von unserem MainCase in die `MainCaseLid.svg`, damit es auf dem Deckel exakt die gleiche größe hat, positionieren es, entfernen auch hier den Hintergrund und speichern es ab unter einem neuen Namen. ### ADFC-Logo im Customizer verwenden Wir wählen nun die beiden Dateien im Cutomizer aus: * `main_case_logo_svg` -> `MainCase.svg` * `main_case_lid_logo_svg` -> `MainCaseLid.svg` Anschließend wählen wir in der `parts_list` alle Dateien, welche mit `logo/CustomLogo/MainCase` starten. **Achtung**: Den Haken bei `use_custom_logo` nicht vergessen! ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b012.png) Anschließend klicken wir auf **Submit** und generieren nun die Gehäuse mit dem ADFC-Logo. Dies kann wieder einige Minuten dauern. Die ZIP beinhaltet nun wie zuvor die Gehäuse, dieses Mal aber mit ADFC-Logo: ```bash $ unzip c41e05c3-1d69-4287-88f8-d375e10664ef.zip Archive: c41e05c3-1d69-4287-88f8-d375e10664ef.zip inflating: OpenBikeSensor_customized/logo/CustomLogo/MainCase-normal-highlight.stl inflating: OpenBikeSensor_customized/logo/CustomLogo/MainCaseLid-normal-highlight.stl inflating: OpenBikeSensor_customized/logo/CustomLogo/MainCase-inverted-highlight.stl inflating: OpenBikeSensor_customized/logo/CustomLogo/MainCase-inverted-main.stl inflating: OpenBikeSensor_customized/logo/CustomLogo/MainCase-normal-main.stl inflating: OpenBikeSensor_customized/logo/CustomLogo/MainCaseLid-normal-main.stl inflating: OpenBikeSensor_customized/logo/CustomLogo/MainCaseLid-inverted-highlight.stl inflating: OpenBikeSensor_customized/logo/CustomLogo/MainCaseLid-inverted-main.stl inflating: OpenBikeSensor_customized/MainCase/MainCase.stl inflating: OpenBikeSensor_customized/MainCase/MainCaseLid.stl ``` ### Testen des ADFC-Gehäuses in Cura Wir Importieren nun die beiden folgenden Dateien in Cura: * `OpenBikeSensor_customized/logo/CustomLogo/MainCaseLid-normal-main.stl` * Extruder 1 * `OpenBikeSensor_customized/logo/CustomLogo/MainCaseLid-normal-highlight.stl` * Extruder 2 Wir mergen wieder die beiden Modelle und klicken anschließend auf Slicen. Dann sehen wir das ADFC-Logo (Color Scheme: Material Color): ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b013.png) Nun können wir das Gehäuse mit dem ADFC-Logo zweifarbig drucken. ## Beispiel 2: Logo des Lübecker Chaotikums Dieses Logo produziert beim Generieren einen Fehler, sodass dieses Logo hier auch nochmal als Beispiel gezeigt wird. ### Vorbereitung des Chaotikum-Logos in Inkscape Das Logo herunterladen: * https://git.chaotikum.org/chaotikum/logo/-/raw/master/chaotikumlogo.svg Das Logo öffnen: ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b018.png) Alles markieren: ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b019.png) Rechtsklick -> Gruppierung aufheben: ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b01a.png) Wir sehen, dass das Logo nun in seine Einzelteile zerlegt wurde. Nun entfernen wir noch den Schriftzug "haotikum", und markieren wieder alles: ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b01b.png) Wir erkennen, dass das Logo noch einen Hintergrund hat. Diesen entfernen wir nun, damit nur noch das Logo übrig bleibt, was wir erneut durch alles markieren sehen: ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b01c.png) Zum Schluss machen wir ein Logo draus: * Alles markieren * Pfad -> Objekt in Pfad umwandeln * Pfad -> Kontur in Pfad umwandeln * Pfad -> Kombinieren! [](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b01d.png) Dann öffnen wir zusätzlich noch die beiden folgenden Dateien in InkScape: * `OpenBikeSensor3dPrintableCase/logo/template/MainCase.svg` * `OpenBikeSensor3dPrintableCase/logo/template/MainCaseLid.svg` Nun kopieren wir das Logo (Strg+A und Strg+C) in die `MainCase.svg`: ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b01e.png) Solange das Logo markiert ist, können wir es positionieren und mit gedrücker Strg-Taste skalieren. Das Ergebnis kann wie folgt aussehen: ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b01f.png) Anschließend entfernen wir noch den grauen Hintergrund und speichern die Datei ab (unter einem neuen Namen). ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b020.png) Nun kopieren wie das Logo von unserem MainCase in die `MainCaseLid.svg`, damit es auf dem Deckel exakt die gleiche größe hat, positionieren es, entfernen auch hier den Hintergrund und speichern es ab unter einem neuen Namen. ### Chaotikum-Logo im Customizer verwenden * Siehe Abschnitt ***ADFC-Logo im Customizer verwenden*** Es kommt beim Generieren mit dem Logo zu dem folgenden Fehler: > ERROR: The given mesh is not closed! Unable to convert to CGAL_Nef_Polyhedron. ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b025.png) In diesem Fall setzen wir im Customizer noch den Haken bei `fix_svg`: ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b026.png) Und führen den Generator erneut aus. Dieses mal war er Erfolgreich: ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b028.png) ### Testen des Chaotikum-Gehäuses in Cura Wir Importieren nun die beiden folgenden Dateien in Cura: * `OpenBikeSensor_customized/logo/CustomLogo/MainCaseLid-normal-main.stl` * Extruder 1 * `OpenBikeSensor_customized/logo/CustomLogo/MainCaseLid-normal-highlight.stl` * Extruder 2 Wir mergen wieder die beiden Modelle und klicken anschließend auf Slicen. Dann sehen wir das Chaotikum-Logo (Color Scheme: Material Color): ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b029.png) Nun können wir das Gehäuse mit dem Chaotikum-Logo zweifarbig drucken. ## Troubleshooting ### ERROR: The given mesh is not closed! Unable to convert to CGAL_Nef_Polyhedron. In diesem Fall setzen wir im Customizer noch den Haken bei `fix_svg` und den Generator erneut anwerfen. ![](https://md.dennis-boldt.de/uploads/94eee249f74dc2ebce6e0b026.png)