Slashdot Mirror


Ask Slashdot: Best 3-D Design Software?

An anonymous reader writes "I'm just getting into playing around with various maker-related tools, and I've run into a bit of a roadblock. I have access to a 3-D printer, a CNC mill, and a bunch of other fun tools, but I'm not able to make my own designs to use on them. I'd like to learn some 3-D design, but there are a ton of different software options, and I'm not sure which is the best. I've been hesitant to jump right into one, because I don't know how well it'll suit my needs compared to the others, and many of the options have a pretty steep price tag. I also don't want to spend a bunch of time learning one only to find out it's not very good for actually making things. I've played around briefly with Solidworks, Alibre, and AutoCAD, and also some free options like Blender and Sketchup. But these are complicated piece of software, and knowing nothing, it's hard for me to evaluate the differences. Makers of Slashdot, what do you recommend? Also, if you know of good online resources for learning 3-D design in general, or on any of this software in particular, I'd love to see it."

37 of 218 comments (clear)

  1. Rhino by Anonymous Coward · · Score: 5, Informative

    Rhino is an excellent surface modeler. People need to understand that a solid modeler is a different animal from a surface modeler. Solid modelers are usually parametric and are good for nested objects and assemblies. Surface modelers are good at smooth ergonomic designs. Many people use both to complete projects.

    1. Re:Rhino by Psyborgue · · Score: 2

      Nurbs are a lot less flexible than meshes. A simple subdivision modeler for beginners would probably be better such as Wings3d. I suppose it depends on what he wants to do, but if he's not printing parts for stuff, he'l be much better off with the greater flexibility.

    2. Re:Rhino by K.+S.+Kyosuke · · Score: 4, Informative

      NURNS surfaces are *not* supposed to be "flexible", they are supposed to be suitable for industrial design, e.g., with precise control for curvature and its differences, even at joining seams, etc. Subdivision surfaces were developed for artsy stuff, not for modeling things that someone will attempt to actually manufacture without pulling out one's hair and banging one's head against the wall.

      --
      Ezekiel 23:20
    3. Re:Rhino by ColdWetDog · · Score: 5, Funny

      ALL 3D design software is designed with the idea of having users pulling out one's hair and banging one's head against the wall. I think the software companies in this industry get together in some basement conference room (probably on the Oracle campus) and share tips.

      --
      Faster! Faster! Faster would be better!
    4. Re:Rhino by im_thatoneguy · · Score: 2

      +1 vote for Rhino if you want to spend a little money. Solidworks and Autocad are definitely better for large mechanical designs but they cost significantly more. Rhino is a good middle ground between the engineering needs and the purely aesthetic focused products. I would shy away from 3ds Max and Maya. Both work (we just finished a 3D printed project in 3ds max) but they're both focused more on film and games than printing.

    5. Re:Rhino by xclr8r · · Score: 2
      One can infer from this statement that he has access to and wants to use cnc and 3d printing.

      I have access to a 3-D printer, a CNC mill, and a bunch of other fun tools, but I'm not able to make my own designs to use on them

      --
      Beware of those who profit off the docile and persecute the unbelievers.
    6. Re:Rhino by theIsovist · · Score: 2

      I'll second this. I'm currently in grad school for architecture, and we use a ton of maker-space-esque tools. We have laser cutters, cnc mills, cnc plasmacutters, a waterjet cutter, 3d printers, and now a cnc fabric cutter, and Rhino's the tool of choice to design in here. It also has a ton of free plug ins that expand its power. Grasshopper's a great visual scripting tool if you're into parametric design (I'm not exactly sold on this yet), and through Grasshopper, you can use Firefly. Firefly is a plugin for Grasshopper that lets you talk to microcontrollers/other networks/webcams, and use the data to drive design. I just finished up a project where we used firefly to prototype a mechanical louver system to be controlled by Arduino, which was then fabricated on a laser cutter. It's a good tool, and very easy to learn.

    7. Re:Rhino by robthebloke · · Score: 3, Funny

      We all start out designing nice tools for 3D modelling, with sane interfaces, and straight forward paradigms. After a while, we realise that all 3D surfaces need to be manipulated in 4 spatial dimensions (5 if you include time), before being projected back through 3D, and then once more into 2D. A while later, we also find out that you need 720 degrees to do a full rotation, and that 360 degrees is merely a reflection through the imaginary plane. A while later still, we all meet up in a basement in Siggraph to see how every else did it, and realise that everyone else has simply given up trying to do anything better. After all of that, we normally decide that the best thing to do is to provide the users with an experience not unlike regedit, before we all sod off down the pub.

  2. Try Wings3d by Psyborgue · · Score: 3, Informative

    It'll always create closed meshes and is simple enough for beginners to use with more advanced modes available as you learn more. It can also export to a wide variety of formats.

    1. Re:Try Wings3d by Fifth+Earth · · Score: 2

      Another for Wings3D for a beginner. It's free, fast, easy to learn and use, but be warned it does have limitations. Most notably it cannot do boolean operations. like subtracting one shape from another. There are supposed to be mods that allow this, but I've never gotten them to work.

  3. Any of the Major CAD Software by Anonymous Coward · · Score: 2, Insightful

    As someone who has used AutoDesk Inventor, PTC Elements/Pro, and Solidworks in an engineering setting, they are all pretty much the same toolset but with the buttons rearranged. If you want to use CAD software, though, what really matters most is whether you can find a guide that is well-written on how to use CAD software for things. You may, in fact, want to take a course at the local community college. Whatever software they use, you can then buy and be at least moderately experienced with it.

    My college uses http://www.amazon.com/Introduction-Solid-Modeling-Using-SolidWorks/dp/0073522694 this book and it's pretty well-written, if you would rather avoid having to take a course. Solidworks is very capable of doing anything a hobbyist might want to and more.

  4. Guerrilla guide by kill-1 · · Score: 5, Interesting

    The Guerrilla guide to CNC machining, mold making, and resin casting is probably one of best resources you can find.

  5. Re:Blender is good by K.+S.+Kyosuke · · Score: 2

    Except that "Design Software" is something "slightly" different. Think Rhinoceros 3D or StudioTools. Blender sucks, surface-wise.

    --
    Ezekiel 23:20
  6. OpenSCAD ? by Anonymous Coward · · Score: 5, Informative

    If you come from a programming background, you might have a look at OpenSCAD (http://www.openscad.org/). It's a FOSS tool which allows you to do constructive solid geometry (http://en.wikipedia.org/wiki/Constructive_solid_geometry) through a programming language rather than a GUI (though you do have a GUI for visualization).

    It's pretty cool as it allows you to create parametric objects : for example, there are libraries to generate gears by specifing parameters such as radius and number of teeth.

    Quite a few projects of the reprap family are developped with this tool.

  7. depends on the goal by notequinoxe · · Score: 2

    Solidworks, AutoCAD (CATIA, Unigraphics PRO/Engineer etc.) are software designed for engineering and understanding what they're all about, even if some have some handy CNC extensions(both proprietary or created by others) would require some relevant education in the field; I suggest you play around with the stuff people use for the gaming industry (Maya, Milkshape, Rhino). Anyway, my 2 cents.

  8. Start small by Faraday's+Sloth · · Score: 2

    I would suggest you start on 3D printing as that has the most intuitive manufacturing paradigm (YMMV but still...). The easiest solid modeler to learn is probably Tinkercad: https://tinkercad.com/. Blender and Sketchup are not solid modelers. They CAN produce manufacturable (i.e watertight) meshes if you know what you want from them, though. I would suggest you try 3D printing with Tinkercad to get your bearings and then figure out where to go next.

  9. Sketchup, OpenSCAD by naroom · · Score: 5, Informative

    I tried Wings3d first, and it's easy to get into and make some compositions of cubes and spheres and whatnot. There's a good starting tutorial here where you make a simple table.

    However, as a programmer, I find it much faster and more intuitive to use OpenSCAD. Instead of clicking on things and moving them around on the screen, you edit code that generates the objects. There are thousands of examples to get you started at thingiverse. Here's one of mine.

    At the other extreme, Google Sketchup is excellent for the "click and drag objects around" approach. Its UI is way more powerful than Wings3D, and it may even be an easier starting point for non-programmers.

    1. Re:Sketchup, OpenSCAD by hsmyers · · Score: 2

      Then I can only suggest that you look again and this time take off those silly blinders :) Given the ability to 'push', 'pull' and a host of other actions, Sketchup leaves cad behind. I've used AutoCad since version 1.4 and Sketchup from the beginning and I think it accurate to say the the former is 2D while the latter is 3D. That said, OpenSCAD is a sweet piece of work and quite easy to use---IF you can handle the paradigm of code->drawing. You write code and then compile it to see your object. Very powerful once you get into the swing of things, but for non programmers, perhaps not the best approach. I'd recommend Sketchup over OpenSCAD based on that demographic.

  10. Alibre! by Keick · · Score: 5, Informative

    Alibre is worth learning if your serious about CAD/CAM. The personal version is only $99 and should do anything you want outside of NURBS. You absolutely don't want to use something like Blender for 2D/3D precision work.

    Alibre tries to follow the Solidworks way of doing things, so if you learn Alibre then you can quickly migrate to something more high-end if you ever need too.

    It has support for full parametric solids cad, so it isn't the old school Autocad stuff where you have to pretend you know what its going to look like from your 2D sketches.

    When your ready to cut metal, or print plastic, Alibre can output a number of solid models (STL) formats, as well as DWG and DXF which are critical for using importing into a good CAM package (whole nother ask slashdot on choosing a good CAM).

    Alibre has some pretty easy to follow tutorials to get you started.

    I don't work for the company, just a VERY happy camper when I bit the bullet 2 years or so ago and got the $99 version. Used it to design a 3D printer down to every last nut/bolt.

    Yes its a challenge, but like everything worth doing...

    Last, but not least, get plugged into the forums at cnczone.com. They have categories for every type of machine from mills, lathes, to 3D printers; from every type of CAD package to every type of CAM. Its a great asset, and once your hooked you'll spend more time reading on cnczone than here on Slashdot (sacrilegious i know).

    1. Re:Alibre! by spagthorpe · · Score: 2

      I would agree with Alibre. I bought it years ago for some work a friend and I were working on. Like all 3D software, there is a heavy learning curve, and there is no free lunch here. Alibre came with around 6hrs of training videos, and of course, there is YouTube for lots of other questions that come up.

      I think you'll find after reading all these posts that there is no easy way to do this, you sort of have to pick one and go with it. Alibre is very well supported, and has a pretty big following in the home machinest/hobby crowd, and their monthly news email has cool stuff that people are doing with it. I knew I didn't need a full multi-thousand dollar pro system for the cad work we were doing, but I didn't want a buggy open source solution either. Alibre was the best blend between the two I found.

      --

      WWJD -- What Would Jimi Do?
      (Smash amp, burn guitar, take home the groupies)

  11. Just a quick response by Angel+Del+Piero · · Score: 2

    I have been doing 3D modeling for over 25 years. If you really want to get good or create some neat stuff, it doesn't matter what program you use. They are all "hammers" and we all prefer a particular "handle" to pound nails. If you really want to do some scripted 3d renderings, use POVray, If you want a program with a UI Blender,3DSMax, or something along those lines works great. If you need precision, any form of AutoCAD works great. Pro/E and others like it are a bit more difficult. Pick a program and buy a book and learn to use it, or search YouTube for video tutorials. I use autodesk programs and I am in the ADN, because I enjoy writing my own plugins and all autodesk programs are fairly easy to write add ons for. If you want to create great models you will, but you will have to learn the terms and quite a few complex operations regardless of the program used. That's just the reality of it.

  12. Rhino + Grasshopper 3D by omershapira · · Score: 2

    It's amazing.
    The command-line in Rhino is robust (scriptable via Python) and Grasshopper allows node-based geometry workflows (like Max/MSP, Houdini, Quartz Composer, etc). It also allows you to create complex scripts and control their input in real time. Rhino is impressively accurate (algorithm-wise) for its price. I've seen this setup where my girlfriend studies architecture, but also at NYU's interactive telecommunications program (where I study) - two places that have quite different requirements (one designs large-scale and shares with engineers, one designs fist-scale and prints directly), yet it serves them both quite well. I wish all of the 3D programs I worked with had this workflow.

    One major caveat is, however, that this stack works only on windows. Grasshopper is written in .NET (and, until recently, only scriptable in C# in VB - python is new and experimental). But it'll take you a long time to hit a wall with the available functions and have to write something.

  13. AgentCubes (draw 2D, turn into 3D) by the+agent+man · · Score: 2

    AgentCubes/Inflatable Icons allows you do create 3D shapes very quickly with no 3D modeling background. Paint images in 2D and turn into 3D. You indicated that you are struggling with 3D tools such as Blender and even Sketchup. I guess I don't know what kinds of shapes and what kind of quality of 3D shapes you have in mind. We have been exploring for some time why many people have problems using these kinds of tools. The short answer is that these tools are aimed at typically professional 3D designers or, more generally, at people with a lot of time at their hands to learn an interface with a steep learning curve. If your goal is to produce 3D shapes of the Pixar level quality then there just is not way around these kinds of tools. If, on the other hand, you just need to build very simple shapes that you can produce in, say, a couple of minutes, and maybe print that on a 3D printer then perhaps Inflatable Icons may do the trick.

    A benchmark with Inflatable Icons was that if it takes more than a minute to explain how to make a 3D shape it is too complex. The idea is to make casual 3D tools. We have tested this with many kids and it works great. The short version of the concept is that practically all 3D tools work on the "First Shape then Paint" while we have flipped this around to be "First Paint then Shape" You are basically drawing a 2D image first using a Photoshop-like editor. Then you use tools including inflation to turn then 2D image into a 3D shape.

    video: http://www.youtube.com/watch?v=2GWcb3aG2w0&feature=player_embedded

    sample Inflatable Icons (you can even edit them in the browser): http://scalablegamedesign.cs.colorado.edu/arcade/

  14. 3D part design is complex by Anonymous Coward · · Score: 2, Informative

    I'm trying to understand what you are asking for, and I'll just take a wild guess and say that you are a complete beginner who really wants to use advanced tools to make some stuff, not just a saw+hammer+nails?
    Consider what you are asking of your CNC/printer/etc. vs. what you want to create. If you want to make things that are composed of many things attached together for some function, then the idea of make something in 3D becomes a layer of more of complex considerations. If you want parts to fit and move, or not, in a certain way then you have added yet another layer of complexity. There are many options available at many price points. If you want to create geometrically (mathematically) precise parts, then a NURBS surface or a solids modeler will be very helpful. If you want to create assemblies with parts that mechanically fit together and function together properly, then it would be wise to consider an app that can provide associativity and assembly functionality. If you want to create organic forms that don't need to work functionally together (ie slide, rotate, not move, etc.) then you can utilize the organic, yet relatively imprecise mesh modeling apps. The two types of software (mathematically precise and polygon mesh modelers) rarely work well together, at least in my 20 years of experience. There are apps that will get around this impediment, but they can be pricey.
    If you are going to make things then output from the design process (CAD) needs to transfer/output/export to the next phase (CAM), and from there to your advanced tools/machine. I am not trying to advocate, just explain the process and the steps between the phases.
    If you want relatively cheap but good 3D software that can output to CAM and 3D Printer, you can try ViaCAD ($), FreeCAD (free), and some others.
    Wow, its difficult not to go into detail. I've erased 1/2 of what I typed and tried to answer all of the OP questions without going over board.

  15. Re:Blender is good by Psyborgue · · Score: 2

    True that. It's surface tools are almost non-existent. There has been talk of integrating a better nurbs library (Nurbana) into Blender, but I don't think much has come of it. There just isn't much demand. Blender targets artists, not engineers. If you're going to be creating an object for rendering, there are very few reasons to ever use nurbs over subdivision surfaces. Subdivs, while lacking the precision, do not have the same topological constraints.

  16. Processing by LiavK · · Score: 2
    A totally different approach, if you like programming is processing. If you're not a serious coder, it's got a light-weight IDE and is specifically designed to be a gateway drug for artists/designers to the world of computational design. If you're already comfortable with Java, you can import the processing core into eclipse and really go hammer and tongs at it. It's got a ton of libraries, several of which are specifically devoted to creating STLs, meshes, NURBs and exporting that geometry out to STL, dxf, dwg, etc. Take a look at toxilibs for some particularly cool functionality with meshes and physics libraries. There is also a good online forum.

    Not familiar with computational design? Check out some of the examples on the processing gallery.

  17. 123D Design from Autodesk by drgould · · Score: 2

    123D Design from Autodesk is free and compatible with 3D printers.

    Here's a guy who used it to replace a critical piece of a mounting bracket for his TomTom GPS.

    The video gives you some insight into the workflow from design to 3D printing.

  18. blender - Cross-platform, opensource by Zimluura · · Score: 2

    Blender.

    When learning complex and powerful software look for two things: Cross-platform & Open-source.
    Cross-platform code is usually much more stable, having a healthy abstraction layer from the os.
    Open-source: It can never be taken away from you - say you learn autocad, and use 1 feature allot, then there is a new version of windows and it's not compatible with your autocad, so you get new autocad, but that feature isn't there anymore. if it were opensource you could maybe do something about it.

    You put the two of them together and you also get the benefit of possibly flying anywhere in the world, and being able to download powerful software that you already know how to use on whatever computer they have there.

    I started 3d modeling on truespace, and the many hours (and dollars) i spent on that are gone forever now.

  19. Re:Blender is good by Psyborgue · · Score: 3, Interesting

    Not to mention stuff tends to move around with every single version so a tutorial for version 2.55 may not be applicable to 2.66. It wouldn't be so bad if they documented things, but this is sadly not always the case. Just take the bevel took for example. I don't think that's stayed in one place for any of the past 10 or so releases. Sometimes it's a tool. Sometimes it's a modifier. Sometimes it's under the "w" menu. It can be frustrating as all hell if you don't keep up with every release. Skip a few and it's like learning the program from scratch again.

  20. Solidworks by twistedsymphony · · Score: 4, Interesting

    Since your goal is 3D printing or CNC machinging I would say you definitly want a "Solid Modeler" type package. I prefer SolidWorks personally, In my experience it's the defacto among small to medium sized manufacturing shops that keep up with the times, Pro-Engineer is popular too. AutoCAD seems pretty popular among shops that are a little behind the times.

    Larger companies (Auto and Aerospace manufacturers) tend to use packages such as Catia, but that's way overkill (and way out of budget) for 3D printing and the like, it's more suited to massive assemblies with thousands or millions of components. Solidworks isn't without it's faults but I find the interface fairly intuitive once you learn the basics and it's perfect for small-scale stuff. I've used it many times to design small components and assemblies for car and computer projects among other things. Most professional software solid-modeling packages can export to whatever format you'll need for your 3D printer, CNC software, or whatever it is that your manufacturer requires.

    You want a solid-modeler like Solidworks/Pro-E/Catia/etc because they're all designed with dimensional accuracy in mind. Surface modelers are generally used for 3D graphics production and have a higher concentration on making things look good than being dimensionally accurate. It's like the difference between MS Word and Adobe Photoshop... if you want to write a book, Word is probably the better software, but if you're designing a poster, Photoshop is probably the better choice... both create "documents" but they have very different uses... similarly if you need a 3D design software for manufacturing or real world production you want Solidworks, but if you wanted to make a 3D move or game Maya would be a better choice.

  21. SolidWorks by Latentius · · Score: 2

    I'm not a complete CAD junkie or anything, but I've used ProE, SolidWorks, and even CATIA. If I wanted to just design something for fun, I'd probably reach for SolidWorks first. It's really powerful, but also really intuitive and easy to use (at least the more recent versions).

    I've heard a lot of good things about Rhino, too (and many others have called it out here), but I haven't used it personally, so I can't compare it to the others above.

  22. Re:Blender is good by Will.Woodhull · · Score: 2

    Subdivs, while lacking the precision, do not have the same topological constraints.

    I am puzzled by the "lack of precision" assertion. I use Blender for artwork, and occasionally for architectural models. It can be easily set up for meshes with sub millimeter accuracy within a 10 kilometer cubic universe. Its 3D cursor system allows precise placement of a vertex or object anywhere within that space, or precise location of an existing vertex, or extremely accurate placement of a new vertex or object at a point interpolated between the location of two or more existing vertices. Though for some interpolations, you do have to construct a simple temporary mesh to get very high precision: Euclidean geometry in 3 dimensions.

    Blender does have some weaknesses. But its mesh modeling capabilities are pretty good, and for the purpose being discussed, the limitations in its nodal textures, its new render engine, its compositing features, and its video sequence editor will not matter since there would be no need to use them. OTOH, the ability to export a mesh constructed in Blender to the common CAD formats make it possible to easily work up a design in Blender, then export it to tools that can develop materials lists, cost estimates, and so on that true CAD tools can generate.

    I don't know if Blender is a good tool for what OP wants to do, but it certainly has enough accuracy for any real world 3D design work.

    --
    Will
  23. Re:Uhhhh, has it been asked? by WillAdams · · Score: 2

    I've been trying to work up a list for use w/ a Shapeoko here:

    http://www.shapeoko.com/wiki/index.php/Advanced_Software

    Still haven't found a suitable package (for my needs) --- all-too many of them can't do real curves / arcs and fake them w/ polylines --- so I've been hand-coding G-code.

    I'd be glad of additional apps/packages or information.

    --
    Sphinx of black quartz, judge my vow.
  24. You need to learn to design first by j33px0r · · Score: 2

    Since this is /. I'll start with a programming analogy. Imagine someone saying: "Hey, I got one of those rasberry pi computers and a bunch of stepper motors and I want to build a robot." Sure you could do it but you would need to be ready to put in some time and a lot of hard work.

    CAD design is a field, just like programming. You need to learn some basics of design (drafting in the days of old) first. This doesn't mean that you need a degree but it does mean that you should be a bit organized in how you approach it. Here's my suggestion:

    1. Pick a program that will let you do 3d modeling that you can easily aquire. Pick wisely so that you only waste 1 strike if caught =)
    2. If you do spend money, don't spend a lot. This could be a momentary interest/hobby
    3. Get a book that teaches the basics of design with the program that you chose
    4. Start simple
    5. Be patient

  25. Options for every need: by anethema · · Score: 2

    I do 3D printing and talk a lot to the designers of the big printers. As mentioned above, you definitely don't want Blender, or any of those other surface modelling apps. They WILL work, but tend to suck for dimensional accuracy, and you can create weird crap that cant actually exist.

    I think if money is no object, Solidworks is by far the easiest and most powerful thing you can jump into, with tons of resources on the net. If you can afford the price tag or are going to pirate it anyways, Solidworks is great.

    The mendelmax series of printers is designed by maxbots. He personally uses Alibre. He says it does a lot of what solidworks does, and with some caveats, thinks that for the 99$ it is a great tool and all you'll ever need for basic 3D modelling. Depending on your patent stance, 3D systems owns a shit ton of patents on 3d printing in general and they don't hesitate to use them to close down infringing competitors. This may sour you.

    If you want a fairly nice option that is getting nicer every day, FreeCAD is obviously free, open source, and is a fairly nice tool. Obviously no Solidworks, but the price is right!

    And the last but certainly not least is OpenSCAD. You write your 3D models like programs, and it will render them. This allows some very cool time saving things, but it is obviously a bit less visual, so it depends on how you think, design, etc, and what your background is. Many of the things you will make in OpenSCAD will end up being parametric as well, making resizing and changing things somewhat easier. That being said any of the above tools can create parametric designs.

    Anyways good luck, I love 3d printing, and would love to get a mill some day! Or maybe just start casting my prints using the lost PLA method: http://3dtopo.com/lostPLA/

    Have fun!

    --


    It's easier to fight for one's principles than to live up to them.
  26. Re:Blender is good by Anonymous Coward · · Score: 2, Interesting

    Placement of individual vertices isn't really the issue. The issue is control of curvature between the vertices.

    For example... in Blender, try to make a cube with a cylindrical hole in it. The four square faces of the cube are no problem; they can be specified exactly with polygons. The cylindrical hole, OTOH, is more of a problem. You will end up with an approximation to the cylindrical hole, but not an exact cylinder. You will also have to get your approximation at the right level of detail on the first go, because there's no easy way to re-generate at a higher level of detail without re-making the entire mesh.

    Compare with NURBS modeling... with NURBS, the four sides of the cube are plain NURBS patches; basically the same as the Blender polygons. The sides with the circular holes in them will be specified with trim-curves which (in this particular instance, but not always) can exactly specify a circular hole. The cylindrical hole will then be a single patch which is mathematically identical to a cylinder. The entire NURBS solid can be generated to any level of detail using tessellation. It's not necessary to specify the level of detail until you actually output the solid for machining, 3D printing, or whatever.

    This describes the "precision problem". The problem is not individual vertices, but control of the curvature between them.

  27. Start with Sketchup and work your way up by hackertourist · · Score: 2

    As another poster said, most CAD packages have a terrible UI. Be prepared to spend lots of time.

    SketchUp is a pleasant exception, but that's because it has relatively few features. Nevertheless, it's a good starting point. Use it until you run into its limitations, and use the knowledge you've gained to make an informed decision about your next step.

    I've recently started using PTC Creo Elements (formerly Pro-Engineer, I believe). It couples a very complicated UI with useless documentation.

    I've also used Inivis AC3D. After running into SketchUp's limitations, I tried a number of CAD packages, and this what I ended up with. I wanted an application where I could use at least some of my Adobe Illustrator experience, so I downloaded a couple of programs and tried drawing a simple curved shape (a rocket engine nozzle) in it. AC3D was the only one where I managed to do this within an hour or so.
    Its drawback is that it doesn't do parametric (Bezier) curves.