Svg Namespace

From FreeCAD Documentation
Revision as of 21:15, 16 January 2014 by Renatorivo (talk | contribs) (Created page with "Voir Drawing templates")

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