Draft SVG/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 18: Line 18:


[[Image:Screenshot inkscape.jpg]]
[[Image:Screenshot inkscape.jpg]]
{{Caption|Dessin Inkscape exporté en SVG, ensuite ouvert dans FreeCAD}}
{{Caption|Dessin Inkscape exporté en SVG puis ouvert dans FreeCAD}}


<span id="Importing"></span>
<span id="Importing"></span>
Line 55: Line 55:
Lors de l'exportation, une unité utilisateur (px) équivaut à un millimètre.
Lors de l'exportation, une unité utilisateur (px) équivaut à un millimètre.


Lors de l'importation, la largeur, la hauteur et l'attribut de l'objet sont respectés. La taille de tous les éléments sont mis à l'échelle en millimètre, qui est l'unité interne de FreeCAD. Si le .SVG ne contient pas d'informations sur sa taille physique, nous supposons qu'il possède une résolution de 90 DPI. L'utilisation des unités absolues dans les attributs à l'intérieur du .SVG doit être évitée. Les unités relatives comme '''" em "''', '''" ex "''' et '''" % "''' ne sont actuellement pas prisent en charge.
Lors de l'importation, les attributs de largeur, hauteur et de la boîte de visualisation sont respectés. Tous les éléments sont mis à l'échelle de leur taille en millimètres, qui est l'unité interne de FreeCAD. Si le SVG ne contient pas d'informations sur sa taille physique, il est supposé avoir une résolution de 90 DPI.<br>
L'utilisation d'unités absolues dans les attributs à l'intérieur du SVG doit être évitée. Les unités relatives comme em, ex et % ne sont pas supportées actuellement.


L'éditeur SVG [https://inkscape.org/ Inkscape] ne fonctionne actuellement qu'avec des documents de 90 DPI, quelle que soit l'unité sélectionnée dans Inkscape. Tous les résultats doivent être convertis en 90 DPI et arrondis à 6 décimales. Comme FreeCAD (et le standard SVG) est agnostique à la précision de l'arrondi fait dans Inkscape, ces valeurs ne seront pas arrondies au moment de la saisie. Les valeurs impaires en millimètres seront conservées.<br>
L'éditeur SVG [https://inkscape.org/ Inkscape] ne fonctionne actuellement qu'avec des documents de 90 DPI, quelle que soit l'unité sélectionnée dans Inkscape. Tous les résultats doivent être convertis en 90 DPI et arrondis à 6 décimales. Comme FreeCAD (et le standard SVG) est agnostique à la précision de l'arrondi fait dans Inkscape, ces valeurs ne seront pas arrondies au moment de la saisie. Les valeurs impaires en millimètres seront conservées.<br>
Line 68: Line 69:
==Script==
==Script==


Voir aussi: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] et [[FreeCAD_Scripting_Basics/fr|Débuter avec les scripts FreeCAD]].
Voir aussi : [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] et [[FreeCAD_Scripting_Basics/fr|Débuter avec les scripts FreeCAD]].


Pour exporter des objets au format SVG, utilisez la méthode {{incode|export}} du module importSVG.
Pour exporter des objets au format SVG, utilisez la méthode {{incode|export}} du module importSVG.
Line 78: Line 79:
* Pour le système d'exploitation Windows : utilisez un {{FileName|/}} (barre oblique) comme séparateur de chemin dans {{Incode|filename}}.
* Pour le système d'exploitation Windows : utilisez un {{FileName|/}} (barre oblique) comme séparateur de chemin dans {{Incode|filename}}.


Exemple:
Exemple :


{{Code|code=
{{Code|code=

Latest revision as of 07:45, 27 May 2024

Description

Draft SVG est un module utilisé par Std Ouvrir, Std Importer et Std Exporter pour gérer le format de fichier SVG.

Dessin Inkscape exporté en SVG puis ouvert dans FreeCAD

Importer

Les objets SVG suivants peuvent être importés :

  • objets PATH
  • objets LINE
  • objets RECT
  • objets CIRCLE
  • objets ELLIPSE
  • objets POLYGON
  • objets POLYLINE

Limitations

FreeCAD n'importera pas les objets path qui n'ont qu'un seul point (discussion du forum).

Exporter

Les objets FreeCAD suivants peuvent être exportés :

  • Lignes et fils (polylignes)
  • Arcs et cercles
  • Surfaces
  • Textes
  • Dimensions

Limitations

SVG est un format 2D donc toutes les informations Z seront ignorées (tous les objets seront aplatis).

Gestion des unités

Lors de l'exportation, une unité utilisateur (px) équivaut à un millimètre.

Lors de l'importation, les attributs de largeur, hauteur et de la boîte de visualisation sont respectés. Tous les éléments sont mis à l'échelle de leur taille en millimètres, qui est l'unité interne de FreeCAD. Si le SVG ne contient pas d'informations sur sa taille physique, il est supposé avoir une résolution de 90 DPI.
L'utilisation d'unités absolues dans les attributs à l'intérieur du SVG doit être évitée. Les unités relatives comme em, ex et % ne sont pas supportées actuellement.

L'éditeur SVG Inkscape ne fonctionne actuellement qu'avec des documents de 90 DPI, quelle que soit l'unité sélectionnée dans Inkscape. Tous les résultats doivent être convertis en 90 DPI et arrondis à 6 décimales. Comme FreeCAD (et le standard SVG) est agnostique à la précision de l'arrondi fait dans Inkscape, ces valeurs ne seront pas arrondies au moment de la saisie. Les valeurs impaires en millimètres seront conservées.
Si vous souhaitez que l'importation SVG ne soit pas arrondie, travaillez sur les unités utilisateur (px) dans Inkscape. La mise à l'échelle peut être effectuée après l'importation dans FreeCAD ou en modifiant les attributs de largeur, de hauteur et de la boîte de visualisation.

Préférences

Voir : Préférences d'Import Export.

Script

Voir aussi : Autogenerated API documentation et Débuter avec les scripts FreeCAD.

Pour exporter des objets au format SVG, utilisez la méthode export du module importSVG.

importSVG.export(exportList, filename)
  • Pour le système d'exploitation Windows : utilisez un / (barre oblique) comme séparateur de chemin dans filename.

Exemple :

import FreeCAD as App
import Draft
import importSVG

doc = App.newDocument()

polygon1 = Draft.make_polygon(3, radius=500)
polygon2 = Draft.make_polygon(5, radius=1500)

doc.recompute()

objects = [polygon1, polygon2]
importSVG.export(objects, "/home/user/Pictures/myfile.svg")