Svg Namespace/de

Einleitung
FreeCAD kann SVG-Dokumente importieren und exportieren, die Code enthalten, der zu einem bestimmten Namensraum gehört, der eine Untermenge der XML-Befehle ist.

Wie alle XML-Dokumente enthält auch ein SVG-Dokument zwei Abschnitte:
 * Kopf (Head): eine einzelne Zeile, die angibt, welche Version der Sprache XML für die Befehle im Körper dieses Dokuments verwendet wird.
 * Körper (Body): eine Liste von Befehlen. SVG-Dokumente schließen alle Befehle in -Tags (Markierungen) ein.
 * Der öffnende Tag enthält Informationen über die (Zeichenblatt-) Größe und den verwendeten SVG-Namensraum.



Standard-Namensraum
Der von FreeCAD verwendete Standard-SVG-Namensraum wird mit dieser Zeile angegeben:

Die externe Verknüpfung verweist auf eine Webseite, die Informationen über den Namensraum und den zugehörigen Befehlen enthält. Attribute dieses Namensraumes werden ohne Präfix verwendet.



Namensraum-Erweiterung
Attribute, die dem SVG-Namensraum fehlen, können durch Namensraum-Erweiterungen hinzugefügt werden. FreeCAD verwendet so eine Erweiterung für Zeichnungsvorlagen. Vorlagen für den Arbeitsbereich Drawing verwendeten vier spezielle Attribute, die mit einem Präfix "freecad:" markiert werden:
 * freecad:EditableText, Dieses wird noch immer von Vorlagen für den ArbeitsbereichTechDraw verwendet.
 * freecad:basepoint1
 * freecad:basepoint2
 * freecad:dimpoint

Eine Namensraum-Angabe wird verwendet, um das Präfix einzuführen und auf die zugehörige Webseite, diese Seite, zu verweisen:

Die Verknüpfung wird nicht zum Abrufen von Informationen oder Werten zur Laufzeit verwendet, sondern als ein Schlüssel zum Aktivieren der speziellen Attribute.



Drawing-Vorlagen
In den SVG-Dokumenten, die aus FreeCADs Arbeitsbereich Drawing exportiert wurden und als (Drawing-) Zeichnungs-Vorlagen (templates) eingesetzt werden, können die speziellenAttribute (Attributes) verwendet werden; ursprünglich für den internen Gebrauch in FreeCAD selbst, können sie zukünftig auch durch andere Anwendungen im FreeCAD-Umfeld verwendet werden. Diese Attribute nutzen alle dasNamensraum-Präfix freecad: (Siehe namespace prefix). Die URL des Namensraumes, die in diesen SVG-Dokumenten vorgegeben ist, bezieht sich auf diese Seite.
 * Der Arbeitsbereich Drawing ist nicht länger in FreeCAD enthalten, daher sind diese Drawing-Vorlagen jetzt veraltet.



TechDraw-Vorlagen
Der Arbeitsbereich TechDraw verwendet auch SVG-Vorlagen, kann diese aber keine Vorlagen erstellen und exportieren. Er benötigt das Attribut freecad:EditableText für Eingaben in Schriftfeldern.



Umzug nach freecad.org
Seit das FreeCAD-Wiki, inklusive dieser Seite, in der Version 0.21 von freecadweb.org nach freecad.org umgezogen ist, muss die Verknüpfung entsprechend angepasst werden zu:

Aktualisierte TechDraw-Vorlagen enthalten jetzt einen Schlüssel, der die speziellen Attribute nicht aktivieren kann, wenn sie mit FreeCAD verwendet werden; als Ergebnis werden die editierbaren Texte der aktuellen Vorlagen nicht erkannt und daher als einfache Texte behandelt.
 * In solchen Fällen muss "web" von Hand wieder in die Namensraum-Angabe der Vorlage eingefügt werden.

Es scheint so, als könne die mit beiden verknüpften Adressen umgehen.

Anwendung
Ein Pixel = ein Millimeter.

An irgendeiner Stelle im SVG-Code muss angegeben werden, wo sich die Inhalte der Zeichnung befinden sollen, z.B. am Ende der Datei, direkt vor dem letzten   tag. Die folgende Zeile:

