A discussion on Slashdot in October would have you believe that there aren't any good CAD programs for Linux. In fact, nothing could be farther from the truth. This discussion started with the GPL release of a 2-D CAD package called Qcad. From there it evolved into what is a ``GOOD CAD'' and who wanted what commercial package on Linux someday.
Once and for all I would like to set the record straight. There are options out there today. Several different packages are available, each with a different level of power and capability. Each package fits a different budget.
Qcad is the first (to my knowledge) working GPL CAD package for Linux. There are several projects currently listed as work-in-progress, but Qcad is here now. Qcad has a simple 2-D editor and uses DXF as it's native format. Qcad gets its name from the Qt tool kit. For those who do not use KDE, relax; it is not desktop-dependent. I have used it with both Xfce and AfterStep and have not seen any problems. With a simple icon menu it is functional and easy to learn. After a few minutes, I was working on my daughters new bed design. All the basic functions are at your finger tips.
Lines can be drawn by coordinates, clicking or offsetting an existing line. Circles and arcs can be created just as easily. Construction geometry can then be trimmed or extended to clean up the drawing and ready it for detailing. The font selection did seem to be a little limited. If you are willing, however, there is a means to create new fonts by copying an existing font file to a new name and modifying it. I imported one of my ``OLD'' title blocks and found that it required very little fixing or tweaking. Again a better selection of fonts would have helped with this problem.
I also pulled up several NACA wing sections none of which were corrupted in any way. For a final test I edited one of the sections, saved it and then pulled it up and extruded it with AC3D. For those who use AC3D, Qcad makes a very nice flat-pattern editor.
To find more information or download, the Qcad home page is at http://www.qcad.org/index.php3.
CAM Expert is the commercial big brother to Qcad. It has a similar interface to Qcad, but with extended features leaning more towards the creation of NC-programs. These features include but are not limited to: NC Import, NC Creation, Optimizing way, Optimization for Cutting Machines, (Cutting Contours From Inside To Outside), Individual Configuration of the NC Output Format, CAM Simulation, Regulating Simulation Speed, Smooth Simulation and Show Rapid Move. I would be interested in hearing from those who have put this software to use as I do not have the proper equipment.
For more information or a trial download, the CAM Expert home page is at http://www.ribbonsoft.com/.
SISCAD-P is a 2-D parametric CAD system from Staedtler. Installation was a little more complex than for some of the others (especially for non-SUSE users), but it is well worth the effort. For those familiar with Sketcher (2-D editor for CATIA), SISCAD-P reminds me of it only with many more features and a bit easier to use. The features include: parametrics, variational geometry, inference sketching, a fully customizable user interface, constraint-based modeling and feature-based modeling. Also if all of the smart geometry becomes too overwhelming you can turn it off and just treat it like a simple 2-D CAD Package with all the standard line, arc, circle, and text commands that you'd expect to have at your disposal.
The downloadable version is a demo that is limited in the size of a file it will save. From the menu, I selected the LOAD/DXF and imported the same bed design I had started in Qcad. After adding some more detail, I inserted the same title block as I had with Qcad only to receive a message stating that I had exceeded the limit (of the DEMO). I would have liked a little more room to play, but it did give me enough time to see that I should have taken the time to get this one going sooner.
My earlier attempts had been on a Mandrake and various Red Hats. This was my first try with SuSE and that seemed to make the difference. To download the demo go to: ftp://tsx-11.mit.edu/pub/linux/packages/cad/. There are instructions on how to register and get a full license in the documentation, but I've been told that Staedtler is no longer in the software business and will not support it.
ME10 is a 2-D parametric CAD by CoCreate, a subsidiary of Hewlett-Packard. If an award is given for the fastest learning curve then this is the winner. I've always preferred a text-based menu over icons. I think icons only make sense to the person who creates them. The oversized menu section takes up a lot of the screen but it makes up for it with the ease you can move through the commands. Whatever you need, it's right there.
According to the web page, it features parametrics with a ``parts concept'': an assembly may contain multiple copies or instances of a part. When the part is modified all the instances would update as well. By the same concept, sub assemblies may be inserted as an instance in other assemblies. This can be repeated creating an intelligent tree for your part structure.
ME10 has it's own internal browser for previewing drawings and symbols. Also included is a parts library and engineering symbols. Although it does have an IGES translator, DXF would have been nice. I would have liked to bring in some of my older geometry, but it's all DXF. There is a demo available that is well-worth the time to download. Again, the demo is limited in the size of the file that it will save. For more information and the demo check out the home page at http://www.cocreate.com/english/products/2d/index.htm.
The CADDA is from DAVEG. I did not find any kind of demo to try out on the home page, but it appears very nice. In response to my e-mails I was given the following to share:
The CADDA software is a true CAD/CAM solution that offers CAD and CAM functionality within one user interface. CAD-data can be imported as 3-D or 2-D models. The CADDA user selects, verifies and corrects the data during the preparation process. A postprocessor generates a ready to use CNC-machine program.For more information visit their web page at http://www.daveg.com/index_e.htmlCADDA supports following technologies: 2 1/2-D milling/drilling, 3-D free form milling, turning, erosion cutting, sink erosion and grinding. The newest branch of CADDA is the CAD/CAQ-module. It is working like CADDA CAD/CAM, but the preparation and post-processor system produces a ready-to-use program for a CNC-measurement machine. The CADDA application extends 3D-CAD produced data to become directly processable by the CNC-machine-equipped factory. If necessary, a direct connection between CADDA and the CNC-controls is deliverable. As an option, CADDA-CAD/CAM can include a full 2-D drawing capability to enable the staff with limited-modelling capabilities.
CADDA has been under continuous development by DAVEG for 15 years. HP-UX was the system basis up to 1998. In 1998, DAVEG offered a first version of a LINUX-based CADDA with PENTIUM II Hardware. Today DAVEG has installed 300 seats with LINUX: the results are extremely good. Customers are impressed with performance and stability.
Varicad offers 3-D solids and 2-D drafting at a very nice price. The user has the options of the icon panels or the pull-down menus. Although I like the text-based menu (pull down), I did find the ``Commands'' nested a bit too deep. This makes the pull-down menus slow. The icon panels work much faster, but the icons are not always obvious as to their meaning. Also, you can enter commands at a command prompt.
Varicad is another one that has been around for Linux for many years. More people are probably familiar with Varicad than any of the others. Part of this is because of a very good article about it in LJ last year.
Varicad can import and export both DXF and IGS. You can extrude or revolve 2-D geometry. Other types of solids include: prisms, cylinders, filled elbows, truncated pyramids, truncated cones, cone pipe, helix and square to round transitions. In addition to the standard boolean add (union) and cut (subtraction), you also have cut save tool, save part, cut save part and tool, and add cut part. Other additional functions include fillet, chamfer, hole, milling and groove. A simple intersection would have been nice. One thing I do appreciate very much was a good undo/redo that was easy to find. in fact it's hard to miss. Once the solids have been created they can be analyzed for anything from distance between objects to center of mass and moment of inertia.
There is a non-saving demo which can be downloaded for free. In addition there is a 30-day trial key which you can obtain to allow you to save for those 30 days. Varicad has announced that they are now a member of opendwg. What this means is that varicad will import and export (read and write) the AutoCAD DWG format. For the demo and more information go to the Varicad home page at http://www.varicad.com/.
Bentley is well known for it's Microstation line of cad products. Although there is not a commercial version for Linux there is an academic version. If you venture to the home page there is also a page where you can ``petition'' for a full commercial version. Word is they will not go commercial unless there is more interest. The academic version seems to have most of the functionality of the regular UNIX version except there are no Parasolid libraries. Modeler, TriForma and MS/J all use the Parasolid libraries. So if you're working 3-D, it will be wireframe and surfaces. Once again, if there is enough interest to justify the port this may change. All of the 2-D tools to create, edit and detail geometry are present.
One of the things that I have always like about Microstation is that it creates a very nice RIB file for rendering, with BMRT or other Renderman-compliant renderers. It also has the ability to render within the application itself. Try some of the sample files included to get a better idea of what can be done. There are no demo's or downloads to my knowledge, but there is a wealth of information on the Bentley home page at http://www.bentley.com/academic/products/linux2.htm.
Varimetrix has been in the Linux CAD market for over three years. Their previous generation product was renamed VX Classic. The newest product line from Varimetrix is called Vision. Both Vision and VX Classic are Commercial applications whose prices are probably beyond what most people could afford for personal use. For this reason, the information I have given is based on their home page, and an article in Cadence magazine. There is a demo disk for Vision, but don't get your hopes up. I sent off for it to help me with this article--what I received was not what I consider a demo. It was a presentation program that duplicated the information from the web page. If you do order a copy, don't panic when it says Windows 95 or better, it works well with Linux/Wine.
VX Classic is broken down into modules. The first module for VX Classic is VX modeling. Using their own in-house modeling engine called Unified Parametric Geometry (UPG), they did not have to wait for some one else to port it to the platforms they wish to support. VX Classic offers the choice of 3-D wireframe, surfaces and solids. In addition to having the choice of modeling methods, you also have the ability to transform geometry between types. Solids can be created by constrained/dimensioned geometry created from its intelligent sketcher. In addition to the traditional boolean operations, you can also sculpt the solids with a collection of spatula functions. For the Perl buffs out there, guess what they use for user scripting? Hint, it starts with ``P'' and has four letters. There is also a C interface called OpenVX.
The Second Module, VX Assembly, allows intelligent positioning of the details both in relation to other geometry and also with the bill of materials. Concurrent control of the assemblies is provided so that multiple designers can work within the same project without splintering the design. BOMs can be created automatically. A schematic representation of the BOM tree is also available. Parts can be analyzed to show CG, overall mass, moments of inertia, and collision between parts. The third module, VX Drafting, takes the details and assemblies created and gives the user all the tools needed to turn these into engineering drawings. The Drafting module can also work independently of the other modules. You may use layout templets, arrays, blocks or multiple instancing of geometry. VX Drafting provides automatic hidden line removal, and both automatic and interactive dimensioning. There is also a complete list of 2-D drafting utilities, all using constraint-based geometry. The list of features goes on and on and on.
The final module for VX Classic, VX Manufacturing, is a complete suite of CAM tools. VX Manufacturing uses the dataset from the modeling module. All forms of geometry can be used by this module wireframe, surfaces, and solids. Up to five axes are supported. Once again the list of features go on and on.
Vision for Linux should have been commercially available already. You would never have known this from the web page. The web pages on Vision never even mention Linux. I had mailed Varimetrix last year and received a replay saying ``Our new product line called VX Vision will also be running under Linux soon (mid-summer). Actually, it runs now but we are still testing.'' There was an article on Vision in the July/99 issue of Cadence magazine. Although the article was based on the NT version it does mention that there is a Linux version. For those who wish to migrate from NT to Linux this might be a good starting point.
You can find out more on VX Classic and VX Vision by going to their home page at http://www.vx.com/ and clicking on products.
As I have stated, there are options available ranging from free GPL to high-dollar commercial products. What may prove even more interesting are the other projects and products still in the works. Matra Datavision has released their Cascade libraries as open source. Keep your eyes on this one. Check out their web page at http://opencascade.org/.
I think it is time we started to recognize and support both the GPL projects and the Commercial CAD companies that are here and willing to support us today.
AC3D: 3-D object/scene modeler for Linux
CAD: computer-aided design
CAM: computer-aided manufacturing
CATIA: family of 2-D and 3-D CAD programs from IBM
CNC: computerized numerical control
DXF: format for autoCAD
IGES: initial graphics exchange specification
NACA: National Advisory Committee for Aeronautics
NC: numerical control