Add object tool, requesting feedback

The new add object tool is now in master for the up-coming 2.90, while this closely follows* the original design task, there are areas we might wish to change or improve on.

* negative/positive axes are needed for some object types, currently snapping is always to geometry - not incremental, preview plane was mentioned too which would be good to have.


This tool has a lot of potential. I just wish it had a faster option to add objects on to the surface of another.
By faster I mean, with just one click and drag and the object scales up and is added with the proper ratio already…
Like this:

And please, if possible, it would be great if this tool could work in sculpt mode too.


A tool for easily drawing new objects is certainly welcome. :slight_smile: However, I think that the UX could be improved a lot.

I think that the implementation is too simplistic and not very user friendly. It would be much easier to judge the form if the new object was not displayed as a wireframe while being created but as a regular mesh. The base could be drawn as a filled shape to make it easy to distinguish from other objects when creating it onto a face of another mesh (a matter of taste probably). Is it too much work at the moment to change these things because it would require one to implement new mesh creation operators?

The current implementation:

Proposed one (using an addon I’ve been developing):

(Ignore the text, it’s not a part of this proposal)

The creation of a sphere also feels 100% weird in my opinion:

Why not show a sphere from the beginning and start extruding immediately?

No segments drawn for a cylinder?

I also think it definitely should be possible to draw the object onto a face easily. Currently that’s not possible as the orientation of the face is not followed.

Floor could also be a placement option.

I also find it annoying that mouse click is used to place the 3D Cursor. Easy to do that accidentally. It’s already possible to do that using shift + right click (at least when using left click select).

Other remarks:


  • The icons don’t fit
  • I think “Placement” (or similar) would be more user friendly than “Depth”?
  • “Origin” is misleading because one would think it controls the origin of the object instead of just defining the starting point

Here are some of my notes while testing the tools out a bit:

  • Holding down Alt & Shift seems inverted to me.
    This might just be me since any Software I am using has the functionality of these 2 shortcuts the other way around but the design task is also mentioning it as:

Holding Alt while dragging works as a shortcut toggle the origin (Base vs Center)

  • The design task is showing off the possible adjust last operation gizmos, which would be very helpful in tweaking the shape after drawing it incorrectly.
    These should be added soon.
  • Using Adjust Last Operation in general right now doesn’t seem to be based on the drawn proportions but instead just uses the last used values from that panel.
    So the numbers don’t match up and sometimes they seem to be conflicting and suddenly change the size of the drawn object after confirming a drawn shape. That’s probably just a bug though.
  • I think the operator that the Tool is using should get some additional shortcuts while it’s being executed.
    Typing in the axes, dimensions, subdivisions, etc, etc like with other Tools and Modal Operators is pretty important and makes it more convenient.
    As of right now it’s extremely difficult to get exact measurements since also incremental snapping, adjust last operation values and gizmos are missing or not usable.
  • As far as I know, most Active Tools are essentially executing the already existing modal operators.
    Is there any plan on adding modal operator versions of these new Tools to the Add Object menu or even just as searchable operators?
  • Like shown above, I think adding an option to base the orientation of the new object on the surface normal of the clicked on face would be very useful.

I’ve been looking forward to this tool :slight_smile:

My suggestions in order of priority

  • draw on plane (follow surface normal of clicked plane)
  • show preview plane
  • rename “Depth” to “Placement” (or similar)
  • sphere creating is indeed a bit weird, maybe better to show sphere from the beginning and extrude as suggested by @Symstract
  • show objects as solid while drawing (not sure how feasible this is)
1 Like

That would be a game changer. :ok_hand:

(Also posted this on, but re-posting here for transparency)

Here’s an animated mockup video to better show how the original design doc describes this tool:

In this case it’s set to Surface, and the orientation is set to Normal

Relative to the current implementation, these things needs to be added/changed:

  • Shift and Alt are swapped incorrectly
  • The scene Orientation should be supported so objects can be oriented to the Normal, or any other transform orientation (custom orientations could also be very commonly useful)
  • We should see the actual mesh appear while you drag rather than the line preview (several addons have it working, so I can’t imagine a native tool can’t do it)
  • Gizmos for tweaking should be added
  • Preview plane should be added (otherwise it’s hard or impossible to tell where the object will appear in common situations. The plane shows both the placement and the orientation)
  • Left click is incorrectly assigned to setting the 3D Cursor. This should be removed, so that you can also simply click to start adding an object, and click a 2nd time to set the height. Currently, just clicking in the scene fails with this tool. With the default keymap, the 3D Cursor is set with Shift-RMB, so no functionality is lost by removing it from LMB click.
  1. Object creation should be either solid or with xray (transparent mesh) and wireframe shown when placing, till confirmed, the wireframe system is way too abstract.
  2. Post placement, a tweaking widget-gizmo should show.

