From 2010 to 2019,
was a top choice for “free” Linux / Mac / Windows AutoCAD 2D-compatible CAD users.
DraftSight 2019 brought a chill by requiring paid licenses for Windows, while introducing substantial 3-D functionality to DraftSight.
It’s important to note that DraftSight must peroidically reregister and the DraftSight “free” license can in effect be remotely terminated.
This article focuses on drop-in replacements for 2-D AutoCAD.
Numerous even more powerful
free CAD programs
exist, but they generally require retraining for users coming from AutoCAD.
Libre 2-D AutoCAD-like choices include:
LibreCAD with native DXF.
DWG from QCAD and LibreCAD is via the free Teigha DWG ↔ DXF converter.
I didn’t include FreeCAD here as it’s for 3D / Solidworks (and also cannot open DWG at this time).
is free (but non-libre) and typically “just works” with DWG / DXF files from AutoCAD and other software.
DraftSight “free” license can be remotely terminated, so be mindful if doing large deployments where “free” is counted on.
Windows is no longer “free”.
DWG write: save as DXF then use free Teigha converter to convert LibreCAD DXF to DWG.
DWG ↔ DXF
Teigha File Converter
R2017 DWG/DXF. Teigha File Converter may be used to convert from DXF to DWG en masse as a first/last step.
The OpenDesignAlliance is the same organization where QCad gets its non-free non-libre converter from.
3DS DraftSight 2019 has 2-D and new for 2019 3-D functionality.
DraftSight 2019 requires a paid license for Windows.
DraftSight 2019 is available in yearly no-charge license for MacOS and Linux.
DraftSight 2018 and earlier
cease functioning on 31 DEC 2019.
DraftSight 2019 works on:
Linux (Ubuntu, Fedora) [no-charge beta]
Mac [no-charge beta]
Windows [paid license].
is natively compatible with AutoCAD DWG/DXF
through R2018 (used by AutoCAD 2019).
Complete registration with an email address–they only ask for verification once per install.
If you have a high resolution screen and the GUI icons look too small, try
Tools → Options → System Options → Display → Screen Options → Use Large Icons.
Usually DraftSight “just works” on native Ubuntu Linux.
It doesn’t seem like one can use WSL to workaround the Windows license limitation.
Installing DraftSight into WSL took half an hour, and would just hang WSL until reboot.
Perhaps someone will figure that one out….
GNU Octave understands that ~ tilde is the user’s home directory on any operating system, even Windows.
Matlab, even though R2019a is not that smart.
Matlab does not consistently understand ~, and I have been complaining to the Mathworks about this for over a decade, and still the Mathworks is saying WONTFIX.
For our work, we create a homepath.m that works for GNU Octave and Matlab on Linux, Mac and Windows.
It returns the absolute path of the user home directory, for example:
file “homepath.m” contains:
function hdir = homepath()
if ispc % windows
h = [getenv('HOMEDRIVE'),getenv('HOMEPATH')];
h = getenv('HOME');
hdir = h; % for Matlab
This page shows how to setup Matlab with user Python install (e.g. Anaconda Python) on Linux, Mac or Windows.
Install Python for Matlab
Matlab is designed to work with specific Python versions for each Matlab version.
Matlab will not specifically tell you when you’re using an incompatible Python version, but you may get unstable operation or errors.
In general, we recommend for Python ↔ Matlab interfacing:
The examples below assume you’re starting from this directory.
See the README.txt in each directory for compilation details.
Some examples require a CUDA GPU.
If the example fails to compile due to compiler mismatch, follow the instructions given in the error message.
For example, on Windows with Matlab R2019a, Visual Studio C++ 2015 compiler is required.
This can be obtained by downloading the Visual Studio compiler,
and adding under the Visual Studio installer options “Individual Components” → VC++2015 toolset for desktop.
This consumes an additional 3 GB of hard drive space!
Run the OpenCV Matlab demo:
You will see a Video Player window pop up with cars driving by, with the
cars detected outlined in white rectangles.
Use it much like any other Matlab toolbox, with regular Matlab code.
No need to code in C++ as with the Mathworks Matlab OpenCV support built-in from the factory.
It also adds OpenCV to GNU Octave.