Draft DXF/it

Descrizione

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

Dal punto di vista dell'utente, il modulo di importazione/esportazione DXF verrà caricato automaticamente quando viene richiamato uno qualsiasi di questi comandi e il file da aprire, importare o esportare è un file DXF. La differenza principale tra Apri e il comando di importazione è che il primo creerà un nuovo documento FreeCAD e poi eseguirà l'importazione, mentre il secondo importerà il file DXF e inserirà il risultato nel documento attivo.

Disegno fatto con Qcad esportato in DXF, e successivamente aperto in FreeCAD

Importazione

Sono disponibili due importatori, i quali possono essere specificati in Modifica → Preferenze... → Importa-Esporta → DXF. Uno è integrato, basato su C++ e veloce, l'altro è legacy, codificato in Python, più lento e richiede l'installazione di un componente aggiuntivo, ma può gestire meglio alcune entità e può creare oggetti FreeCAD più raffinati. Entrambi supportano tutte le versioni DXF a partire dalla R12.

I solidi 3D all'interno di un file DXF sono memorizzati in un blob binario ACIS/SAT, che al momento non può essere letto da FreeCAD.


Confronto del supporto delle entità dell'importatore DXF
Entità Importatore C++ Importatore Legacy
Linee
Polilinee (e LWPOLYLINES)
Archi
Circonferenze
Ellissi
Splines
Testi & MTesti
Direttrici
Layers
Punti
Quote
Blocchi
(Solo geometria; testi, quote e attributi all'interno dei blocchi vengono ignorati)
Oggetti dello spazio carta
Facce 3D

Esportazione

Ci sono anche due esportatori. L'esportatore legacy esporta nel formato DXF R12, l'esportatore C++ nel formato DXF R14. Entrambi i formati possono essere gestiti da molte applicazioni.

Confronto del supporto delle entità dell'esportatore DXF
Funzionalità Esportatore C++ (R14) Esportatore Legacy (R12)
Geometria 2D supportata Tutte tranne le curve di Bézier. Le ellissi e le spline vengono esportate in modo nativo. Tutto tranne i punti. Le ellissi e le B-spline potrebbero essere imprecise o esportate come polilinee.
Punti
(Se l'opzione “Esporta punti” è abilitata)
Oggetti 3D I bordi delle facce vengono esportati. I bordi curvi solo se sul piano XY. Potrebbero essere create linee duplicate. Esportato come viste 2D proiettate.
Testi and Quote
Colori
(In base al colore della linea dell'oggetto)
Layers
(Mappato dai nomi degli oggetti)

(Mappato da livelli e gruppi nidificati)
Composti
(Esportato come blocchi)

Installazione

Per motivi di licenza, le librerie di importazione/esportazione DXF richieste dalla versione legacy dell'importatore non fanno parte del codice sorgente di FreeCAD. Per ulteriori informazioni vedere: FreeCAD e Importazione DXF.

Preferenze

Vedere Preferenze di Importa/Esporta.

DWG

Poiché il formato DWG è un formato proprietario, chiuso e non documentato, è difficile per i progetti open source come FreeCAD supportarlo. Ecco perché FreeCAD si affida a convertitori esterni per leggere e scrivere file DWG. Per importare un file DWG viene utilizzato un convertitore per creare prima un DXF, che può poi essere elaborato dall'importatore DXF di FreeCAD. Quando si esporta in DWG avviene la conversione opposta: il DXF creato dall'esportatore DXF di FreeCAD viene trasformato in un DWG.

Tenere presente che il formato DXF consente una conversione 1:1 del formato DWG. Tutte le applicazioni in grado di leggere e scrivere file DWG possono fare lo stesso con file DXF, senza perdita di dati. Pertanto, richiedere file DXF invece di file DWG e fornire file DXF non dovrebbe causare problemi.

È disponibile il supporto integrato per i seguenti convertitori DWG:

Vedere Preferenze di Importa/Esporta e Importare i file DWG in FreeCAD per maggiori informazioni.

Script

Vedere anche: Autogenerated API documentation e Script di base per FreeCAD.

Per esportare oggetti in DXF utilizzare il metodo export del modulo importDXF.

importDXF.export(objectslist, filename, nospline=False, lwPoly=False)

Esempio:

import FreeCAD as App
import Draft
import importDXF

doc = App.newDocument()

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

doc.recompute()

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