Svg Namespace

From FreeCAD Documentation
Revision as of 18:38, 18 January 2014 by Mario52 (talk | contribs)

Dans les documents SVG exportés par le Module de dessin de FreeCAD et utilisés comme template (feuille de dessin), plusieurs attributs personnalisés peuvent être utilisés, à l'origine pour un usage interne desstiné à 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

un pixel = un millimètre

Vous devez insérer, quelque part dans votre code svg, où vous souhaitez que le contenu du dessin apparaisse (par exemple à la fin du fichier, juste avant la derniere balise </svg> ), la ligne suivante :

<!-- DrawingContent -->


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
   xmlns:freecad="http://www.freecadweb.org/wiki/index.php?title=Svg_Namespace"

Des informations supplémentaires pour travailler dans l'espace et le cartouche peuvent être ajoutées et sont définis sur la page Drawing templates.

Attributs

freecad:EditableText

Vous devez utiliser de l'attribut freecad: dans vos documents SVG, vous devez d'abord définir l'espace de noms freecad comme un attribut à l'ouverture de la balise <svg> :

Définir 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