Editing Drawing Exchange Format (DXF)

From Wiki.OSArch

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{stub}}
+
Drawing Exchange Format (DXF) is a file format designed by Autodesk to allow exchange with their AutoCAD software. While they publish specs it is not an open format as they alone control iterations to the format. Autodesk and the Open Design Alliance sell commercial licenses for accessing DXF files. There is generally good support for DXF in free/libre software.
Drawing Exchange Format (DXF) is a file format designed by Autodesk to allow exchange with their AutoCAD software. While they publish specs it is not an open format as they alone control iterations to the format. Autodesk and the Open Design Alliance sell commercial licenses for accessing DXF files. There is generally better support for DXF in free/libre software, compared to [[Drawing (DWG)]] format.
 
  
DXF can be thought of as an exchange version of the [[Drawing (DWG)]] format developed by Autodesk. File sizes may be larger, as it is in plaintext, whereas DWG is binary, and it may not contains data of proprietary AutoCAD extensions. Autodesk has discouraged the use of DWG, by inserting an encrypted proprietary signature that determines whether or not a DWG comes from Autodesk software. However, despite this discouragement, DWG creation is commonplace. Large parts of the DXF specs are undocumented, only the common basic entities are described, but not any advanced like dynamic blocks, 3d solids, 3d surfaces or parametric blocks. Likewise no free external library supports these.
+
DXF can be thought of as an exchange version of the [[Drawing (DWG)]] format developed by Autodesk.
  
The [https://www.opendesign.com Open Design Alliance] has a freely available proprietary [https://www.opendesign.com/guestfiles/oda_file_converter ODA File Converter] for converting between different versions of .dwg and .dxf. It has very good support for most objects and entities.
+
The [https://www.opendesign.com Open Design Alliance] has a freely available [https://www.opendesign.com/guestfiles/oda_file_converter ODA File Converter] for converting between different versions of .dwg and .dxf
  
=Support for DXFs in free software=
+
See also
 
 
The [[LibreDWG]] project has an example application for SVG and Postscript conversion, converters from and to DXF.
 
 
 
2D and 3D DXFs can be imported and exported by [[Blender]] and [[FreeCAD]]. 2D DXFs are supported in [[LibreCAD]], and [[QCAD]].
 
 
 
Blender is capable of importing DXFs with absolute coordinates with the [[BlenderGIS add-on]]. However, this workflow may have issues in recent releases. Blender's support for DXF is based on an older DXF library, and therefore may have compatibility issues with newer DXFs being produced.
 
 
 
==Libraries for Software Development==
 
* [https://github.com/panjh/dxflib dxflib by panjh] is an open source C++ library mainly for parsing DXFTM files.
 
* [https://qcad.org/en/90-dxflib dxflib by Ribbonsoft] is a C++ GPLv2-or-later library used in [[QCAD]]
 
* dxflibrw is an open source library for reading DWG files (pre 2018) and readgin /writing DXF files. It is used in many separate forks, importantly by [[LibreCAD]][https://github.com/LibreCAD/libdxfrw github] and [[Solvespace]] [https://github.com/solvespace/libdxfrw reference]
 
* [[LibreDWG]] supports DXF & DWG (details are on the linked page)
 
* [https://ezdxf.mozman.at/ ezdxf] is a python library supporting DXF versions up to 2018
 
 
 
=Advantages and Disadvantages=
 
 
 
For the purpose of documentation is worth comparing DXF to [[Scalable_Vector_Graphics_(SVG)]]
 
 
 
Pros of DXF:
 
* Is designed to capture the same data that [[Drawing (DWG)]] can capture. So if DWG is your native format, DXF ensures a minimum of data loss.
 
* Data in 3 dimensions ([[Scalable Vector Graphics (SVG)]] files are only two dimensions)
 
* Easy to read, easy to write, and a variety of data types of play with (blocks, polylines, polyfaces...)
 
* Layers with styles baked into it
 
* Model space. Paper space. Multiple paper spaces.
 
 
 
Cons of DXF:
 
* No units information in the file
 
* Requires a DXF viewer.
 
* Is an "open" standard, but at the same time it's kinda like Autodesk's less favourite cousin that has to follow [[Drawing (DWG)]] but lacks some of the proprietary add-ons that DWG has.
 
* Very hard to parse, many parts are undocumented, very irregular.
 
 
 
=Resources=
 
* Discussion on documentation formats on the OSArch discussion forum [https://community.osarch.org/discussion/170/what-is-best-for-documentation-when-svg-dxf-dwg What is best for documentation when svg, dxf, dwg?]
 
 
* [https://en.wikipedia.org/wiki/AutoCAD_DXF DXF at Wikipedia]
 
* [https://en.wikipedia.org/wiki/AutoCAD_DXF DXF at Wikipedia]
 
* [https://www.google.com/search?client=firefox-b-d&q=autodesk+dxf+reference Autodesk DXF Reference]
 
* [https://www.google.com/search?client=firefox-b-d&q=autodesk+dxf+reference Autodesk DXF Reference]
 
[[Category:Drawing_Exchange_Format_(DXF)]] [[Category:File formats]]
 

Please note that all contributions to Wiki.OSArch are considered to be released under the Creative Commons Attribution-ShareAlike (see Wiki.OSArch:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Template used on this page: