Draft: SVG

From FreeCAD Documentation
Revision as of 16:09, 5 February 2019 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

Description

This function imports SVG files as workable Draft Workbench objects, as opposed to the Drawing Workbench Open SVG function which imports SVG files as sheet drawings.

Inkscape drawing exported to SVG, which is subsequently opened in FreeCAD

Aprire

Questa funzione importa i file SVG come oggetti 2D lavorabili, a differenza del modulo di importazione dell'ambiente Drawing che importa i file SVG come semplici disegni su foglio. Nelle versioni più recenti, in ogni caso, si apre la finestra di dialogo per stabilire se importare il file come disegno oppure come geometria lavorabile.

File:OpenSVG Options it.png

Esempio di importazione della geometria:

File:OpenSVG Geometry it.png

Il comando Apri crea un nuovo documento.

In questo momento si possono importare i seguenti oggetti SVG:

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

Importare

Funziona allo stesso modo del comando Apri, ma inserisce gli oggetti nel documento attivo, invece di creare un nuovo documento.

Esportare

In un file SVG si possono esportare i seguenti oggetti:

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

Ricordare che il formato SVG è un formato 2D, quindi si perdono tutte le informazioni sull'asse Z (tutti gli oggetti risultano appiattiti).

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).

Gestione delle Unità

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

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.

Scripting

See also: Draft API and FreeCAD Scripting Basics.

You can export elements to SVG by using the following function:

importSVG.export(exportList, filename)

Example:

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")