eg. trueSpace had object placement based on normal-world plane, and had a cool two mouse trigger based widget-gizmo for adding bevels, geometry shape iterations and changes for full shape control.

  1. Post placement gizmo-widget should be powerful, as powerful as the post operator panel, but with a widget
    eg. This is taken from the the trueSpace documentation:

1 Like

Yeah, we want to work fast, that’s all that matters.

1 Like

So i’ll ask here again, what will happen to the blueprint tool, discarded now? it has some of those feature & more, should have been combined with this tool.

I’m not sure what the status of the blueprint tool is.

Whatever the case, they’re quite separate. Blueprint tool is an edit-mesh geometry construction tool, where as this is an object placement tool which could eventually be used to place existing assets too.


Oh, I hadn’t seen it in this light. That seems much more useful than just primitives…

I am not a fan of one active tool per primitive shape.
Basically, user is adding an object by defining its bounding box.

That way to add objects is pertinent for most majority of objects whatever shape contained in bounding box is.
That should be possible for Grids, Torus or Monkeys, too.
That should be available to addons of Add Mesh (Bolts from Bolt Factory, Teapot from Extra objects, Shelves from Archimesh) and Add Curve (Helix from Extra Objects, Trees from Sapling Tree Gen) categories.
Except for Force Fields, Speakers, Cameras, Lights and Hair type, a click and drag way to add objects is pertinent.

So, I think that would be more legitimate to have one active tool per type.
For example, for Curves and Texts, tool could be slightly different. First click could define bounding box or text box and second extrusion.
For armature and collections instances, it could be a way to define scale of object, at creation.

Okay, so this tool is not meant for just primitive objects we can add other custom ones…since you spoke about objects placement, the LMB sets the 3D Cursor when you’re in surface mode, not sure what’s the point of that.
I hope then we can have the blueprint tool too as it has all the features the guys are asking for.

Trying this tool, it does make a good impression.

Ruminating about ThinkingPolygons idea. Video shows objects placed and aligned automatically. Would be super useful. But I dont think its a full replacement.
It does not look like a tool which could create a variety of objects, but rather like a tool which places/aligns/scales pre-made objects (not limited to spheres, boxes, cones, cylinders, etc …) which are already there. Could help quickly placing assets.

I like that way of interacting. But it is not too specific those gizmos for each geometry and an excess of work to implement and future? at the end also the user must change parameters in a text box for number of cuts and others

It is the first thing I have thought, when the Origin = Base, it should work like this. How it works now maybe it could be Origin = Corner

The orientation of the objects added to the normal face of the background object is also essential, and direct, without going through the 3DCursor, although it should also be another option.

The option “3D Cursor Plane” is difficult to visualize the plane, perhaps the 3D Cursor should show it. When rotation to the 3D cursor was added I made a proposal at
Maybe you could take advantage of something.

1 Like

So far it works really well. :+1: Some thoughts on it:

  1. SurfaceMode should have an option to orient the baseplane/workingplane perpendicular to the surfacenormal.

  2. Snapping the size of the mousedragged border to edges and verts by holding a modifier key. Grid snapping would be another related handy feature.

  3. Visible Working Plane

  4. A simple offset value that applies to all add tools in normal align mode and shifts the working plane in normal direction forward or backward.
    The value should be visible somewhere when the tool is active and could be set eg wiht up and down and reset to zero with some other key.

  5. If this is not out of scope a simple Auto Merge Option would be nice, to combine it with the object of the hitted surface it was drawn upon. Best also including a subtract submode.

1 Like

The snapping integration is really nice, its just that the snapping tool focuing on the mousecursor itself cause some problems for the addon tool.

When the baseplane is drawn (first step) all 4 corners should be snappable.( well infact 3 points would be enough)

As the logic of the baseplane drawing lets you draw the diagonal of the baseplane its impossible to snap eg. two boxes exactly next to each other with the same coordinates along their touching edge.

Best case would be if the edges of the drawn boundingbox would also snap to other exisiting geometry.