Um das Bedrucken der Skalen zu ermöglichen, muss die tatsächliche Wortgröße in den Attributen 'Breite' und 'Höhe' des SVG-Tags angegeben werden. Die Größe des Dokumentes in Benutzereinheiten (px) muss im viewBox-Attribut angegeben werden.

Das Folgende muss wie im nachfolgenden Beispiel formattiert werden:
 * xxx = Pixel-Breite
 * yyy = Pixel-Höhe

Zusätzliche Informationen zum Arbeitsbereich (Working space) und dem Titelblock können eingefügt werden und werden auf der Seite Zeichnungsvorlagen vorgegeben.

freecad:EditableText
Um freecad:-Attribute im SVG-Dokumenten zu nutzen, muss der FreeCAD-Namensraum als Attribut des öffnenden -Tags definiert werden.

Dieses beschreibt einen Text in einer Vorlage, der mit FreeCAD bearbeitet werden kann.

Beispiel:

freecad:basepoint1 (Basispunkt 1)
Legt den ersten Basispunkt eines Draft Maßes (Dimension-Objekt) fest (in einem SVG-Dokument als Gruppe dargestellt). Dieses Attribut wird verwendet, wenn das SVG-Teilstück (Fragment) in FreeCAD importiert wird, um das 'Dimension'-Objekt neu zu erzeugen/zu ändern. Die Gruppe enthält Pfade und andere graphische Elemente, um das Maß (Dimension-Objekt) in anderen SVG-Anwendungen richtig wiederzugeben.

Beispiel:

freecad:basepoint2 (Basispunkt 2)
Legt den zweiten Basispunkt des Draft Maßes (Dimension-Objekt) fest (in einem SVG-Dokument als Gruppe dargestellt). Dieses Attribut wird verwendet, wenn das SVG-Teilstück (Fragment) in FreeCAD importiert wird, um das 'Dimension'-Objekt neu zu erzeugen / zu ändern. Die Gruppe enthält Pfade und andere graphische Elemente, um das Maß (Dimension-Objekt) in anderen SVG-Anwendungen richtig wiederzugeben.

Beispiel: siehe freecad:basepoint1

freecad:dimpoint
Legt den Punkt eines Draft Maßes (Dimension-Objekt) fest, durch den die Maßlinie läuft. Dieses Attribut wird verwendet, wenn das SVG-Teilstück (Fragment) in FreeCAD importiert wird, um das 'Dimension'-Objekt neu zu erzeugen/zu ändern. Die Gruppe enthält Pfade und andere graphische Elemente, um das Maß (Dimension-Objekt) in anderen SVG-Anwendungen richtig wiederzugeben.

Beispiel: siehe freecad:basepoint1



Code-Beispiel für freecad:EditableText
Diese Beispiel zeigt Schriftfeldeinträge auf einem Zeichnungsblatt im Format A3_Landscape



1 : Feldüberschrift, nicht änderbar (Title without textedit)




Erklärungen
Beginn der Gruppierung

Zur Gruppierung gehörige Daten

Beginn des Textblockes

Alle Informationen über den Text, der angezeigt wird (Textattribute)

Koordinaten des Textes (wo dieser angezeigt wird) und eine Benennung (ID)

Hier ist AuthorName die Variable, die durch freecad:editable verwaltet wird und die bearbeitbare Zeichenkette (string) speichert, die angezeigt wird.

Koordinaten und Benennung (ID) des Textes, der als Vorgabe angezeigt wird.   schließt den text-Block.

Weitere text-Blöcke und das End-Tag  der Gruppierung der text-Blöcke.

Es ist möglich, dass nach dem Bearbeiten der Inkscape-SVG-Datei die Datei nicht mehr funktioniert. Möglicherweise sind Informationen verlorengegangen.

Dann muss geprüft werden, ob der bearbeitbare Text geändert wurde.

Beispiel:
 * editable = "AuthorName"
 * wird ersetzt durch freecad:editable = "AuthorName"



Andere, verfügbare Attribute
Siehe Drawing Vorlagen