37
$\begingroup$

A moving design would be the final goal, but first I need to build complex shapes based on geometry as 3D modeling for engineering.
Does blender have a work tree where you can rearrange the order of actions taken? How do you manipulate basic shapes like circumference and length of a cylinder? Can you extrude and revolve or array and mirror? Are work planes easily defined and inter-related?

$\endgroup$
5
  • 2
    $\begingroup$ Can you be a little more specific? Blender can change the shape of basic geometry, and animate almost anything, but if you're wanting to do that in a particular way, that'd be helpful. "Does this SW have a work tree where you can rearrange the order of actions taken?" is a great question, but describing exactly what you need will be better. For example, Blender doesn't have a "work tree," but maybe it does what you need a different way? $\endgroup$
    – Matt
    May 24, 2016 at 13:13
  • $\begingroup$ Blender uses Python as a text scripting language. Blender has a constraint system and physics systems. It has add-on visual programming tools. You may need a tutorial series. Here is one ......... youtube.com/… $\endgroup$ May 24, 2016 at 13:32
  • $\begingroup$ It sounds like you're looking for parametric modelling with a history tree. Try checking out openscad.org first, you may find that a more appropriate tool for your needs. Blender can be used for engineering/technical stuff, but its main usage cases are for more entertainment stuff. $\endgroup$ May 24, 2016 at 13:57
  • 5
    $\begingroup$ Blender isn't meant for CAD! I'm the developer who made that decision (and yes it was an explicit design decision); at the time we wanted to focus on small animation studios (this was 2009 or 2010 I think). $\endgroup$
    – Joe
    Jan 20, 2018 at 2:29
  • 1
    $\begingroup$ If you are looking for free open-source CAD programs, there are FreeCAD and DesignSpark Mechanical. If you want CFD, there is OpenFOAM. $\endgroup$ Feb 28, 2020 at 20:56

4 Answers 4

33
$\begingroup$

TL:DR Blender is a weak app for actual engineering work, it's not a CAD software. - Instead try free CAD apps like FreeCAD, NaroCAD, SolveSpace, DesignSpark Mechanical, OpenFoam for CFD and I am sure many others.

I can recommend Blender for modeling objects to which you already know their design and parameters and you are sure the shape is mostly final (like modeling your living room or a part that broke and you need to 3D print it). Good for organic modeling through sculpting too. Blender is an app designed for animation studios and entertainment industry. Engineering workflow in Blender is slow and full of workarounds. You'll be fine with simple shapes, but not with engineering anything slightly more complex.

The bad:

  • There are no work planes
  • The modeling workflow is generally destructive
  • The procedural stuff (modifier stack, object nodes,..) has big limitations
  • You cannot easily constrain geometry elements together (parallel, tangent, etc. relationships)
  • NURBS or parametric surface tools are practically non-existent, so everything will be made from polygons. This can bring whole lot of problems you don't want to deal with.
  • No easy export into technical drawings

The good:

  • There is modifier stack providing functionality like Mirror, Array, Revolve, Boolean, etc. The stack itself is like modeling history tree. But some of these modifiers do fail if they encounter non-manifold mesh or flipped polygon normals. It's not exactly fool-proof.
  • You can tag measurements with MeasureIt addon
  • Blender is quite capable with 3D printing your stuff with the help of 3D Print Toolbox addon
  • With Sverchok addon (or Object nodes that are coming into Blender) you can create geometry procedurally - it is similar to Rhino's grasshopper
  • Visualization of your models is top notch, you can go photoreal
$\endgroup$
14
$\begingroup$

It sounds like you're looking for a CAD-style modeler that can do node-style or procedural animation.

The short answer is, Yes, Blender is what you're looking for, but you might need some addons.

The longer answer is: It depends on exactly what you need. For example, Blender doesn't have a "Work Tree," specifically, but it does have Animation Nodes, which are a little like Unity blueprints. Blender also has a dope-sheet where you can record small animations, and then "rearrange the actions" to make a full animation. Blender also has an NLE (Non-Linear Editor) for editing video much like Final Cut Pro.

As for modeling, Blender is a mesh modeler by nature which means that elements don't have properties like "length" or "circumference" that can be modified directly. But there are some very powerful addons for making it a little more like AutoCAD, like the Measure-It addon (I seem to remember there being a more robust tool like this, maybe someone else remembers it and can edit my answer). There is also a full structural design addon called ArchMesh that makes building design and interior design super-easy.

Yes, Blender has tools for mirroring, arrays, lathe/spin, curve deform, and many other non-destructive approaches.

There's an addon for everything... and if there's not, it can be made ;-)

This site isn't great for lengthy discussions, though. Further discussion might be more fruitfull in the chat here, or in the forums on BlenderArtists.

$\endgroup$
1
  • 3
    $\begingroup$ Unity blueprints or Unreal blueprints? AFAIK Unity doesn't have blueprints like that. $\endgroup$
    – JakeD
    Jan 8, 2017 at 22:48
