2. Open Source Scientific Software (OSSS) Group at ResearchGate.net
1 Introduction
Technical drawing, or "Drafting", or "Mechanical Drawing" is all about putting ideas into a
format such that the ideas can be readily communicated to others. Whether done by hand
on a drawing board with straightedges, compasses and other drawing aids, or done on a
computer, the purpose is the same- to record information in a format that is easily
communicated. Just as there are many different audiences with which one wishes to
communicate, there are many different styles of graphical representation. Three-
dimensional rendering has been around for a long time, with varying degrees of
importance in different industrial sectors, but modern technology is easing the process of
generating renderings from more traditional orthographic representations. With modern
CNC manufacturing capabilities, new criteria are defined- how to send instructions to the
computer driving the manufacturing process see separate OpenSource Software Review,
“From CAD to FAB”, for more information on generating code for CAM controllers). One
thing has not changed, however. It still requires a great deal of time and dedication for a
drafts-person to develop professional level skills, no matter whether they use the computer
or the drawing board. Access to software that takes some of the tedium out of the process
does not automatically make one a skilled practitioner.
The CAD universe is dominated by very few commercial packages. These include:
➢ The Autodesk suite, including AutoCAD and Inventor
➢ Solidworks
➢ Pro/E
➢ Catia
A single “seat” for the more popular of these packages can cost several thousand dollars,
which can put such solutions out of the practical reach of the independent engineer, or the
student wishing to expand his or her skill level. This also tends to limit the educational
opportunities at the secondary education level, where introduction to basic tools better
prepare a student for university study. Thus, there appears to be a market segment not
being addressed by the major CAD software vendors- the low cost solution for the casual
or hobbyist user, or the poor student who can't afford a full license.
The reader should bear in mind that I have a preference for the Linux operating system, so
most of this analysis is going to try to relate solutions for that environment. Since the
Linux environment is rather challenged with respect to traditional CAD solutions, we will
also be looking at solutions designed for other platforms that have functionality under a
virtualization or emulation solution. True, modern technology is moving towards freeing us
from dependence on a single operating system, with dual-booting, virtualization, cross-
platform capabilities, cloud computing, etc. making it less and less important which
operating system we chose as our primary platform. But this does not preclude the need
for cost-effective solutions tailored to specific needs that may diverge from mainstream
applications.
Open Source Software Review:
CAD Options for Linux Systems
3. Open Source Scientific Software (OSSS) Group at ResearchGate.net
Before we have a look at the various packages available, we need to address the subject
of file formats. We are, after all, concerned with communicating information, and, if one's
interlocutor can not open a particular file, one does not achieve communication. Wikipedia
offers a partial list of more than 30 popular CAD formats, many of which are proprietary. If
one is working within a large organization where information is shared primarily in-house,
then the choice of formats is not really an issue- everyone has access to the same
software. However, when collaborating with others outside the organization, or passing
information to a particular analysis package, the document format can be a critical issue.
While there are any number of "translators" available, we have found that not all of them
are as effective as one might wish- I have often encounter problems with misplaced
elements, lines that don't meet up, and poorly-rendered text. If the purpose of converting
the original format was to allow for some sort of modification to the original drawing, there
is no guarantee that the changes will be incorporated properly when the altered drawing is
re-converted to the original format. I have done a bit of analysis regarding the formats with
which I deal most often (which may or may not be similar to what others may encounter)
suggests that the most important formats are:
➢ *.dwg
➢ *.dxf
➢ *.3ds from SolidWorks
➢ *.stp
➢ *.stl
➢ *.iges
➢ *.unv
➢ *.brep
➢ *.msh
➢ *.med
➢ *.g (specific to a package BrlCAD (http://brlcad.org/), which is important for my
purposes partly due to the rather extensive and well-executed file format converters
that come with the package)
Note that some of the formats considered important here are specialized for applications
beyond basic CAD (i.e., Finite Element meshing, for example). The reason for including
them will become obvious as we progress through the different packages.
Another factor to consider is, are the files in an ASCII or binary format? This is important
when dealing with *.dxf files especially. In fact, as standards go, *.dxf is probably the most
difficult to deal with, because there are at least six basic versions of this format in common
use, and not all of them are compatible with the open standards. Trial and error rule the
Open Source Software Review:
CAD Options for Linux Systems
4. Open Source Scientific Software (OSSS) Group at ResearchGate.net
day. We also find that the *.stl format is important for such things as FEA analysis and
CAM development.
2 2D Drafting Solutions
There are those who feel that traditional 2D drafting is of limited value in the modern world,
but this suggests to me that they have little knowledge of the real world. Again, technical
drawing is about communicating information in a useful format. There are such things as
dimensions, tolerances, surface finish specifications, corner radii, bevels or chamfers, weld
specifications, and the list could go on indefinitely, that are very difficult to illustrate with a
rendered three-dimensional view. When communicating with a machine shop over the
fabrication of an item, a pretty picture will only get you so far. It is also generally much
easier for a practitioner with experience in 2D CAD to migrate to more complicated 3D
packages.
So, what are the available choices, what are they capable of, and where does one get
them? We begin with traditional 2D CAD, where the novice or casual user is most likely
to have the strongest interest (especially since the learning curve for such packages is
significantly less than the learning curve for 3D rendering packages):
NOTE: This is not intended to be a complete list of all available options. It reflects
primarily the author's personal experience.
DraftSight (Dassault Sytèmes)
DraftSight is a professional-grade, free 2D CAD product for users who want a better way
to create, edit and view DWG files. DraftSight comes from Dassault Systemès, who also
provide Catia and SolidWorks. It is easy to use and is available to download and activate
for free (Standalone license. Activation required). DraftSight supports Microsoft®
Windows (XP through Windows 7) and Linux (*.deb package available for Ubuntu; *.rmp
package available for Fedora, OpenSuse, and Mandriva). Read and write support for
*.dwg and *.dxf formats (R2000 through R14, ASCII or binary for *.dxf). Save as .wmf,
.jpeg, .pdf, .png, .sld, .svg, .tif, & .stl file formats. This is about as close as one gets to the
capabilities of the major commercial packages.
Open Source Software Review:
CAD Options for Linux Systems
5. Open Source Scientific Software (OSSS) Group at ResearchGate.net
Illustration 1: DraftSight Running In Ubuntu 10.04 64 bit
QCAD (RibbonSoft, GmbH)
QCAD is an application for computer aided drafting in two dimensions (2d). With QCAD
you can create technical drawings such as plans for buildings, interiors, mechanical parts
or schemas and diagrams. QCAD works on Windows, Mac OS X and many Linux and
Unix Systems. The source code of the QCAD community edition is released under the
GPL (Open Source) license. Features include:
➢ DXF input/output (R12 and DXF 200x; BMP, JPEG, PNG, (import and export as
bitmaps); SVG (export); High quality PDF (export)
➢ Part library with over 4800 CAD parts (extensible with user defined drawings and
symbols)
➢ Mathematical Expressions
➢ Built-in scripting language (an ECMA compliant language called QSA. Those
familiar with Java, C++, C# or JavaScript will immediately be able to code the basic
control structures)
➢ Excellent documentation
➢ Available in Spanish
Open Source Software Review:
CAD Options for Linux Systems
6. Open Source Scientific Software (OSSS) Group at ResearchGate.net
QCAD is available in both a free, OpenSource version, and a “Professional” version
available in a variety of packaging options for $34 to $82.
This package is included in the CAELinux 2010 distribution, and is fairly intuitive and easy
to learn and use. The documentation is by far the best available for Linux-based CAD
solutions.
Illustration 2: qCAD screen shot
SagCAD
This is another option that is included with CAELinux 2010, but we find the documentation
(machine-translated from the original Japanese) to be rather obscure. While we do not
recommend it, there may be others who find it appropriate.
PythonCAD
Open Source Software Review:
CAD Options for Linux Systems
7. Open Source Scientific Software (OSSS) Group at ResearchGate.net
This package written in Python. The PythonCAD project aims to produce a scriptable,
open-source, intuitive, cross platform CAD package. Undergoing significant rewrite at this
time. Current versions are not nearly as sophisticated as other options, but the Python
base may be attractive to those whose primary goal is an extensible package.
Illustration 3: PythonCAD Screen Shot
A more complete list of Linux-based CAD programs can be found here. This list includes a
number of packages still in various stages of development, and special-interest packages
that may be of interest to some. Among the packages from the list that may be of more
general interest are:
Bricscad
Bricscad, the number one DWG CAD alternative, is finally available as a native Linux
version. It is the most advanced CAD platform available for Linux. It provides the
Open Source Software Review:
CAD Options for Linux Systems
8. Open Source Scientific Software (OSSS) Group at ResearchGate.net
engineering community an open door to Linux. A commercial package, not OpenSource.
JCad
This is a smart 2D CAD application written completely in Java. It uses the AutoCAD DXF,
which is the most widely-used 2D CAD format, as its native format.
ME10
This is a 2D professional, and fully featured drafting and design package. ME10's parts
concept simplifies the design and modification of assemblies through a hierarchical parts
structure. A parts structure editor helps maintain control even in the most complex
assembly structures. A commercial package, not OpenSource.
OCADis
This is a 2D CAD system for Linux. It has all the basic drawing objects implemented: line,
arc, circle and more. It supports HPGL (export), DXF (import and export), PostScript
output.
VariCAD
A mechanical engineering CAD system. It includes functions for 3D modeling, 2D drawing,
editing, transformations, working with user defined objects, block, group and symbol
creating capabilities. The whole system is very customizable and widely open. A
commercial package, not OpenSource.
So far, we have examined only the Linux-based packages. There are many more options
available for Windows platforms, and most of these can be run on a Linux machine using
either the Wine emulator, or a virtual machine such as VirtualBox, with a Windows guest
system installed. There are many more options than we can possibly detail in a
reasonably-sized document, so we limit the list to only those with which we have some
familiarity. The Wine emulator allows one to run many Windows programs without the
need for a Windows installation. The AppDB database (accessible from the Wine home
page) provides additional guidance on how well various applications work in the emulator
environment. Among our favorites are:
IMSI/Design
IMSI has been around for a couple of decades now, offering consistently good, full-
featured, low-priced CAD packages. We have used their TurboCAD products for years,
and have recently started using the DoubleCAD XT free version- another great product
compatible with most *.dwg and *.dxf formats. Purely a Windows solution, although we
have an older version fully functional in VirtualBox on our Ubuntu machine.
TurboCAD
There is still available on line a free version of TurboCAD LE at this link. Note that
this version probably won't work well with later Windows versions, but it runs well in
Wine on my Ubuntu box. The symbols library is somewhat limited, compared to
Open Source Software Review:
CAD Options for Linux Systems
9. Open Source Scientific Software (OSSS) Group at ResearchGate.net
what is available for the full packages. TurboCAD has traditionally sported their
own file format (*.tcw), but it also supports older *.dwg and *.dxf formats (and others
a bit more obscure). It is unlikely to support newer versions of these formats.
Newer versions of TurboCAD are available here, at prices ranging from $150 to
$2000, depending on the version chosen. They do offer educational discounts.
DoubleCAD XT
This is a package I use on my one remaining Windows box (stuck in Windows XP
for as long as I can hold out). A limited version is available for free with an
unrestricted use license, or the full (Pro) version is available for $695. This is
probably the most reasonable solution for Windows XP or newer. This application is
reported to be unusable in Wine, although it should run well in a Windows virtual
machine.
Illustration 4: DoubleCAD XT screen shot
Open Source Software Review:
CAD Options for Linux Systems
10. Open Source Scientific Software (OSSS) Group at ResearchGate.net
CadStd
CadStd is a general purpose, easy to learn CAD/drafting program for creating professional
quality mechanical designs, house plans, blueprints, schematics and charts utilizing ANSI
drawing standards. The Lite version is free and can read any drawing created by the Pro
version. CadStd Lite can export files as DXF so you can share your drawings...The Pro
version can create isometric projections from orthographic views, and has powerful
commands like offset, trim, fillet and chamfer. Export drawings in formats like DXF, SVG,
HPGL/1. Runs in Wine. The Pro version costs $37.50.
Illustration 5: CadStd Screen Shots
AutoCAD
What, you may be wondering, is AutoCAD doing on a list of reasonably priced CAD
software? Actually, AutoCAD offers a couple of different licensing options that could result
in reasonably-priced solutions for those who do not need the full suite of capabilities
available in their full package. For students, they offer a special, free license for many of
their products. One must have some demonstrable relationship with an appropriate
institution, and there are apparently geographical limitations as to where the offers are
available, but this is a tremendous opportunity for students. AutoCAD has been around for
a long, long time, and has for years defined the standards against which CAD software
has been evaluated. If you are a student, this may be the appropriate route for you. Other
than the Student licenses, however, even their LT version, at $1200 is a bit beyond what
Open Source Software Review:
CAD Options for Linux Systems
11. Open Source Scientific Software (OSSS) Group at ResearchGate.net
we consider a "reasonable" price for the causal user. This is a Windows solution (XP or
Vista, with compatibility testing with Windows 7 under way), although Autodesk now offers
a MAC OS version as well.
3 3D Drafting Solutions
3D CAD covers a very broad range of possible applications, from simple modeling of
objects in 3 dimensions, to modeling the interfaces between various components of an
assembly to generating a model for further analysis such as Finite Element mechanical
and thermal stress analysis, linear and non-linear dynamics, and fluid dynamics to
rendering for animations. We have focused primarily on solutions that would be of interest
to the engineering profession, and only those solutions with which we have a working
knowledge and which are capable of professional results competitive with the best of the
commercial packages. There are a plethora of other options available, but to provide a full
assessment of all the variations available would be a daunting task, and most likely would
be outdated as soon as it was completed. So, here are our favorites:
SALOME
SALOME, the foundation of the CAELinux 2010 package, is an OpenSource package that
provides a generic platform for Pre- and Post-Processing for numerical simulation. It is
based on an open and flexible architecture made of reusable components. SALOME is a
cross-platform solution. It is distributed as open-source software under the terms of the
GNU LGPL license. SALOME can be used as standalone application for generation of
CAD models, their preparation for numerical calculations and post-processing of the
calculation results. The Salome-MECA version is integrated with the Code_Aster multi-
physics FE analysis package and the Code_Saturne 3D CFD (Computed Fluid Dynamics)
solver, such that one need not export possibly incompatible formats between applications,
which is the primary reason it is first on the list. The 3D solid modeling capabilities are
intuitive and easy to learn. Some of the functions native to the platform include:
➢ Create/modify, import/export (IGES, STEP, BREP), repair/clean CAD models
➢ Mesh CAD models, edit mesh, check mesh quality, import/export mesh (MED, UNV,
DAT, STL)
➢ Handle physical properties and quantities attached to geometrical items
➢ Perform computation using one or more external solvers (coupling)
➢ Display computation results (scalar, vectorial)
Open Source Software Review:
CAD Options for Linux Systems
12. Open Source Scientific Software (OSSS) Group at ResearchGate.net
Illustration 6: Solid Modeling in Salome
This is by far the most versatile and useful 3D package for the engineer.
BrlCAD
BRL-CAD (developed at the U.S. Army Ballistic Research Laboratory (BRL) (now the U.S.
Army Research Laboratory [ARL])) is a powerful cross-platform Open Source
combinatorial Constructive Solid Geometry (CSG) solid modeling system that includes
interactive 3D solid geometry editing, high-performance ray-tracing support for rendering
and geometric analysis, ... path-tracing and photon mapping support for realistic image
synthesis, ... an embedded scripting interface, and libraries for robust high-performance
geometric representation and analysis … BRL-CAD is the primary solid modeling CAD
system used by the U.S. military to model weapons systems for vulnerability and lethality
analyses. The solid modeling system is frequently used in a wide range of military,
academic, and industrial applications including in the design and analysis of vehicles,
mechanical parts, and architecture.
One of the features most useful with this package is the format conversion facilities
included in the package. While internally, BrlCAD utilizes the unique *.g binary format, the
package provides very efficient and accurate conversion utilities for the following CAD
formats:
Open Source Software Review:
CAD Options for Linux Systems
13. Open Source Scientific Software (OSSS) Group at ResearchGate.net
I have actually used these converters to convert from one format to *.g and then to
another format for compatibility with other packages.
Illustration 7: BrlCAD Screen shot
FreeCAD
FreeCAD is a general purpose OpenSource 3D CAD/MCAD/CAx/CAE/PLM modeler,
Open Source Software Review:
CAD Options for Linux Systems
14. Open Source Scientific Software (OSSS) Group at ResearchGate.net
aimed directly at mechanical engineering and product design ... It is a feature-based
parametric modeler with a modular software architecture which makes it easy to provide
additional functionality without modifying the core system.
Illustration 8: freeCAD screen shot
FreeCAD is based on OpenCasCade, a powerful geometry kernel, features an Open
Inventor-compliant 3D scene representation model provided by the Coin 3D library, and a
broad python API. The Python interface provides extensive extensibility capabilities to the
basic package. FreeCAD runs exactly the same way on Windows, Mac OSX and Linux
platforms. Features include:
➢ Complete OpenCasCade-based geometry kernel allowing complex 3D operations
on complex shape types
➢ A modular architecture that allow plugins (modules) to add functionality to the core
application. Those extensions can be as complex as whole new applications or as
simple as python scripts or self-recorded macros
➢ A full parametric model allowing any type of parameter-driven custom objects, that
can even be fully programmed in python
➢ Import/export to standard formats such as STEP, IGES, OBJ, DXF, SVG, U3D or
Open Source Software Review:
CAD Options for Linux Systems
15. Open Source Scientific Software (OSSS) Group at ResearchGate.net
STL
Blender
Blender is a free open source 3D content creation suite, available for all major operating
systems under the GNU General Public License. Blender ... allows the creation of a broad
range of 2D and 3D content. Blender provides a broad spectrum of modeling, texturing,
lighting, animation and video post-processing functionality in one package. Through its
open architecture, Blender provides cross-platform interoperability, extensibility, an
incredibly small footprint, and a tightly integrated work flow. Blender is one of the most
popular Open Source 3D graphics applications in the world.
While essentially aimed world-wide at media professionals and artists, Blender can be
used for technical rendering as well as a graphical front end to a variety of multi-physics
analysis packages. On his web site, Robert Burke provides examples and tutorials for
such applications:
Illustration 9: A Robert Burke Image using Blender
Open Source Software Review:
CAD Options for Linux Systems
16. Open Source Scientific Software (OSSS) Group at ResearchGate.net
Illustration 10: And another Robert Burke rendering
using Blender
Key features:
• Fully integrated creation suite, offering a broad range of essential tools for the
creation of 3D content
• High quality 3D architecture enabling fast and efficient creation work-flow.
• User community support by forums for questions, answers, and critique at
http://BlenderArtists.org and news services at http://BlenderNation.com.
• Small executable size, easy distribution.
While Blender is a very sophisticated and difficult to learn package, it offers phenomenal
3D rendering capabilities.
Open Source Software Review:
CAD Options for Linux Systems