Svg Namespace/fr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Created page with "Il semble que {{VersionPlus/fr|0.21}} puisse traiter l'une ou l'autre adresse de lien.")
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>


{{VeryImportantMessage|Le développement de l'[[Drawing Workbench/fr|atelier Drawing]] s'est arrêté, et un nouvel atelier [[TechDraw_Workbench/fr|Techdraw]] visant à le remplacer, a été introduit dans la version 0.17. Les deux ateliers ont été livrés de la v0.17 à la v0.20, mais depuis la v0.21, l'atelier Drawing n'est plus inclus.}}
<div class="mw-translate-fuzzy">
{{Message|Actuellement, l'atelier TechDraw utilise toujours l'attribut '''freecad:EditableText''' et la déclaration d'espace de noms correspondante dans ses modèles aujourd'hui.}}
{{VeryImportantMessage|Le développement de l'[[Drawing Workbench/fr|atelier Drawing]] s'est arrêté, et un nouvel atelier [[TechDraw_Workbench/fr|Techdraw]] visant à le remplacer sera introduit dans la version 0.17. Les deux ateliers seront fournis dans la version v0.17, mais l'atelier Mise en plan peut être supprimé dans les versions ultérieures.}}
</div>


{{TOCright}}
{{TOCright}}
Line 9: Line 8:
==Introduction==
==Introduction==


FreeCAD peut importer et exporter des documents [https://fr.wikipedia.org/wiki/Scalable_Vector_Graphics SVG] contenant du code appartenant à un certain '''espace de noms''' qui est un sous-ensemble d'instructions XML.
<div class="mw-translate-fuzzy">
Dans les documents [https://fr.wikipedia.org/wiki/Scalable_Vector_Graphics SVG] exportés par l'[[Drawing_Workbench/fr|atelier Drawing]] de FreeCAD et utilisés comme des pages [[Drawing_templates|modèles]], plusieurs [http://www.w3schools.com/xml/xml_attributes.asp attributs] personnalisés peuvent être utilisés, à l'origine pour l'usage interne de FreeCAD, mais pourraient également être utilisés par d'autres applications compatibles avec FreeCAD dans le futur. Ces attributs utilisent tous le préfixe '''freecad:''' [http://www.w3schools.com/xml/xml_namespaces.asp namespace]. L'URL de l'espace de nom défini dans ces documents SVG fait référence à cette page.
</div>


Like any XML document an SVG document consist of two sections:
Comme tout document XML, un document SVG se compose de deux sections :
* Head: just one line to declare which version of the XML language is used for the instructions in the body of this document.
* L'en-tête : une seule ligne pour déclarer la version du langage XML utilisée pour les instructions dans le corps de ce document.
* Body: a list of instructions. SVG documents enclose all instructions in <svg>-tags.
* Le corps : une liste d'instructions. Les documents SVG contiennent toutes les instructions dans des balises <svg>.
: La balise d'ouverture contient des informations sur la taille et les espaces de noms SVG utilisés.
: The opening tag contains information about the size and the used SVG namespaces.


<span id="Default_namespace"></span>
==Default namespace==
==Espace de noms par défaut===


The default SVG namespace used by FreeCAD is declared with this line:
L'espace de noms SVG par défaut utilisé par FreeCAD est déclaré par cette ligne :


{{Code|lang=xml|code=
{{Code|lang=xml|code=
Line 26: Line 24:
}}
}}


Le lien externe mène à un site web contenant des informations sur l'espace de noms et son ensemble d'instructions. Les attributs de cet espace de noms sont utilisés sans préfixe.
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.


<span id="Namespace_extension"></span>
==Namespace extension==
==Extension de l'espace de noms==


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:
Les attributs manquants dans l'espace de noms SVG peuvent être ajoutés par des extensions d'espace de noms. FreeCAD utilise une telle extension pour les modèles de dessin. Les modèles pour l'atelier Drawing utilisent quatre attributs personnalisés qui sont marqués d'un préfixe "freecad:" :
* [[#freecad:EditableText|freecad:EditableText]], this is still used with templates for the TechDraw workbench.
* [[#freecad:EditableText|freecad:EditableText]], cet attribut est toujours utilisé pour les modèles de l'atelier TechDraw.
* [[#freecad:basepoint1|freecad:basepoint1]]
* [[#freecad:basepoint1|freecad:basepoint1]]
* [[#freecad:basepoint2|freecad:basepoint2]]
* [[#freecad:basepoint2|freecad:basepoint2]]
* [[#freecad:dimpoint|freecad:dimpoint]]
* [[#freecad:dimpoint|freecad:dimpoint]]


A namespace declaration is used to introduce the prefix and the link to the related web site, '''this page''':
Une déclaration d'espace de noms est utilisée pour introduire le préfixe et le lien vers le site web correspondant, '''cette page''' :


{{Code|lang=xml|code=
{{Code|lang=xml|code=
Line 42: Line 41:
}}
}}


Le lien n'est pas utilisé pour récupérer des informations ou des valeurs au moment de l'exécution, mais c'est la clé qui permet d'activer les attributs personnalisés.
The link is not used to retrieve information or values at runtime, but it is the key to activate the custom attributes.


<span id="Drawing_templates"></span>
===Drawing templates===
===Modèles de Drawing===


In the [http://en.wikipedia.org/wiki/Scalable_Vector_Graphics SVG] documents exported by FreeCAD's [[Drawing_Workbench|Drawing Workbench]] and used as (Drawing) page [[Drawing_templates|templates]], the custom [http://www.w3schools.com/xml/xml_attributes.asp 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:''' [http://www.w3schools.com/xml/xml_namespaces.asp namespace] prefix. The namespace URL defined in those SVG documents refers to this page.
Dans les documents [https://fr.wikipedia.org/wiki/Scalable_Vector_Graphics SVG] exportés par l'[[Drawing_Workbench/fr|atelier Drawing]] de FreeCAD et utilisés comme des [[Drawing_templates/fr|modèles]] de pages (de dessin), les [http://www.w3schools.com/xml/xml_attributes.asp attributs] personnalisés peuvent être utilisés, à l'origine pour l'usage interne de FreeCAD, mais ils pourraient également être utilisés par d'autres applications compatibles avec FreeCAD à l'avenir. Ces attributs utilisent tous le préfixe d'[http://www.w3schools.com/xml/xml_namespaces.asp espace de nom] '''freecad:'''. L'URL de l'espace de noms définie dans ces documents SVG renvoie à cette page.
: The Drawing workbench is no longer included in FreeCAD {{VersionPlus|0.21}} and so these Drawing templates are obsolate now.
: L'atelier Drawing n'est plus inclus dans FreeCAD {{VersionPlus/fr|0.21}} et ces modèles de Drawing sont donc obsolètes.


<span id="TechDraw_templates"></span>
===TechDraw templates===
===Modèles de TechDraw===


The TechDraw workbench also uses SVG templates but can not create and export templates. It relies on [[#freecad:EditableText|freecad:EditableText]] for entries in title blocks.
L'atelier TechDraw utilise également des modèles SVG mais ne peut pas créer et exporter des modèles. Il s'appuie sur [[#freecad:EditableText|freecad:EditableText]] pour les entrées dans les blocs de titre.


<span id="Migration_to_freecad.org"></span>
===Migration to freecad.org===
===Migrer vers 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:
Depuis que le wiki de FreeCAD, y compris '''cette page''', a été migré de '''freecadweb.org''' à '''freecad.org''' avec la version 0.21, le lien doit être mis à jour en conséquence :


{{Code|lang=xml|code=
{{Code|lang=xml|code=
Line 61: Line 63:
}}
}}


Updated TechDraw templates now contain a key that can not activate the custom attributes when used with FreeCAD {{VersionMinus|0.20}} and as a result editable texts of recent templates are not recognised and so handled as plain text.
Les mises à jour des modèles TechDraw contiennent maintenant une clé qui ne peut pas activer les attributs personnalisés lorsqu'ils sont utilisés avec FreeCAD {{VersionMinus/fr|0.20}} par conséquent, les textes éditables des modèles récents ne sont pas reconnus et sont donc traités comme du texte brut.
: Dans de tels cas, le "web" doit être réinséré manuellement dans la déclaration de l'espace de noms du modèle.
: In such cases the "web" has to be manually re-inserted into the namespace declaration of the template.


It seems like {{VersionPlus|0.21}} can deal with either link address.
Il semble que {{VersionPlus/fr|0.21}} puisse traiter l'une ou l'autre adresse de lien.


<span id="Usage"></span>
<span id="Usage"></span>

Latest revision as of 19:42, 30 August 2023

Le développement de l'atelier Drawing s'est arrêté, et un nouvel atelier Techdraw visant à le remplacer, a été introduit dans la version 0.17. Les deux ateliers ont été livrés de la v0.17 à la v0.20, mais depuis la v0.21, l'atelier Drawing n'est plus inclus.
Actuellement, l'atelier TechDraw utilise toujours l'attribut freecad:EditableText et la déclaration d'espace de noms correspondante dans ses modèles aujourd'hui.


Introduction

FreeCAD peut importer et exporter des documents SVG contenant du code appartenant à un certain espace de noms qui est un sous-ensemble d'instructions XML.

Comme tout document XML, un document SVG se compose de deux sections :

  • L'en-tête : une seule ligne pour déclarer la version du langage XML utilisée pour les instructions dans le corps de ce document.
  • Le corps : une liste d'instructions. Les documents SVG contiennent toutes les instructions dans des balises <svg>.
La balise d'ouverture contient des informations sur la taille et les espaces de noms SVG utilisés.

Espace de noms par défaut=

L'espace de noms SVG par défaut utilisé par FreeCAD est déclaré par cette ligne :

xmlns="http://www.w3.org/2000/svg" version="1.1"

Le lien externe mène à un site web contenant des informations sur l'espace de noms et son ensemble d'instructions. Les attributs de cet espace de noms sont utilisés sans préfixe.

Extension de l'espace de noms

Les attributs manquants dans l'espace de noms SVG peuvent être ajoutés par des extensions d'espace de noms. FreeCAD utilise une telle extension pour les modèles de dessin. Les modèles pour l'atelier Drawing utilisent quatre attributs personnalisés qui sont marqués d'un préfixe "freecad:" :

Une déclaration d'espace de noms est utilisée pour introduire le préfixe et le lien vers le site web correspondant, cette page :

xmlns:freecad="http://www.freecadweb.org/wiki/index.php?title=Svg_Namespace"

Le lien n'est pas utilisé pour récupérer des informations ou des valeurs au moment de l'exécution, mais c'est la clé qui permet d'activer les attributs personnalisés.

Modèles de Drawing

Dans les documents SVG exportés par l'atelier Drawing de FreeCAD et utilisés comme des modèles de pages (de dessin), les attributs personnalisés peuvent être utilisés, à l'origine pour l'usage interne de FreeCAD, mais ils pourraient également être utilisés par d'autres applications compatibles avec FreeCAD à l'avenir. Ces attributs utilisent tous le préfixe d'espace de nom freecad:. L'URL de l'espace de noms définie dans ces documents SVG renvoie à cette page.

L'atelier Drawing n'est plus inclus dans FreeCAD version 0.21 et suivantes et ces modèles de Drawing sont donc obsolètes.

Modèles de TechDraw

L'atelier TechDraw utilise également des modèles SVG mais ne peut pas créer et exporter des modèles. Il s'appuie sur freecad:EditableText pour les entrées dans les blocs de titre.

Migrer vers freecad.org

Depuis que le wiki de FreeCAD, y compris cette page, a été migré de freecadweb.org à freecad.org avec la version 0.21, le lien doit être mis à jour en conséquence :

xmlns:freecad="http://www.freecad.org/wiki/index.php?title=Svg_Namespace"

Les mises à jour des modèles TechDraw contiennent maintenant une clé qui ne peut pas activer les attributs personnalisés lorsqu'ils sont utilisés avec FreeCAD version 0.20 et précédentes par conséquent, les textes éditables des modèles récents ne sont pas reconnus et sont donc traités comme du texte brut.

Dans de tels cas, le "web" doit être réinséré manuellement dans la déclaration de l'espace de noms du modèle.

Il semble que version 0.21 et suivantes puisse traiter l'une ou l'autre adresse de lien.

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"

Pour obtenir une impression à l'échelle, la taille réelle doit être inscrite dans les attributs width et height du SVG-Tag. L'unité du document utilisateur doit être le pixel(px), et doit être renseigné dans l'attribut viewBox.

Ce qui suit doit être formaté comme dans l'exemple ci-dessous :

  • xxx = pixel width (largeur)
  • yyy = pixel height (hauteur)
width="xxxmm"
height="yyymm"
viewBox="0 0 xxx yyy"

Les informations complémentaires pour l'espace de travail et le bloc du titre peuvent être ajoutées et sont définies sur la page Drawing Modèles.

Attributs

freecad:EditableText

Pour utiliser l'un des attributs freecad: dans vos documents SVG, vous devez d'abord définir l'espace de nom freecad comme un attribut de la balise d'ouverture <svg> :

Définit un texte dans un modèle 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 Draft Dimension (représenté comme un groupe dans un document SVG). Cet attribut est utilisé lors de l'importation du fragment SVG dans FreeCAD, afin de recréer l'objet dimension. Le groupe contient des chemins et d'autres éléments graphiques pour rendre correctement l'objet de 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 Draft Dimension (représenté comme un groupe dans un document SVG). Cet attribut est utilisé lors de l'importation du fragment SVG dans FreeCAD, afin de recréer l'objet dimension. Le groupe contient des chemins et d'autres éléments graphiques pour rendre correctement l'objet de dimension dans d'autres applications SVG.

Exemple: voir freecad:basepoint1

freecad:dimpoint

Définit le point d'un objet Draft Dimension par lequel passe la ligne de cote. Cet attribut est utilisé lors de l'importation du fragment SVG dans FreeCAD, afin de recréer l'objet dimension. Le groupe contient des chemins et d'autres éléments graphiques pour rendre correctement l'objet de dimension dans d'autres applications SVG.

Exemple: voir freecad:basepoint1

Exemple de code freecad:EditableText

Cet exemple provient du cartouche de la feuille A3 Paysage

1 : Titre sans 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 : Titre avec 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>

Explications

  <g

Début du cadre

     style="fill:none;stroke:#000000;stroke-width:0.13;stroke-linecap:butt;stroke-linejoin:miter"
     id="g578-7"
     transform="translate(0,4)">

Données dans le cadre

    <text

Début du bloc de textes

       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"

Toutes les informations sur le texte qui va être affiché

       x="220.9935"
       y="228.95425"
       id="text3331"
       sodipodi:linespacing="125%"

Coordonnées et renseignements du texte qui va être affiché.

       freecad:editable="AuthorName"><tspan

Ici AuthorName est la variable qui va mémoriser la chaîne freecad:editable qui sera modifiée et affichée dans la feuille.

         sodipodi:role="line"
         id="tspan3333"
         x="220.9935"
         y="228.95425">AUTHOR NAME</tspan></text>

Coordonnées et renseignements sur le texte qui est affiché par défaut, la balise </text> délimite la fin du bloc texte.

    <text
    ...
    ...
    ...
    ... </text>
  </g>

Autres blocs textes et la balise </g> détermine la fin du groupe de textes.

Il est possible qu'après avoir travaillé dans le fichier SVG avec Inkscape le fichier ne fonctionne plus, il est possible que des informations aient disparu.

Ensuite, vérifiez que freecad:editable: n'est pas modifié.

Exemple:

  • editable = "AuthorName"
  • replacer par freecad:editable = "AuthorName"

Autres attributs disponibles

Voir Drawing Modèles