Svg Namespace/fr: Difference between revisions
(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 |
||
</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> |
|||
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. |
|||
: 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=== |
|||
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== |
|||
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]], |
* [[#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]] |
||
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=== |
|||
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. |
|||
: |
: 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=== |
|||
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> |
|||
=== |
===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 : |
|||
{{Code|lang=xml|code= |
{{Code|lang=xml|code= |
||
Line 61: | Line 63: | ||
}} |
}} |
||
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. |
|||
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
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:" :
- freecad:EditableText, cet attribut est toujours utilisé pour les modèles de l'atelier TechDraw.
- freecad:basepoint1
- freecad:basepoint2
- freecad:dimpoint
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