Drawing templates/de

SVG-Vorlagenerstellung
Das Anlegen von Vorlagen für den Zeichnungs-Arbeitsbereich ist sehr einfach (siehe auch das Tutorial Drawing_Template_HowTo/de). Vorlagen sind svg-Dateien, die mit jeder Anwendung erstellt werden können, die svg-Dateien exportieren kann, wie z.B. Inkscape. Trotzdem musst Du oftmals später die Datei mit einem Texteditor öffnen, um die folgenden Regeln zu erfüllen. Es geht nur um zwei Regeln:

Basisregeln
width="1067mm" height="762mm" oder width="1067" height = "762" Obwohl svg Inches ("42 in") unterstützt, ist das bei FreeCAD bisher nicht der Fall, so dass es immer besser ist, die svg-Seitengröße in Millimeter anzugeben. Das "viewBox"-Attribut muss den gleichen Wert haben, z.B.: viewBox="0 0 1067 762" Der Text oben (bei dem es sich eigentlich um einen XML-Kommentar handelt) muss auf einer eigenen Zeile stehen und darf nicht Teil eines anderen Textes sein. Achte darauf, dass Inkscape bei erneutem öffnen und speichern die Zeile zwar beibehält, aber andere XML-Elemente in der gleichen Zeile hinzufügt, so dass diese Vorlagen nicht mehr funktioniert. Du musst die Datei daher mit einem Texteditor öffnen und dafür sorgen, dass diese Zeile einzeln steht.
 * Ein Pixel = ein Millimeter. Die Seitengröße kann innerhalb des öffnenden -Tags angegeben werden, entweder ohne Einheit oder mit "mm". Beispielsweise sind diese beiden Formen gültig:
 * Du musst irgendwo innerhalb Deines svg-Codes angeben, wo der Inhalt der Zeichnung auftauchen soll (z.B. am Ende der Datei, direkt vor dem letzten -Tag). Dazu dient die folgende Zeile:

Namensraum
xmlns:freecad="http://www.freecadweb.org/wiki/index.php?title=Svg_Namespace"
 * Verschiedene Objekte (besonders die mit dem Draft_Drawing-Befehl erstellten und wenn Deine Vorlage editierbaren Text enthält) benutzen einen speziellen Namensraum, der spezifisch für FreeCAD ist. Dies erlaubt FreeCAD, diese Elemente in svg-Dateien zu erkennen, die andere Anwendungen einfach ignorieren. Wenn Du beabsichtigst, diese Elemente zu nutzen, musst Du diese Zeile nach dem öffnenden -Tag einfügen, z.B. zusammen mit den anderen xmlns-Zeilen, die durch Inkscape hinzugefügt werden.

Titelblock
Zusätzlich zu diesen Regeln können der Vorlage (seit FreeCAD v0.14) Informationen zu der Umrandung (border) und dem Titelblock hinzugefügt werden, die vom orthographischen Projektionswerkzeug benutzt werden. Diese Information definiert, wo FreeCAD diese Projektionen platzieren kann (und wo nicht).

Um die Umrandung zu definieren, muss die folgende Zeile vor dem -Tag der svg-Datei stehen. wo X1, Y1, X2, Y2 definiert sind als:
 * X1 ist der horizontale Abstand von der linken Kante der Seite zur linken Seite der Umrandung.
 * Y1 ist der vertikale Abstand von der oberen Kante der Seite zur oberen Umrandung.
 * X2 ist der horizontale Abstand von der linken Kante der Seite zur rechten Seite der Umrandung.
 * Y2 ist der vertikale Abstand von der oberen Kante der Seite zur unteren Umrandung.

Um den Titelblock zu definieren, muss die folgende Zeile vor dem -Tag und nach dem "Working space"-Tag der svg-Datei stehen. wo X1a, Y1a, X2a, Y2a definiert sind als:
 * X1a ist der horizontale Abstand von der linken Kante der Seite zur linken Seite des Titelblocks.
 * Y1a ist der vertikale Abstand von der oberen Kante der Seite zur oberen Kante des Titelblocks.
 * X2a ist der horizontale Abstand von der linken Kante der Seite zur rechten Seite des Titelblocks.
 * Y2a ist der vertikale Abstand von der oberen Kante der Seite zur unteren Kante des Titelblocks.
 * X1a <= X1 or X2a >= X2
 * Y1a <= Y1 or Y2a >= Y2

The following is an example of the code that defines the Working space and Title block areas that are to be inserted before the tag. You needn't specify a title block, but if you do it must be defined on the next line immediately following the Working space:

In order to enable up to scale printing, the real word size has to be given in the width and height attributes of the SVG-Tag. The size of the document in user units, (px), has to be given in the viewBox attribute.

The following is to be formatted like the example below where:
 * xxx = pixel width
 * yyy = pixel height


 * Several custom attributes can be placed in templates. The list of currently supported attributes is available on the Svg Namespace page.

DXF templates
Since version 0.15, FreeCAD can reliably export a Drawing page to the DXF format. This system also uses templates. If a dxf file with the same name is found in the same folder as the SVG template used for a page, it will be used for export. If not, a default empty template is created on the fly.

Consequently, if you create your own SVG templates, and wish to be able to export the Drawing pages that you create with it to DXF, you just need to create a corresponding DXF template, and save it with the same name in the same folder.

DXF templates can be created with any application that produces DXF files, such as LibreCAD. You then need to edit them with a text editor, and add two additional lines, one at the beginning or end of the BLOCKS section, and another at the beginning or end of the ENTITIES section, which are where FreeCAD will add its own blocks and entities.

A very simple template looks like this:

999 FreeCAD DXF exporter v0.15 0 SECTION 2 HEADER 9 $ACADVER 1 AC1009 0 ENDSEC 0 SECTION 2 BLOCKS $blocks 0 ENDSEC 0 SECTION 2 ENTITIES $entities 0 ENDSEC 0 EOF

The above template doesn't contain any entity. If you create your DXF file with a CAD application, there will likely be much more content inside the HEADER, BLOCKS and ENTITIES sections.

The two lines that FreeCAD will be looking for are "$blocks" and "$entities". They must exist in the template, and they must be placed on their own line. You can choose to place them right after the BLOCKS or ENTITIES line, which is easier (just use the "search" function of your text editor to find them), or at the end, just before the "0 ENDSEC" lines (beware that there is one for each SECTION, make sure to use the ones relative to BLOCKS and ENTITIES). The latter method will place the FreeCAD objects after the objects defined in the template, which might be more logical.

Other standards available

 * ANSI templates: according to American National Standards Institute ANSI standard
 * Arch templates: according to American National Standards Institute Arch standard
 * Misc templates: mixed templates