Difference between revisions of "Drawing (DWG)"

From Wiki.OSArch
(created page)
 
m (Added link for AutoCAD page)
 
(30 intermediate revisions by 5 users not shown)
Line 1: Line 1:
The Drawing (DWG) file format developed by [https://en.wikipedia.org/wiki/Autodesk Autodesk] is a proprietary file format and the native file format for a number of proprietary CAD systems.
+
{{stub}}
 +
The Drawing (DWG) file format developed by [https://en.wikipedia.org/wiki/Autodesk Autodesk] is a proprietary file format and the native file format for a number of proprietary CAD systems, originally developed for [[AutoCAD]] . The [[Drawing Exchange Format (DXF)]] is usually a better alternative for free software as it has better support for virtually the same content.
  
There have been two efforts at making a free software library for reading/writing DWG. The most advanced of these is [[https://www.gnu.org/software/libredwg/ LibreDWG]].
+
Wikipedia has a good article about [https://en.wikipedia.org/wiki/.dwg the DWG format and it's history].
 +
 
 +
=DWG in FOSS Software=
 +
 
 +
There have been two efforts at making a free software library for reading/writing DWG.  
 +
* [[libdxfrw]] which is the default DXF/DWG library for [[LibreCAD]] (versions 2 & 3)
 +
* [[LibreDWG]] which is more advanced but in beta state
  
 
You can read about the struggles of supporting DWG in free software in the [http://libregraphicsworld.org libregraphicsworld] article [http://libregraphicsworld.org/blog/entry/libredwg-revived-starts-getting-regular-releases LibreDWG revived, starts getting regular releases]
 
You can read about the struggles of supporting DWG in free software in the [http://libregraphicsworld.org libregraphicsworld] article [http://libregraphicsworld.org/blog/entry/libredwg-revived-starts-getting-regular-releases LibreDWG revived, starts getting regular releases]
  
Free software known to support DWG is limited to [[FreeCAD]] from version 0.19. You can read the discussion in [https://forum.freecadweb.org/viewtopic.php?f=8&t=39827 Let's talk about libredwg support].
+
==Free software known to have some support for DWG==
 +
* [[FreeCAD]] uses [[LibreDWG]] from version 0.19 for Linux builds and Conda Windows builds. Otherwise check the [https://wiki.freecadweb.org/FreeCAD_and_DWG_Import FreeCAD documentation] or ask in our forum.
 +
* [https://github.com/tercoide/GauchoCAD GauchoCAD] uses [[LibreDWG]] but is currently alpha software with no released packages
 +
* [[LibreCAD]] has basic DWG support using the [[libdxfrw]] library
 +
* [[SolveSpace]] can import DXF and DWG and export 2D sketches and 3D wireframes as DXF using the [[libdxfrw]] library. Moving to [[LibreDWG]] is under discussion.
 +
* [[QCAD]] has a commercial version which adds DWG support using the non-free ODA Teigha Library.
 +
* [[ZCAD]] is a simple CAD program, written in Lazarus / FPC. It can open and save DXF2000 files. They are actively working on DWG support with the [[LibreDWG]] library.
 +
 
 +
==Current status of LibreDWG==
 +
 
 +
Generally LibreDWG is stable for the most common entities and objects for DWG and DXF, plus hundreds more. It can write DWG r2000 already, plus all DXF versions. DWG write support for 2004-2018 is about 80% done. See also [https://lists.gnu.org/archive/html/libredwg/2020-12/threads.html LibreDWG discussion list] and [https://savannah.gnu.org/news/?group=libredwg LibreDWG news]
 +
 
 +
Please test and [https://github.com/LibreDWG/libredwg/issues report bugs].
 +
 
 +
There is currently focus on gambas bindings (that's the free GNU VBA variant) for GauchoCAD and C++ bindings for SolveSpace. Perl and python bindings are ready but unused.
 +
 
 +
'''Current limitations:'''
 +
* Not feature parity with [[Open_Design_Alliance_(ODA)]]
 +
* Many basic dynamic blocks and parametrics are done but it's still a work in progress.
 +
* DWG write support for 2004-2018 is about 80% done, still some bugs.
 +
* Creating 3dsolids from scratch, writing acis data is also not yet good enough.
 +
* The objects and fields are all done, but it's undocumented and unstable.
 +
* lisp bindings, like for guile would be nice, but low priority (no one has asked for it)
 +
 
 +
=See also=
 +
* [[Libdxfrw]] is the DXF / DWG library used by [[LibreCAD]]
 +
* [[Drawing Exchange Format (DXF)]]
 +
* [[Open_Design_Alliance_(ODA)]]
 +
* [[FreeCAD]]
 +
* [[GambasCAD]]
 +
* [[Getting started with 2D CAD drafting]]
  
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
+
=External Resources=
 +
* 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
 +
* The ODA has [https://www.opendesign.com/files/guestdownloads/OpenDesign_Specification_for_.dwg_files.pdf published a DWG specification]
 +
* [https://en.wikipedia.org/wiki/.dwg DWG at Wikipedia] gives background on the way Autodesk has pursued anyone trying to achieve compatibility.
  
See also
+
[[Category:Drawing (DWG)]]
* [https://en.wikipedia.org/wiki/.dwg DWG at Wikipedia]
+
[[Category:Drawing_Exchange_Format_(DXF)]]
 +
[[Category:File formats]]

Latest revision as of 15:24, 7 March 2023

This page is unfinished. Feel free to help the project by sharing your knowledge about this subject.

The Drawing (DWG) file format developed by Autodesk is a proprietary file format and the native file format for a number of proprietary CAD systems, originally developed for AutoCAD . The Drawing Exchange Format (DXF) is usually a better alternative for free software as it has better support for virtually the same content.

Wikipedia has a good article about the DWG format and it's history.

DWG in FOSS Software[edit]

There have been two efforts at making a free software library for reading/writing DWG.

  • libdxfrw which is the default DXF/DWG library for LibreCAD (versions 2 & 3)
  • LibreDWG which is more advanced but in beta state

You can read about the struggles of supporting DWG in free software in the libregraphicsworld article LibreDWG revived, starts getting regular releases

Free software known to have some support for DWG[edit]

  • FreeCAD uses LibreDWG from version 0.19 for Linux builds and Conda Windows builds. Otherwise check the FreeCAD documentation or ask in our forum.
  • GauchoCAD uses LibreDWG but is currently alpha software with no released packages
  • LibreCAD has basic DWG support using the libdxfrw library
  • SolveSpace can import DXF and DWG and export 2D sketches and 3D wireframes as DXF using the libdxfrw library. Moving to LibreDWG is under discussion.
  • QCAD has a commercial version which adds DWG support using the non-free ODA Teigha Library.
  • ZCAD is a simple CAD program, written in Lazarus / FPC. It can open and save DXF2000 files. They are actively working on DWG support with the LibreDWG library.

Current status of LibreDWG[edit]

Generally LibreDWG is stable for the most common entities and objects for DWG and DXF, plus hundreds more. It can write DWG r2000 already, plus all DXF versions. DWG write support for 2004-2018 is about 80% done. See also LibreDWG discussion list and LibreDWG news

Please test and report bugs.

There is currently focus on gambas bindings (that's the free GNU VBA variant) for GauchoCAD and C++ bindings for SolveSpace. Perl and python bindings are ready but unused.

Current limitations:

  • Not feature parity with Open_Design_Alliance_(ODA)
  • Many basic dynamic blocks and parametrics are done but it's still a work in progress.
  • DWG write support for 2004-2018 is about 80% done, still some bugs.
  • Creating 3dsolids from scratch, writing acis data is also not yet good enough.
  • The objects and fields are all done, but it's undocumented and unstable.
  • lisp bindings, like for guile would be nice, but low priority (no one has asked for it)

See also[edit]

External Resources[edit]