9
$\begingroup$

First of all, like the other answers already said, blender is not a CAD program. This has its pros and cons. Where cad programs are very precise and require to know every single dimension, blender is more like: 'if it looks right, it is right'. Blender does not have constraints. This means that it is much easier (and an awfull lot quicker) to actually make most things in blender, but once you made them, it is really hard to make it fit the exact dimensions you want.

As an example, I recently designed something for 3D printing that had an axle inside a hole, which needed to have the right amount of space between them in order to make the axle capable of rotating without beeing too loose. I designed it in blender and just eyeballed it.

enter image description here

I have no idea what the exact dimensions of the axle are, but it works. It is not too loose and rotates just fine. However, if I would want to make the hole twice as big, there is no easy way of doing it that would also change the size of the axle to get the same perfect fit, while in a CAD program there is.

Another thing to watch out for is that blender does not work with shapes but with vertices, meaning that if you add a cylinder, it is not really a cylinder, but an object consisting out of a number of faces that is supposed to look like a cylinder. Objects in blender basically have a limited 'resolution', which you decide when you add an object, and depending on the model, it can be incredibly difficult to increase that 'resolution'.

I personally prefer blender for most of my design work, just because it is easy and quick, but whenever I need very precise dimensions and adaptability I switch to CAD.

$\endgroup$
2
  • 2
    $\begingroup$ Exact dimensions of meshparts are not longer a problem. Ekaj2 made an addon with which you can scale a selected mesh part in world coordinates while you are in Edit mode. This should be imho included in Blender by default ... github.com/ekaj2/MeshTools $\endgroup$
    – Tiles
    Aug 22, 2017 at 10:57
  • 3
    $\begingroup$ Imho this answer is a bit misleading. In CAD the constraint system and ability to change things on the fly are essential. It is not true that in CAD you require to know every single dimension, quite on the contrary actually. In CAD you design stuff without knowing the dimensions and the final design comes together based on the constraints of the design. In Blender you have to know every dimension - by eyeballing it you define it (though visually which is easier than writing a number on paper and then using it). CAD is much about the design phase where you need everything procedural. $\endgroup$ Aug 22, 2017 at 18:53
8
$\begingroup$

I don't know anything about a work tree or organizing actions, but I do know that if you can code it, you can add it into Blender. Manuel Bastrioni has automated and parametrized making humanoids.

Yes, you can do parametric modeling in Blender. First of all, cylinders are a core primitive mesh and are set with properties of r (radius, rather than circumference), height, and number of sides. Second, you can enable add-ons to get even more basic meshes with different parameters. Blender 3D Architect has a course on how to build your own parametric elements, and there's parametric objects out there for you. Bastrioni's work mentioned above parametrizes all kinds of aspects of a figure (shape, expression, etc.). I came across this post looking for a free tutorial, but the one I mentioned is only $30 right now.

Also, since this sort of relates to circumference and other properties, Blender allows you to set your units to SI (meters, cm, etc.), and to view the length of sides, area of faces, and angles of either.

Yes, you can extrude edges, vertices, and faces, and extruding has various options. As do transformations (scaling, rotation, moving), which can be done in various Cartesian systems and around various points. It has non-destructive modifiers, such as array and mirror, that enable you to generate and alter your mesh according to changeable properties.

IMHO, Blender is comparatively weak in terms of built in parametric modeling (its polygon modeling is very efficient, though). That said, I generally find it easier to script a precise mathematical process than to do it by hand or through someone else's tools. My main experience in this has been with materials, but if I want a relationship among elements to follow a specific equation, it's just easier for me to write that out. Blender's community is quite strong when it comes to scripting, so there's a lot of tutorials on getting started coding scripts.

Also, all of its numeric inputs take math equations. So, for instance, say you want to define a cylinder by circumference rather than radius. You can actually put 10/(2*pi) in the r field. You can set its units, and the relationship to units.

Yes, work planes are easily created. I'm not sure what you mean by interrelated. If you mean can you create work planes that have each other as parents (global > work plane 1> work plane 2 >... work plane n), then no. But you can create as many as you want and switch between them easily.

It's definitely not a CAD tool. But it is kind of a "whatever you want to make it into" tool. So very much of its growth has happened through add-ons that were so useful they got incorporated into the main distribution. Individuals decided to give Blender new features, so it got stronger in those particular areas.

If you have absolutely no 3D needs beyond designing mechanical elements, then some other 3D tool would probably be better. But if you want, say, mostly create precise mechanical designs, occasionally add cloth or flexible (soft body) elements to your designs, sometimes add regular polygon modeled elements (for instance, real world furniture or natural elements), maybe do some serious 3D painting and texture baking, and show off your designs in fully polished mini-commercials, then Blender is a lot better choice than having to create a workflow fragmented among several different pieces of software.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .