Newbie guide to engineering tools

Posted: July 30, 2013 in Computers

At the moment I am teaching myself engineering. For reasons outside my control, I can’t go to school and be formally trained, but that doesn’t bother me. I learned how to program with a copy of “Teach yourself Visual Basic 6 in 24 Hours” and made a good 15 year career out of it.  I made lots of mistakes, picked the brains of lots of people, read lots of books, lots of magazines, and most of all, wrote lots of code.

Today, its a different world.  15 years ago I was stuck buying and reading every 1000 page book I could find. Today,  with the advent of Open University, Stanford, MIT, and hundreds of other universities releasing lectures and course work on the Internet, YouTube videos on every subject imaginable, you can see why it is much easier to expand your skills today than ever before.

So when I embarked on this journey I went first to old reliable, Google, to see how other people have begun to learn as I figured my desire was not unique. In my wanderings of millions of pages and forums, I saw a recurring question on everything; “I’m learning engineering, what software should I learn first?”. I saw this so many countless times that I got inspired to write this blog. I figure i’m a little different than your average newbie because I am already an accomplished software engineer. I know how to run a design process, how to test the design with prototypes, develop the final product, and deliver it. Lesson number one in your new skill search, I really don’t care what branch of engineering your dealing with, these workflows stays essentially the same.

First, lets address the question on the first tool you should familiarize yourself with when learning engineering.


That’s right. A pen and paper. In my career I have used virtually every software design tool that can be used. After 15 years, when I need to design a complex system or a complex algorithm, my first stop is a pen and a dollar store composition book at my desk.  If your trying to learn electrical engineering, learn the standard symbols for schematics. Start drawing circuits, laying things out.  All of the engineering disciples, (except software) including electrical, mechanical, civil, and design, predate computers, some by centuries.  Learn the traditional way of doing things first.  It is without a doubt, the easiest, fastest way to get rough ideas into a form to look at and make a quick decision if it will work or not. Use a pen and paper to first build your vocabulary in the field you are striving to learn because I assure you, no engineering tool will make sense unless you have a vocabulary. These tools are big, powerful, and intended for professionals so you will likely be hopelessly lost without the basics.

So now you have a notebook full of idea, mistakes, scribbles, doodles, etc and your ready to try out an engineering package. I am in no way going to generate a complete list, these are just my experiences and observations that I have had over the years with the most popular.

First, we have to get one big issue to get out of the way. Open Source.

Anytime I look on the various boards about engineering software I see the same question asked over and over again. “Is there an open source version of FooBar?”.  This is a very simple question to answer.  No, there isn’t.

I love open source.  I use it every day.  Truth be told, I don’t think I would be able to complete a single software package today without open source software.  But, open source’s biggest attribute is also its biggest drawback, its a volunteer community.  You see, its not very hard to organize 20,000 computer programmers to invest hundreds of thousands if not millions of man hours into a Linux kernel because its something many of them use every day.  To these volunteers, its simply working on one of their own tools.  The key is these programmers know how its supposed to work.  Its something they are familiar with.

Now, how difficult do you think it would be to organize a crew of 20,000 mechanical engineers and physicists who likely don’t know how to write huge applications and get them to volunteer the millions of man hours required to build an open source Solid Works?  Yes, I said millions of man hours.  Possibly tens of millions if you count the massive testing it would have to undergo.  These applications are HUGE and most all of them have been in development for decades by armies of thousands of developers.  That kind of big money efforts are very hard to replicate in the open source world.  Now, lets be clear.  I’m not saying that there are no open source engineering tools.  There are many.  What i’m saying is there are none of the caliber of the big packages.

So with that all said, I have no experience with 3D image applications.  Meaning packages like 3D Studio Max, Maya, Blender, and the like.  These packages are used to build video game worlds and movies.  I hear some of them are pretty good.  Seeing the last time I remember playing a video game was somewhere in the mid 2000’s with my son and my art skills end just beyond stick figures, I can say with all certainty, I do not posses the experience in this packages to speak intelligently.

