Zum Inhalt springen
> 💻 🧠 Code 1001 > Lektion 6. Symbole und visuelles Design

Lektion 6. Symbole und visuelles Design

  • von

Teil 1. Unterstützte Symbolformate
FreeCAD unterstützt:

  • SVG (empfohlen) — skaliert verlustfrei
  • PNG — Rastergrafik, aber einfach zu verwenden

Symbole sollten einfach, kontrastreich und selbst in kleiner Größe (16×16 oder 24×24 Pixel) erkennbar sein.


Teil 2. Ordnerstruktur für Symbole
Erstelle innerhalb des Addon-Ordners einen Unterordner:

BoxBuilderAddon/  
└── Resources/  
    └── icons/  
        ├── box_builder.svg  ← Symbol für die Arbeitsumgebung  
        └── create_box.svg   ← Symbol für den Befehl  

Der Pfad Resources/icons/ ist eine Standardkonvention im FreeCAD-Ökosystem.


Teil 3. Woher Symbole beziehen?

Option 1: Integrierte FreeCAD-Symbole verwenden
FreeCAD enthält Hunderte von Symbolen. Beispiel:

  • :/icons/Part_Box.svg
  • :/icons/Document-new.svg

Es ist jedoch besser, eigene Symbole zu erstellen, um Abhängigkeiten von internen Pfaden zu vermeiden.

Option 2: Ein einfaches Symbol manuell erstellen

Beispiel: create_box.svg

<!-- create_box.svg -->
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
  <rect x="10" y="10" width="44" height="44" fill="none" stroke="black" stroke-width="4"/>
  <line x1="10" y1="10" x2="20" y2="0" stroke="black" stroke-width="4"/>
  <line x1="54" y1="10" x2="64" y2="0" stroke="black" stroke-width="4"/>
  <line x1="54" y1="54" x2="64" y2="44" stroke="black" stroke-width="4"/>
  <line x1="20" y1="0" x2="64" y2="0" stroke="black" stroke-width="4"/>
  <line x1="64" y1="0" x2="64" y2="44" stroke="black" stroke-width="4"/>
</svg>

Speichere diesen Code als create_box.svg im Ordner Resources/icons/.
Du kannst die SVG-Datei in einem Browser öffnen, um das Ergebnis zu sehen.


Teil 4. Symbole im Code verknüpfen

Schritt 1. Aktualisiere box_builder_workbench.py

Füge am Anfang der Datei (nach den Importen) hinzu:

import os

Finde dann die Klasse BoxBuilderCommand und aktualisiere die Methode GetResources:

class BoxBuilderCommand:
    def GetResources(self):
        # Pfad zum Symbol
        icon_path = os.path.join(
            os.path.dirname(__file__), "Resources", "icons", "create_box.svg"
        )
        return {
            "MenuText": "Box Builder",
            "ToolTip": "Create a box with custom dimensions",
            "Pixmap": icon_path  # ← Symbol verknüpfen
        }

Schritt 2. Symbol für die Arbeitsumgebung hinzufügen

Füge in der Klasse BoxBuilderWorkbench die Eigenschaft Icon hinzu:

class BoxBuilderWorkbench(FreeCADGui.Workbench):
    MenuText = "Box Builder"
    ToolTip = "Create custom boxes with GUI"

    def __init__(self):
        # Pfad zum Symbol der Arbeitsumgebung
        self.Icon = os.path.join(
            os.path.dirname(__file__), "Resources", "icons", "box_builder.svg"
        )

    def Initialize(self):
        self.list = ["BoxBuilderCommand"]
        self.appendToolbar("Box Tools", self.list)
        self.appendMenu("Box Builder", self.list)

    def GetClassName(self):
        return "Gui::PythonWorkbench"

Falls du box_builder.svg noch nicht erstellt hast – kopiere einfach create_box.svg und benenne sie um.


Teil 5. Überprüfung

  1. Stelle sicher, dass die Ordnerstruktur korrekt ist:
  • BoxBuilderAddon/Resources/icons/create_box.svg
  • BoxBuilderAddon/Resources/icons/box_builder.svg
  1. Starte FreeCAD neu.
  2. Wähle die „Box Builder“-Arbeitsumgebung aus.

Du solltest Folgendes sehen:

  • Ein Symbol neben dem Namen der Arbeitsumgebung (in der Liste)
  • Ein Symbol auf der Symbolleisten-Schaltfläche

Tipps für Symbole

  • Verwende Schwarz auf transparentem Hintergrund – FreeCAD passt es automatisch an das Theme (hell/dunkel) an.
  • Die SVG-Größe spielt keine Rolle – Hauptsache, es ist eine Vektorgrafik.
  • Für PNG: transparenter Hintergrund und Größe von 64×64 oder 128×128 verwenden.
  • Verwende keine Farben – Symbole in FreeCAD sind üblicherweise monochrom.

Praktische Aufgabe

  1. Erstelle das Symbol box_builder.svg (du kannst create_box.svg kopieren).
  2. Suche online nach einem freien SVG-Box-Symbol (z. B. auf Flaticon oder Material Icons) und passe es an.
  3. Versuche, PNG statt SVG zu verwenden – achte auf transparenten Hintergrund.

Woher fertige Symbole beziehen?

  • Flaticon ↗ – als SVG herunterladen
  • Material Icons ↗ – einfach und übersichtlich
  • Material Design Icons ↗ – Hunderte von Symbolen im .svg-Format
  • Feather Icons ↗
  • FreeCAD-Quellen ↗

Was kommt als Nächstes?
In Lektion 7 werden wir:

  • Lernen, wie man ein Addon über den offiziellen Addon Manager veröffentlicht
  • Eine package.xml-Datei erstellen
  • Ein GitHub-Repository vorbereiten
  • Es anderen Benutzern ermöglichen, dein Addon einfach zu installieren

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert