Svg Namespace/de

Introduction
In den SVG-Dokumenten, die aus FreeCAD's Zeichnungsmodul exportiert wurden und als Seite Vorlagen (templates) verwendet werden, können verschiedene anwenderspezifische Attribute verwendet werden. Ursprünglich für den internen Gebrauch in FreeCAD, können sie auch durch andere FreeCAD-Applikationen in der Zukunft verwendet werden. All diese Attribute nutzen das freecad: Namensraum-Präfix. Die URL des Namensraumes, die in diesen SVG-Dokumenten vorgegeben ist, bezieht sich auf diese Seite.

Like any XML document an SVG document consist of two sections:
 * Head: just one line to declare which version of the XML language is used for the instructions in the body of this document.
 * Body: a list of instructions. SVG documents enclose all instructions in -tags.
 * The opening tag contains information about the size and the used SVG namespaces.

Default namespace
The default SVG namespace used by FreeCAD is declared with this line:

The external link leads to a web site containing information about the namespace and its set of instructions. Attributes of this namespace are used without prefix.

Namespace extension
Attributes missing from the SVG namespace can be added by namespace extensions. FreeCAD uses such an extension for drawing templates. Templates for the Drawing workbench used four custom attributes which are marked with a "freecad:" prefix:
 * freecad:EditableText, this is still used with templates for the TechDraw workbench.
 * freecad:basepoint1
 * freecad:basepoint2
 * freecad:dimpoint

A namespace declaration is used to introduce the prefix and the link to the related web site, this page:

The link is not used to retrieve information or values at runtime, but it is the key to activate the custom attributes.

Drawing templates
In the SVG documents exported by FreeCAD's Drawing Workbench and used as (Drawing) page templates, the custom attributes can be used, originally for FreeCAD's own internal use, but could also be used by other FreeCAD-aware applications in the future. These attributes all use the freecad: namespace prefix. The namespace URL defined in those SVG documents refers to this page.
 * The Drawing workbench is no longer included in FreeCAD and so these Drawing templates are obsolate now.

TechDraw templates
The TechDraw workbench also uses SVG templates but can not create and export templates. It relies on freecad:EditableText for entries in title blocks.

Migration to freecad.org
Since the FreeCAD wiki, including this page, was migrated from freecadweb.org to freecad.org in version 0.21 the link has to be updated accordingly to:

Updated TechDraw templates now contain a key that can not activate the custom attributes when used with FreeCAD and as a result editable texts of recent templates are not recognised and so handled as plain text.
 * In such cases the "web" has to be manually re-inserted into the namespace declaration of the template.

It seems like can deal with either link address.

Anwendung
1 pixel = 1 mm

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:EditierbarerText
Um freecad: Attribute im SVG-Dokumenten zu nutzen, muss der FreeCAD Namensraum als Attribut des Eröffnungstags definiert werden.

Dies beschreibt einen Text, der in FreeCAD geändert werden kann.

Beispiel:

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

Beispiel:

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

Beispiel: siehe freecad:basepoint1

freecad:dimpoint
Definiert den Punkt eines Entwurf Abmessung Objektes, durch den die Bemaßungslinie läuft. Dieses Attribut wird verwendet, wenn das SVG-Teilstück (Fragment) in FreeCAD importiert wird, um das Objekt 'Dimension' neu zu erzeugen/zu ändern. Die Gruppe enthält Pfade und andere graphische Punkte, um das Objekt Dimensionen in anderen SVG-Anwendungen richtig wiederzugeben.

Beispiel: siehe freecad:basepoint1



Beispiel eines freecad-Codes:EditierbarerText
Diese Beispiel wurde von einer Kartusche auf ein Blatt übertragen A3_Landscape



1 : Titel ohne Textbearbeitung (textedit)




Erklärungen
Beginn der Rahmensumbebung (framework)

Datum (data) in der Rahmensumgebung (framework)

Beginn des Textblockes

Alle Informationen über den Text, der angezeigt wird

Koordiniert und identifiziert den Text, wo dieser angezeigt wird

Hier ist AuthorName die Variable, die durch freecad:editable gemanaged wird und den zu ändernden Text (string) speichert, der angezeigt wird.

Koordiniert und identifiziert den vorgegebenen Text, der angezeigt wird.   ist das Ende des Blockes 'Text'.

Andere Textblöcke und das Ende  der Rahmensumgebung 'Gruppe Textblöcke'.

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

Prüfen, ob der bearbeitete Text geändert wurde

Beispiel:
 * editable = "AuthorName"
 * replace by freecad:editable = "AuthorName"



Andere, verfügbare Attribute
Siehe Zeichnungsvorlagen