My pal and audio guru Steve Williams saw a news item where UPS (yes, United Parcel Service), will be offering 3D printing services in select stores. Always thinking ahead, Steve wrote me:
“What do people use to generate print ready 3D files? Not everyone has Solidworks like Dave [Ruigh, our ME pal]. Are there now programs that are low cost and simple to use that can generate files that 3D printers can use? Is the printing technology and hardware becoming standardized enough that software and files do not need to be tailored to a specific machine or printing process. I know that there have been a lot of machines and processes developed which I would think would require somewhat different design and files to make a useable part. Can Google Sketchup do this? Guess I wasn’t paying enough attention @ Maker Faire this year.”
My answer is “Solidworks”. If you can’t scrape up $4000, then live with the watermarks on the $89/yr student version. It turns out Steve is on the right track. I found a site that lists a bunch of solid modeling CAD programs. Google Sketchup was first on the list. I noted with dismay they didn’t list TurboCAD which is what I use for simple things. At least they listed Solidworks, which is what I would call a “real” 3D CAD program.
One of the severe limitations of the Maker movement is that everybody thinks everything has to be free. It reminds of the Frank Zappa song making fun of the Hippies, where he sings: “Free is when you don’t have to do nothing or pay for nothing. We want to be free, free as the wind.” Despite my populist leanings, I at least realize that programmers have families to support and they need to get paid for what they do.
So I looked at Google Sketchup 5 years ago and I found it laughable. It has some primitives, and I remember it being a simple Boolean CAD modeler. This website seems to agree. A Boolean CAD program means you build your virtual gizmo by adding and subtracting primitive shapes. Furthermore, that website said Sketchup is more intended for architectural modeling, which makes sense; it may well be intended to make all those 3D buildings that people have put into Google Earth.
That Sketchup is meant to draw buildings makes sense after my pal Otmar Ebenhoech noted that you can create a building or other solid and then see what it looks like as the sun passes over it for various times of the year. But if you want to make gizmos, Sketchup is not the program you want to spend time learning.
I myself did not understand the whole mechanical CAD world until I met a lot of cool mechanical engineers and machinists out here in Silicon Valley. A “real” CAD program needs two things: 1) parametric design (instead of Boolean), and 2) assemblies. Solidworks does this, but so much more. You can have the program calculate casting shrinkage, so that you design the part the way it fits, but then Solidworks will expand everything so that now the part represents the mold you need to make in order to cast it. Everything is a little bigger, but when the part cools down and solidifies, it will be the size you want.
Solidworks also does modifications to your sheet metal designs to allow for metal stretching over a bend. Once again, you build the part for what fits, and Solidworks will flatten it out and help you make the drawing of what the sheet metal shop has to start with as a blank.
Back to the two main criteria, Solidworks and all the other expensive solid modelers are parametric. There used to be this IronCAD that was Boolean—hang on—Yeah, they actually brag about being “drag and drop” as opposed to parametric, yet they still cost 3 or 4 grand. This sounds like yet another case of programmers who have no experience deciding how other people should work. Trust me, you want parametric. With Solidworks you don’t subtract a hole from a block. You select a face, and enter the parameters of the hole. It might be dimensions from the edges. Or it might be a percentage, like 50%, or it might be to center it. The diameter of the hole is just another parameter. All the parameters can be calculated by a formula.
Indeed the parameters in Solidworks can come from a different part, so the holes will always line up. This is a case of “OLE overshoot” like when Microsoft put in object linking and embedding into Word and all it did was make the Word document unless unless the person you gave it to had all the other Word docs and spreadsheets and all the other crap you linked to. I asked my ME buddy about relations in Solidworks. They can really get you in trouble. If you change one part on purpose, and have relationships between parts, then Solidworks will blithely go and change all the other parts, but in the old days did not tell you, so all of a sudden, your drawings don’t match your design intent or ECO (engineering change order) trail. My buddy says everyone does what I do—use relationships to initially build the part, then when it is right, break all the relationships, so you don’t have a festival of automatic changes rippling thought your assemblies. Like OLE, it’s just another case of programmer over-reach.
Solidworks did show how you could make a V-8 engine completely parametrically. Then they would type in a displacement number to a box, and the whole engine would change to accommodate that displacement. The bores and stroke would change, every single dimension would adjust and the whole casting would grow or shrink. Really cool, but unlike me, the programmers never worked in the engine design section of GMC Truck and Coach, where the last thing you want to do is change every part on the engine, when you could just put in a crankshaft with more stroke, or bore the existing casting a bit more. Sigh, programmers.
The other thing real CAD programs do is assemblies. See, when you are designing something other than a simple box, you really need to use the CAD program to fit things together. You want to either build the circuits board in CAD, or even old OrCAD 9.2 will export a 3-D representation if you put a “height” parameter in your parts. The newer Altium has native 3D that everyone loves. Then you get this into your mechanical CAD program and you can make sure all the holes line up and the case and cover and everything else is fitting. The essence of 3D design is building a new part in the context of existing parts—in other words, as part of an assembly. Sure, if you are like me, you break all the relationships and make each part stand alone. But with a real CAD program, you can also do 3D rendering to show the boss, or your friends, and you can generate assembly drawings and the “flatlander” drawings used to inspect the part.
Anyway, this gets to a touchy ethical issue. Rather than learn all these free hobbyist CAD programs, I would strongly encourage makers and system design engineers to learn a real CAD program. But who can afford the 5 or 10 grand to just do occasional work? Now in 1983, AutoCAD got popular since they went on record saying if an engineer took his copy home and installed it, it was just fine. I have been told by PCB CAD representatives that know people are stealing the program to take home, but that they would never go after these engineers, since their side project is teaching them to use the program and one day they may have 20 employees and buy legal copies of the software. All the CAD programs are available cracked, especially in Asia. Now remember, those programmers need to feed their family and it really is stealing to use cracked software.
When I was a consultant I would buy my software since I felt that was the righteous thing to do. The fact that I paid well over $10,000 for AutoCAD 10, 11, 12, 13 and 14 is one reason that I feel justified in never looking at their new products. Once I used Solidworks, I never wanted to use Autocad again. Solidworks is not the best for 2D drawings and architectural, so I bought TurboCAD for that. Both TurboCAD and Solidworks have a user interface paradigm that puts AutoCAD to shame. I fired up my AutoCAD 14 last month, and marveled at how obscure it was to get a printout from it. Then I took it off the computer for good. Solidworks shook up the whole industry when it came out. The people that became Solidworks were a bunch of folks that worked at Pro-Engineer, another monster hard-to-use program like AutoCAD. The management did not want to make an easy-to-use program that was based on a 3rd party kernel and that used all the Windows API to do the graphics.
Bad move by the Pro-Engineer management. I knew they were in trouble when I saw companies not installing upgrades since it would mean nobody could use the new version and if installed, a bunch of things would break. So now, 20 years after Solidworks came out, Pro-Engineer has adopted a lot of the ease-of use. They augmented ProE with Wildfire, and now when I look at their website, I can’t even recognize the products, but it looks like Creo is what their main-line software is.
AutoCAD was crushed in mechanical design by SolidWorks, while holding on to their GIS and architectural customers, since they were trapped by their own custom LISP programming extensions. Autodesk went on to offer Invent, which I hear is pretty decent. I won’t look at it since I still feel the sting of Autocad 14 every single day.
Some of my most brilliant ME pals love Unigraphics, which came from Ross Perot’s EDS, and then got bought GM, then by Siemens. There are two major cool things about NX, which is what they call Unigraphics now. One is that it is really good at surface modeling. If you are doing block billet designs for Harleys or etch chambers for semiconductor machinery, you may never use a single surface command. But remember EDS was bought by General Motors, who adopted Unigraphics for car design. To do car bodies you have to swoop and loft surfaces, and eventually turn it into sheet metal. Unigraphics excels at this. The ME buddies tell me that Unigraphics (now NX) will let you bulge and deform solids like they were surfaces, and they surface generation is unparalleled in Unigraphics.
The other great thing about Unigraphics/NX is that it also is a CAM (computer aided manufacturing) program that makes the G-code files for your milling machine, or the .stl (stereo lithography) file you need in your solid printer. Doing the CAM is an intimate part of getting your prototype, and my buddies tell me that the great thing about Unigraphics is that if you can design it, it will “post” to a G-code file that actually works and makes the part in a milling machine. With Solidworks you have to transfer the file to MasterCAM or SurfCAM and hope for the best. Note that Solidworks will output that .stl file you need for 3-D printing or transferring a dumb lump to another CAD program.
Like electronic CAD, mechanic CAD has evolved into a tri-state system. There are the old monster “enterprise” programs, where you need to work on it 8 hours a day to learn and remember the complex program. You will also need a staff of 5 to 20 people to install and maintain it. There are modern programs easier to use, like Solidworks. And there are the free and hobby programs that will take you so far and leave you stranded or waste hours or days of your life trying to get them to work.
|Company||Hard to use, crusty||Easy to use, modern||Note|
|PTC||Creo (was Pro/E)||Co-Create (wrapped into Creo)|
|Siemens||NX (was Unigraphics)||Solidedge||Unrelated programs but they are trying to put Solidedge UI inot NX|
|Autodesk||AutoCAD||Inventor||AutoCAD not really for mechanical design any more.|
Second tier and Hobby
|ZWSOFT||ZW3D||Solidworks clone||$1000, Chinese company|
|Ironcad||Ironcad||Boolean||Tries too hard to be easy to use.|
|IMSA||TurboCAD||AutoCAD clone but improved. Boolean||Great for 2-D and house design, but program split into 4 or 5 versions|
|Autodesk||AudoCAD LT||Used to be just crippled AutoCAD||Simple flatland and hard to use|
|Microsoft||Visio||Threat to Autocad LT||Best for org charts and nothing else.|
|Bentley||Microstation||GIS and architecture||Not for mechanical CAD|
|Ashlar-Vellum||Cobalt||Idea software that you have to use Solidworks anyway||For stylists, not engineers.|
|Corel||CorelCAD||Autocad clone Just found them, Boolean||Might be good TurboCAD replacement|
|Kubotek||KeyCreator||Boolean, Cadkey UI||Used to be the beloved CADkey|
|think3||thinkdesign||Lease model (now bankrupt)||Maybe Think 4 will do the trick|
If you really like to suffer, the free ones:
Sketchup, any GNU project, FeeCAD or any other freeware or shareware.
[Update 10/18/2013:] My ME genius pal Dave Ruigh just read this and had some things to add:
“Don’t forget Spaceclaim, the “un-parametric” CAD modeler, or at least that’s how they seem to be pitching it. Also, re integrated CAM (computer-aided manufacturing), that is available via 3rd party add-on with Solidworks (Inventor and SolidEdge too, I think), in the form of Camworks and Solidcam. I always get the two transposed in my mind. One has better 2.5-axis roughing cycles, and the other does surfaces and 5-axis better. This is old info though, things may have changed. Mastercam has a Solidworks add in, as do a few of the other standalone CAM guys, but the Mastercam flavor is still the same moldy old kernel they have been pitching for the last couple decades.”
“Mastercam would be on my hate-list anyway, because they picked the worst point in my career to blackmail me by “sunsetting” my $15,000 seat, making it permanently non-upgradeable (I would have to repurchase at full price). Solidworks, at least as of a few weeks ago when I talked to Hawkridge, doesn’t do this to their old customers. You just pay a $500 penalty + $1300 yearly maintenance and you’re back on the air.”