But I do a fair bit of engineering so here’s my take on a few engineering packages.  Lets start with 3D modeling.

So how do you pick a 3D modeler to start with.  Well, it really depends on how much time you want to spend learning it and more importantly, which one you can get your hands on.

Google has SketchUp that is gaining huge inroads in the modeling world the past few years.  This is a good thing.  Its very easy to get around in and figure things out, has the model warehouse to import other peoples models, and you could spend a lifetime reading howto articles and videos on it.  If you have never used a modeling program before, this should be your first stop.  It does have problems.  Its not a true parametric modeling system.

A parametric modeling system builds a mathematical representation of your object.  You see it as surfaces, curves, and lines, but the software sees it as immensely complex mathematical equations driven by the parameters you are adding to it.  In essence, your not building a 3D model, your building a mathematical model that the computer is displaying on the screen as an object.

Sketchup (at least the older versions) is different in that it uses a series of flat 2D images and applies edge warping techniques to give the appearance of a 3D model.  So its not a true mathematical simulation of your object, but a clever shortcut to make a bunch of 2D objects appear to be a 3D object.  Since its not a true mathematically computed model, the likelihood of ever getting any meaningful analysis and simulation out of it is pretty slim.  But those Google guys are pretty smart, they may figure something out.  Now this drawback has been changing, This technique was identified as a problem the day Google released Sketchup.  Google has recently released a version called Sketchup Make that people are absolutely raving about.  I haven’t it tried it personally, but I’m told that its a modeler that is built with a focus to create models that can be printed on MakerBots and the like.  If that’s true, then Google has made some major progress on their modeling engine.  Hats off to Google, they have one hell of a little product there for modeling easy stuff.  If I wanted to model a new floor plan for my house, yea I can see myself using Sketchup for sketches.  But when it comes to generating measured drawings, no hesitation with me, I’m opening Revit.

Now the big two modelers that everyone thinks of.  Autodesk Inventor vs SolidWorks.  Which one is better.  Drum roll please…….NEITHER!!

One is not better than the other, one is not worse than the other.  They are two, very large, very powerful packages that model parts and assemblies.  Now, with that said, people have their personal preferences.  I began drafting with AutoCAD about 20 years, (my fingertips are still raw from when they drug me to AutoCAD R13 for Windows against my will), so Inventor was very natural for me to pick up.  I tried SolidWorks and it just didn’t feel right to me, it didn’t feel natural to work with, the buttons were in the wrong spot, they named things wrong and I was never able to get around it and gave up on it after about 6 months.

Don’t mistake that for SolidWorks being bad.  Its a great product.  Lots of power, lots of simulation tools, massive material library, it truly is a world class engineering modeler.  When you hear about people complaining about it, most of the intelligent arguments focus on problems controlling the surfaces.  This is very true, and the same problems exist in Inventor.

For our purposes here, i’m ignoring the back and forth arguments based on petty “mine is better than yours” pissing matches and my personal favorite “its different, therefore too hard” arguments.  These and similar arguments outline the ignorance of the person making the statements and not an intelligent debate.

Have you ever heard the phrase if all you have is a hammer, the world looks like a nail?  The same can be said for engineering modelers.  Can you drive a screw into a board with a hammer.  Sure.  Is it the proper tool for the job.  No.  So most intelligent arguments on one is better than the other focus on problems and tasks that realistically, neither one of them should be used for.  If you are trying to design the next World Cup winning super yacht or the third generation Dodge Viper, or aircraft of any sort, I would suggest you use something else.  You simply don’t have the ability to grab a surface and warp it in the way that people like.  That doesn’t mean it can’t be done in SolidWorks or Inventor, it just means that there are other tools better suited for that type of task, I will touch on some shortly.

Inventor is a whole different animal to me.  First, in my biased view, it just feels right.  I would have to say if you were to learn one professional level product with the hopes of getting a job in the field later on, I would go with Inventor.  Now for every 10,000 people that say Inventor, you will find 10,000 that say SolidWorks.  So let me tell you my reason.  Its called Autodesk 360.  To understand this, you have to realize that unlike SolidWorks, Inventor is part of a suite.  Say you are designing a house in Revit and you came up with an idea for the most awesome door knocker known to man kind.  Well  you can jump over to Inventor, model that door knocker, then bring it into Revit and attach it to  your door.   Think of Autodesk as the Microsoft Office Suite for all fields of engineering (with the exception of electrical, Autodesk doesn’t have an EE package).  Now, with Autodesk 360, you can upload your door knocker design to Autodesk’s cloud and set up a simulation to determine how many times your ex can hit it with a baseball bat before it breaks.  Once the simulation is done, you pay a fee and Autodesk drops the job to their cluster, run the simulation, and send you the results.  In addition to that, you can take your IPad with you to the bar and show your buddy the door knocker and the house in a fully rotatable, view-able, zoom-able model.  SolidWorks can do the simulation part of that, but none of the rest.  Autodesk is by leaps and bounds a more complete solution.

So how practical is this.  Meaning, what will it take to learn all of this.  Well, in my experience and estimation, for both Inventor and SolidWorks, it will take about a year of playing before you are truly proficient at it.  Then add maybe another 6 months to learn the proper way to use the simulation tools built into each one.   Then with Autodesk, it will take about another 6 months to get proficient with Revit, and about another 6 to 12 months for each of their other packages.

Not trying to discourage you, just trying to inform you.

So with those out of the way, I want to address the other main 3D mechanical modelers you will hear about in your Google searches.  Creo (formerly Pro/E), and Catia.  Creo is another CAD/CAM product in the same family as Inventor and SolidWorks.  But its bigger.  In the category of power and flexibility, its hard not to say Creo isn’t king of the hill.  In the category of ROYAL BITCH to use, its hard not to say Creo isn’t king of the hill.  It has gotten much better since they did the Pro/E -> Creo rewrite a few years ago, but Creo is for a whole different class of user.  If you have used SolidWorks for a few years, you will be able to pick up Creo fairly well.  If your a complete novice and the only modeler you have ever used is Sketchup, several hours and 5 tutorial articles later,  you might successfully be able to model a hole through a rectangular block.

Last is Catia.  My recommendation, don’t bother.  Where all the packages currently discussed are for designing parts, Catia is for designing everything.  Its a full life cycle development product.  Meaning its intended for you to design your widget.  Model your widget.  Model the molds used to cast the widget.  Write the CNC programs required to to make the mold.  Simulate the milling machine making your mold. (incidentally, this is the point where previous products stop) Model the molding machine used to run the mold.   Design the robot thats going to take the part out of the mold.  Design the conveyor belt that the robot is going to put the part on.  Design the landing area where that part is going to go.  Design the robots that are going to put the other part into your widget.  Design your testing area where your part will be tested.  Design the area where your widget is going to be boxed.  Design the box the widgets going to go in.  Design the styrofoam the widget is going to be packaged in.  Design the building that is going to house all this equipment.  Aid in the software to run all of your robots.  Then plug in your utility costs and run the entire assembly line virtually to generate numbers on how much each widget is really going to cost you.

Thats Catia.  Their biggest customer is Boeing.  They use it to do precisely what I described above, but with commercial airliners.  Not widgets.  Someone will have to be paying me an obscene amount of money before I even attempt to install that monster on something.  It is not for novices.  Most people I know say that unless your assembly gets into the thousands of parts range, don’t bother with Catia.

So, with all of that information said, what package should you learn.  Well, if you are intending on doing this as a hobby, Sketchup and Inventor would be my recommendation.  If you are looking to get a job in the field one day, I would start with Inventor and as soon as you get proficient in Inventor, go to SolidWorks and learn that too.  I really don’t care what everyone else says, in order to have a fruitful career in engineering, your going to have to know both.  I know engineers that run most of their day with both open at the same time because one part assembly was designed by a 3rd party in Inventor and another assembly is in SolidWorks and both designs have to be proofed against each other.  If you want a career, your going to have to know both.

Well this blog is long enough.  I will post a part 2 soon that will outline architectural tools and the like.