Draft: SVG

From FreeCAD Documentation
Revision as of 21:02, 24 May 2020 by Renatorivo (talk | contribs)

Draft SVG

Posizione nel menu
Nessuno
Ambiente
Draft
Avvio veloce
Nessuno
Introdotto nella versione
-
Vedere anche
Nessuno

Descrizione

Draft SVG è un modulo software utilizzato dai comandi Apri, Importa e Esporta per gestire il formato SVG.

Disegno di Inkscape esportato in SVG, e successivamente aperto in FreeCAD

Importazione

Si possono importare i seguenti oggetti SVG:

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

Limitazioni

FreeCAD non importerà oggetti tracciato che hanno un solo punto (forum discussion).

Esportazione

È possibile esportare i seguenti oggetti FreeCAD:

  • Linee e spezzate (polilinee)
  • Archi e circonferenze
  • Facce
  • Testi
  • Dimensioni

Limitazione

SVG is a 2D format, so all Z information will be disregarded (all objects will be flattened).

Gestione delle Unità

Quando si esporta, una Unità utente (px) equivale a un millimetro.

When exporting, a User Unit (px) equals one millimeter.

Durante l'importazione sono rispettati la larghezza, l'altezza e gli attributi Viewbox. Tutti gli elementi vengono scalati alle loro dimensioni in millimetri, che è l'unità interna di FreeCAD. Se il file SVG non contiene informazioni sulla dimensione fisica, si presuppone di avere una risoluzione di 90 DPI. L'utilizzo di unità assolute negli attributi all'interno del SVG è da evitare. Unità relative come em, ex e % non sono attualmente supportate.

L'editor di SVG Inkscape attualmente funziona solo con documenti con 90 DPI. Non importa quale unità è selezionata in Inkscape. In uscita, tutto deve essere considerato convertito in 90 DPI e arrotondato a 6 decimali.

Dato che FreeCAD (e lo standard SVG) è agnostico alla precisione di arrotondamento fatta in Inkscape questi valori non sono arrotondati in ingresso. And odd values in millimeter will remain.

Se è necessario importare l'SVG senza arrotondamenti, lavorare in Unità utente (px) in Inkscape. La scalatura può essere eseguita dopo l'importazione in FreeCAD o modificando la larghezza, l'altezza e gli attributi Viewbox.

Preferenze

Nella finestra Preferenze del menu Modifica → Preferenze → Draft → Importa/Esporta si possono specificare i seguenti parametri:

  • Importa/Esporta → Importa stile (stile di importazione): Questo consente di scegliere il modo in cui gli oggetti del file svg devono essere disegnati in FreeCAD. È possibile scegliere tra:
    • Nessuno: Questo è il modo più veloce, non c'è conversione, tutti gli oggetti sono importati con linee di colore nero di larghezza 2px (default di FreeCAD)
    • Usa colore e spessore linea predefiniti: Tutti gli oggetti sono importati con larghezza di linea e colori conformi alle impostazioni correnti della barra dei comandi di Draft
    • Colore e spessore linea originali: Gli oggetti mantengono il colore e la larghezza di linea (se specificata) che hanno nel file svg
  • Importa/Esporta → Esporta Stile:
    • Translated: Tutti gli elementi vengono traslati in modo da rendere le loro coordinate positive. Questo agevola la visualizzazione e la stampa. Il sistema di coordinate in uscita non è coerente tra i singoli elementi esportati.
    • Raw: Viene conservata la posizione di tutti gli elementi. Questo è pensato per l'utilizzo di CAM ad esempio in PyCAM. I livelli o le sezioni esportate individualmente coincidono.
  • Impostazioni generali → Livello di precisione interno:
    • Questo valore viene utilizzato per controllare se un segmento di una 'curva di Bezier' deve essere considerato una linea retta. Se si importano dei contorni dettagliati, tipo un testo renderizzato, è possibile aumentare questa impostazione fino a 6. Se si lavora con Inkscape è bene incrementare la precisione nel file SVG. (Inkscape Menu → File → Inkscape Preferences → SVG Output → Numeric Precision).

For more information see: Import Export Preferences.

See also: Draft API and FreeCAD Scripting Basics.

Si possono esportare elementi in SVG usando la seguente funzione:

importSVG.export(exportList, filename)

Esempio:

import Draft, importSVG

Polygon1 = Draft.makePolygon(3, radius=500)
Polygon2 = Draft.makePolygon(5, radius=1500)

objects = [Polygon1, Polygon2]

importSVG.export(objects, "/home/user/Pictures/myfile.svg")