Svg Namespace
Dans les documents SVG exportés par le Module de dessin de FreeCAD et utilisés comme template (modèle) de page, plusieurs attributs personnalisés peuvent être utilisés, à l'origine pour un usage interne de FreeCAD, mais pourraient aussi être utilisés par d'autres applications FreeCAD à l'avenir. Tous ces attributs utilisent le préfixe freecad:namespaces. L'URL Namespaces, défini dans le document SVG fait référence à cette page.
Utilisation
One pixel = one millimeter.
You must insert, somewhere inside your svg code, where you want the contents of the drawing to appear (for example at the end of the file, just before the last </svg> tag), the following line:
<!-- DrawingContent -->
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:freecad="http://www.freecadweb.org/wiki/index.php?title=Svg_Namespace"
Additional information for Working space and Title block may be added, and is defined on the Drawing templates page.
Attributs
freecad:EditableText
To use any of the freecad: attributes in your SVG documents, you must first define the freecad namespace as an attribute of the opening <svg> tag:
Définit un texte dans un template, qui peut être édité par FreeCAD.
Exemple:
<text freecad:EditableText="MyTitleText">
<tspan>This is a title</tspan>
</text>
freecad:basepoint1
Définit le premier point d'un objet dimension, (représenté par un groupe dans un document SVG). Cet attribut est utilisé, lorsque vous importez le fragment SVG dans FreeCAD, afin de recréer l'objet dimension. Le groupe, contient les chemins d'accès, et, d'autres éléments graphiques, pour restituer correctement l'objet dimension dans d'autres applications SVG.
Exemple:
<g freecad:basepoint1="0.5 4.34" freecad:basepoint2="2.4 5.8" dimpoint="3.2 7.76">
<path d="...">
</g>
freecad:basepoint2
Définit le deuxième point d'un objet dimension (représenté par un groupe dans un document SVG). Cet attribut est utilisé lorsque vous importez le fragment SVG dans FreeCAD, afin de recréer l'objet dimension. Le groupe contient, les chemins d'accès, et, d'autres éléments graphiques pour restituer correctement l'objet dimension, dans d'autres applications SVG.
Exemple: voir freecad:basepoint1
freecad:dimpoint
Définit le point d'un objet dimension, qui traverse la ligne de dimension. Cet attribut est utilisé lorsque vous importez le fragment SVG dans FreeCAD, afin de recréer l'objet dimension. Le groupe contient les chemins d'accès, et, d'autres éléments graphiques pour restituer correctement l'objet dimension dans d'autres applications SVG.
Exemple: voir freecad:basepoint1
Example of code freecad:EditableText
This example is taken from a cartridge to a sheet A3_Landscape
1 : Title without textedit
<g
id="g3587">
<text
sodipodi:linespacing="119.00001%"
id="text3482"
y="229.10912"
x="220.8476"
style="font-size:1.97555566px;font-style:normal;font-weight:normal;line-height:119.00000572%;letter-spacing:0.01975556px;word-spacing:0.00846667px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
xml:space="preserve"><tspan
y="229.10912"
x="220.8476"
id="tspan3484"
sodipodi:role="line">AUTHOR NAME :</tspan></text>
2 : Title with textedit
<g
style="fill:none;stroke:#000000;stroke-width:0.13;stroke-linecap:butt;stroke-linejoin:miter"
id="g578-7"
transform="translate(0,4)">
<text
xml:space="preserve"
style="font-size:4px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans;-inkscape-font-specification:sans"
x="220.9935"
y="228.95425"
id="text3331"
sodipodi:linespacing="125%"
freecad:editable="AuthorName"><tspan
sodipodi:role="line"
id="tspan3333"
x="220.9935"
y="228.95425">AUTHOR NAME</tspan></text>
<text
...
...
...
... </text>
</g>
Explanations
<g
Beginning of the framework
style="fill:none;stroke:#000000;stroke-width:0.13;stroke-linecap:butt;stroke-linejoin:miter"
id="g578-7"
transform="translate(0,4)">
Data on the framework
<text
Beginning of the text block
xml:space="preserve"
style="font-size:4px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans;-inkscape-font-specification:sans"
All the information about the text that will be displayed
x="220.9935"
y="228.95425"
id="text3331"
sodipodi:linespacing="125%"
Coordinates and identity where the text will appear
freecad:editable="AuthorName"><tspan
Here AuthorName is the var managed by freecad:editable who saves the string to change that will be displayed
sodipodi:role="line"
id="tspan3333"
x="220.9935"
y="228.95425">AUTHOR NAME</tspan></text>
Coordinates and identity of the text that is displayed by default and </text> means the end of the block text
<text
...
...
...
... </text>
</g>
Other blocks texts and end </g> the framework grouping text blocks
It is possible after having worked the Inkscape SVG file as the file no longer works, it is possible that information has gone missing.
Then check that the edit text is not modified
Example :
- editable = "AuthorName"
- replace by freecad:editable = "AuthorName"
Other attributes availlables
Voir Drawing templates