25
$\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$
  • 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 '16 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$ – atomicbezierslinger May 24 '16 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$ – Mike Belanger May 24 '16 at 13:57
  • 1
    $\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 '18 at 2:29
18
$\begingroup$

Blender is not a CAD software. It is a very weak NURBS/Parametric_surface modeler. In Blender you would be making everything from polygons.

You are also looking for procedural workflow which Blender generally does not offer. Blender is a 3d software with most of it's actions being destructive.

There are no work-planes or sketches. There is no easy export into technical drawing. It is time consuming to constraint geometrical elements (parallel, tangent, etc. relationships) with the constraint system Blender has.

Blender can be used for engineering, but it's not designed for it. As such engineering workflow with Blender is slow and full of workarounds.

There is Sverchok addon that can create geometry procedurally - it is simmilar to Rhino's grasshopper.

There are addons to make precise measurements and to help with other engineering tasks, but they cannot change what Blender is.

Blender modifiers are procedural (mirror, revolve, array, boolean,..).

There are just much better alternatives for free CAD software, then to use Blender for CAD:

FreeCAD, NaroCAD, SolveSpace, and I am sure many others.

$\endgroup$
11
$\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
    $\begingroup$ Unity blueprints or Unreal blueprints? AFAIK Unity doesn't have blueprints like that. $\endgroup$ – JakeD Jan 8 '17 at 22:48
5
$\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$
4
$\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$
  • $\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 '17 at 10:57
  • 1
    $\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$ – Jaroslav Jerryno Novotny Aug 22 '17 at 18:53

protected by David Oct 16 '17 at 12:05

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.