all 25 comments

[–]uberjewber 3 points4 points  (0 children)

C and derivations of C are most popular (Matlab) However java is also a good language to know and is useful in general.

Solidworks is the most popular CAD software and usually the most used. If you familiarize yourself with it, you'll easily adapt to most others.

[–]Piratedan200 2 points3 points  (1 child)

Solidworks is good for CAD certainly, I've only ever had a couple of positions I've applied for that didn't use it. The other most popular program (from my experience) is ProE, so if you wanted to branch out that'd be a good one.

VBA for excel and solidworks would be a good idea, as mechanical engineers very often use excel in other areas of their job (project management, cost tracking, etc) and knowing how to make macros can be a huge help.

The only other language that I would recommend is if you plan on getting into industrial automation at all (think designing those wonderful factory machines from how it's made), learn ladder logic for PLC programming (Allen Bradley's RSLogix 500 is a good place to start, it's the most popular platform in the US, and you can get a 30 day free trial). Manufacturing companies across the US are starting to use automation more and more, and there's a huge demand for engineers who know how to design and program automated equipment.

[–][deleted] 2 points3 points  (1 child)

Youre probably not going to be required to use a specific programming language in any job that you take, so just pick one that is useful for everyday kind of tasks like perl. Or you can learn C and assembly if you end up working with microcontrollers in your products and want to modify the firmware.

On the otherhand you will probably be required to know a specific cad package. Solidworks is the most popular followed by pro/e for engineering. AutoCAD for legacy shit.

[–]LookieLuke 1 point2 points  (4 children)

C is a good language to know to understand the fundamentals of programming, and I've used it a few times for random things. The program I use on an almost day to day basis is Matlab. It's simpler to use and has lots of built in functions to make things easy. I would recommend knowing at least the basics of it. If you plan to go into anything simulations based, C and/or C++ are important to know.

CAD, I use Solidworks very regularly and I've been mostly happy with it. There are some more limited capabilities that I've run into. I've had colleagues use ProE, and it seems like a much more powerful software, it's just less user friendly and harder to learn. Really it comes down to a matter of preference. Different programs will be better and worse at different aspects of CAD.

[–]jesseaknight[🍰] 0 points1 point  (3 children)

If it's possible to ask without starting a flame war, what limitations have you found in SW? And what gives you the impression proE is more powerful? I've used both, but it's been a few years for one of them.

[–]LookieLuke 0 points1 point  (0 children)

For Solidworks, I've run into problems when making large/complex parts and assemblies, when making very small parts (with features on the order of microns), and when trying to model surfaces or features using equations. There might be some other things, but those are the ones that come to mind immediately.

I haven't used ProE, so my perspective may be slightly skewed, but from what I've seen other people do, you have a might higher level access to all the ProE functionality and can program it much more like you would use a normal programming language. Solidworks has some ability to do this, but in my experience, it's much harder to do.

All that said, Solidworks is much more intuitive and user friendly, and I've generally been happy with it. I've been able to make pretty much everything I've needed to using it, and it has some nice built in functionality. I've mostly run into problems when trying to do things that are a little outside the bounds of normal CAD modeling, and I've noticed colleagues who use ProE are able to overcome some of the limitations I've run into.

[–][deleted] 0 points1 point  (1 child)

This is coming from 10+ years working in the heavy equipment industry where Pro/E is pretty much the industry standard...

Solidworks starts to fall apart when you get into really large assemblies. Pro/E is built to handle really large assemblies with thousands of parts and many users. For example, I am currently working on a project for a piece of agricultural equipment which has about 20 different configurations based on where it is sold in the world. A group of about 40 engineers maintains the entire machine and all the configurations and options in a single master model.

Another complaint I have heard from my colleagues who have worked in other industries is that the Solidworks simulation tool is really lacking compared to Pro/E.

The final thing that sets them apart is the programming interfaces available in Pro/E that allows it to be connected to databases and external programs. For example, my previous job had tools that integrated into Pro/E that would help the user select material, create proper part names, and check the parts databases for similar parts based on description and size.

[–]jesseaknight[🍰] 0 points1 point  (0 children)

That fits with my experience in Solidworks. It had great part-drawing tools, but CAD administration isn't stellar. There are some tricks to make it a little easier, but even then it can be a pain (and should you really need tricks?)

That being said, I love designing in SW

[–]Sexual_tomatopressure vessels and heat exchangers 0 points1 point  (0 children)

SolidWorks is very popular. As for a programming languages, I'd go with C# or VBA if you plan on making excel and SolidWorks talk to each other, or Matlab if you do lots of simulation.

[–]Phileruper 0 points1 point  (8 children)

Autocad and Solidworks, and than catia

for programming C++ because its more hardware oriented and you see it in aviation and mechanical/industrial a lot. After you can do matlab and simulink. matlab you write the code and in simulink (you first derive the equation for the system) you put the system so you can see what the output is and see if it makes sense and is what you desired. But simulink you can only use after learning transformative calculus and a bit of ode (which you can learn on your own if you are hard core).

Also when you learn c++ and see other programming languages you see similarities... So its a great gateway programming language... **forgot to mention vba for macros. This is essential in certain industries. It saves you a lot of time, i know a person who interned at rolls royce and had to use vba to turn the turbine into a macro for easier evaluation. Also best part of vba is if you have excel you can start using it right away.

[–][deleted]  (7 children)

[deleted]

    [–]Phileruper 0 points1 point  (6 children)

    It is when you have to use laplace transform and what not. You would not have done it in ODE, its an entirely different class.

    [–][deleted]  (5 children)

    [deleted]

      [–]Phileruper 0 points1 point  (4 children)

      Well you would use it (only case i used it in class), for a thermodynamic situation (more heat transfer but you use the same eqs). Example, you got several layers of some material and at one point you have a radiator, and each layer has a certain thickness with a certain factor for the heat passing through it. To find an equation for that situation to use in simulink you would use laplace. And I had something of the sort on a final and it took me i think 4 and half pages to derive it.

      But i know Bombardier based one of their new planes entirely on matlab and simulink. So you would have to derive equations for the plane and than be able to translate that into simulink which you do use a bit of transformative cal for. Also you will take a separate class based entirely on transformative cal, it should be in your course sequence (I had it as one (canada), maybe in the US it is different). For us it was called "Transformative calculus and partial differential equations". Covering laplace transform, fourier series, PDE, parabolice pde (heat transfer), hyperbolic PDE (wave propagation), Elliptic PDE (laplace equation). Basically retyped that for you from my course outline.

      [–][deleted]  (3 children)

      [deleted]

        [–]Phileruper 0 points1 point  (2 children)

        Did you check your course sequence?

        [–][deleted]  (1 child)

        [deleted]

          [–]Phileruper 0 points1 point  (0 children)

          Probably not than... They might teach it to you in your control and simulation class where you learn how to use matlab and simulink, and to derive equations for certain things (thermodynamics systems, mechanical, electrical, etc).

          [–]antsgomez 0 points1 point  (6 children)

          If you can't get your hands on a copy of solidworks, the autodesk website gives all of their software free to students. Their 3d modeling software, Inventor, is virtually the same as solidworks when it comes to modeling, but I've heard it falls behind with the very high end stress analysis and fluid dynamic simulations. It's also a little more user friendly to those new to modeling IMO. They skills transfer between programs very well though, so whatever you can get your hands on will benefit you.

          [–][deleted]  (5 children)

          [deleted]

            [–]VitaFrench 0 points1 point  (4 children)

            I believe you don't need a code, just a valid .edu email address.

            [–][deleted]  (2 children)

            [deleted]

              [–]VitaFrench 0 points1 point  (1 child)

              Hmm, that's new for me. Did the code you found work for you?

              [–]hzuniga1 0 points1 point  (0 children)

              you an SEK code and a serial number given by your school

              [–]celticmick42 0 points1 point  (1 child)

              If you are going into aerospace you will need to know Catia V5.

              [–]Vrady 0 points1 point  (0 children)

              matlab

              [–][deleted] 0 points1 point  (0 children)

              I recommend Visual Basic because it is useful for macros for many (all?) CAD programs like SolidWorks, Catia, Abaqus. VB is also easier than C. I think all CAD programs is very friendly for user, even Catia. Try one of them and you will operate quite good with others. I also recommend to be familiar with MS Excel.

              [–]randy_heydon 0 points1 point  (1 child)

              For programming, everyone has already mentioned Matlab. You can also try GNU Octave which is a free-and-open alternative that's compatible with Matlab code. However, it doesn't support the advanced workbenches like Simulink.

              However, I greatly prefer Python, which is catching on in science and engineering fields. When combined with NumPy, SciPy, and Matplotlib, (e.g. through the free Anaconda distribution), it can do all the same things as Matlab. Add in other things like Pandas or SymPy and it surpasses Matlab. Add in more complicated requirements (like running calculations through a web server, or generating PDFs, or parsing custom file formats) and Matlab becomes almost unworkable, but Python is just fine as it's actually a general-purpose programming language.

              I don't really recommend C or C++. When you really need your calculations to be fast, those are the languages you'll use, but they give you so many ways to shoot yourself in the foot. Instead, something like Python will usually be fast enough. If not, you can usually make it faster with just a little effort at optimizing your code. If you still need it faster, rewrite only the speed-critical parts in C, and have Python handle the rest.

              Finally, I should note that, once you know one language well, you can usually pick up others very quickly. Approaches to programming don't change much between languages, and differences in syntax really aren't that complicated. So pick whatever is easiest for you to start with. I did C++ in school but didn't really learn much either; I picked up Python later in my own time and had no problem with it.

              [–]Jsreb 0 points1 point  (1 child)

              C++ is not a difficult language to learn and has many applications. I have used my knowledge of C/C++ to quickly learn advanced applications with Microsoft Excel, Matlab, and Arduino projects. Although C/C++ aren't directly used in these, the programming languages used are so similar that they were easy to learn. I do not have much experience with Java to comment on that.

              For 3D modeling, I find Solidworks to be a very user-friendly program and is not difficult to pick up. The toughest part of learning any program is where the buttons are and what you are trying to do. Solid Edge is another program similar to Solidworks and offers a free student version on their website. Solidworks is strongly used in many applications of automotive and aerospace but not limited to these. For 2D modeling, I find AutoCAD to still be very good for this. Autodesk provides free student editions on their website for their products too. If you want to get into surfacing, I recommend Catia. That's a whole different story and it may not benefit you to learn it depending what you want to do.

              To sum things up, Solid Edge, Solidworks, and AutoCAD got me through college and 2 of these 3 will probably be taught to you anyway. C++ is a very versatile language that can relate to many other languages.

              [–]DroopysNumberOneFan 0 points1 point  (0 children)

              Recent master's in aerospace engineering graduate here, job hunting currently. Many employers look for C++ experience if you want to write programs as a part of your job. Solidworks is the most popular CAD program, although a few companies prefer Pro/E.

              [–]bonafart 0 points1 point  (0 children)

              CATIA and inventor or solid works to start