Mesh Align Plus, News/Announcements

Edit (with updated info): Hello everyone! This thread originally marked the announcement and first release of my precision modeling addon, Mesh Align Plus, so I’ve kept the thread around for news/announcements related to the addon, and have added more details/general info below!


Mesh Align Plus helps you move things around, precisely: arrange objects in your scene, align mesh parts to each other while you’re modeling, and create complex custom transformations using measurements from your models.

In other words, Mesh Align Plus is designed to provide precision modeling capabilities, especially for hard surface modelers, mechanical, architectural and CAD/CAM users.

Some real world examples of things you can do with the addon:

  • Align objects by their faces
  • Measure and match angles, distances, and lengths for parts of your models
  • Rotate an object around an edge
  • Move in the direction of an edge, face normal or set of verts
  • Directly set the dimension/length/scale of arbitrary sub-features of your model
  • Much more…

Grab it here:
https://github.com/egtwobits/mesh_mesh_align_plus/releases

Wiki (with tons of GIF’s):

See the simple demo clips below for a general sense of what the addon can do, or watch the full 30 minute demo video on YouTube (Link) (or read the wiki) for more advanced features.

See these simple demo clips for a quick flavor of what’s possible:

home8

apl_v7

JOa7Fcd

4 Likes

Why not toggle mesh operations after manually grabbing?

Well, the checkbox is there as a warning to you: not to use the tools on any objects with non-uniform scaling. When non-uniform scaling is supported, the checkbox will go away (So apply scaling first if you have non-uniform scaling on your object).

Right now, you only have to click it once and it will be enabled for all of the Quick Tools. If it’s too intrusive, I can maybe release an update to move it somewhere else, like the addon preferences? You still receive a warning message every time you use a mesh transformation too.

This seems useful, I would have needed this in many situations before! Gonna take a look.

I like every Precision modeling feature in Blender. Thanks

Very promising addon, but it doesn’t install in my system (Windows 7 64 bits, Blender 2.77a); it simply fails silently; the folder is copied to the relevant Blender folder, but Blender just doesn’t see it.


Can anybody help?

Thanks in advance.

Sept

Septruiz, make sure you unzip it, keep the .py file (which goes straight into the add-ons folder) and throw all the other stuff away (you cannot install from the zip file or use the folder).

@egtwobits. Thank you for your quick answer. Indeed that was the problem. Unfortunately, I watched your excellent video too late.

Once again, thank you for the fast and accurate answer.

Sept

Egtwobits - you are a gentleman and a scholar. I can’t thank you enough for releasing this wonderful precision modeling alignment plugin. I’ve only used it five minutes, I can already tell it’s going to save me so many headaches in my workflow (which involves a lot of CAD, Blender, and ZBrush). One of the features that I’ve desparately missed in Blender, and forum threads going back many years reveal that this has been requested repeatedly, is the simple ability to define one’s own local coordinate system for a given object, especially retroactively (which is to say, define the local coordinates for an object which has been moved away from the global coordinate system and subsequently had the transformations “applied”, or in my case, I made the base geometry in another software package). What I’m describing is not the same as the “Transform Orientations” feature in Blender. What I’m talking about is the ability to have an object with its own origin and XYZ coordinate, accessible simply by changing the transform orientation to “Local”, and working correctly with all the symmetry tools and what-have-you. As an easy example, let’s say I’m making a character model who has some armoured pauldrons on his shoulders. The armoured pauldrons that I’m making should have X-symmetry within their own local coordinate system, but within the global coordinate system they are placed on the character’s shoulders, far away from the global X-Axis. It used to be such a ***** to set up the appropriate local coordinate system in Blender, and I have no idea why since it’s simple in other professional programs. Anyhow, your “Mesh Align Plus” tool makes this task trivial, as it should be. By simply allowing me to select vertices defining a plane on the destination mesh, then aligning a face from a cube generated at the global origin in order to be coplanar with the destination plane, then combining the destination mesh with the aligned cube and deleting the cube geometry within edit mode, the destination mesh inherits the local coordinate system of the cube object and VOILA! - now I can use all my symmetry tools with my destination mesh, even though it’s located somewhere arbitrary. What a relief! I can’t wait to dig in and try some of the other functionality. Thank you!!!

JTenebrous, great! It’s an interesting use-case (recovering the object origin and orientation of a mesh that has been moved off its intuitive center). I’m glad the addon helped :>

Wow, this looks great! And very thorough documentation, which isn´t exactly usual for these plugins :stuck_out_tongue: Thanks a lot for sharing!

It looks like it could be simplified a lot more. For example I’d rather click once to choose a face than click three times to select three vertices; I want to align faces so why do I have to select vertices? Can’t the code extract three vertices from a selected face so the user doesn’t have to? Why does the user have to click Grab Destination? If I select a face in edit mode, it remains selected even if I come out of edit mode and then go back in. It appears that the code should simply ‘get’ the selected faces on both objects and extract the vertices so the user doesn’t have to do so much clicking… but then I’m not a Python programmer! Keep up the good work, but aim to simplify every operation by making the code do the donkey-work, not the user.

If you look at my case example 3 posts above, you’ll see one case where I strongly prefer the vertex-select method to selecting a face (ie, in cases where you want to align to a plane but NOT have face geometry there). Which isn’t to say that the face-select method couldn’t be added as an option (another plugin called “Precise Align” works this way… it’s like a more simplified version of Mesh Align Plus, so may be more to your liking).

You can just select a face now (see included GIF, example 1), if you want to (there are a couple of reasons I don’t do that in the video, see further down).

I can probably make a(nother?) more narrow tool that is more optimized for the task you’re talking about. Are people interested in that? And how should it be done? It would likely mean either adding complexity to the existing Quick Tools, for instance, or losing some of their current features (but then that functionality could be kept in the Advanced Tools potentially). It’s all a matter of how the tools should work and what people want.

In cases where you want to ‘Align Faces’ from one face on a mesh to a different face on the same mesh (aligning a mesh piece while modeling, for instance), you have to have a way of distinguishing between:

  • ‘Source’ target (thing to be moved into alignment with the destination)
  • ‘Destination’ target (stationary alignment target)
  • ‘Selection’ (thing you want to move)

That’s why we have ‘Grab Destination’ currently (if we only rely on selection for this, we don’t know which is which on the current mesh).

^Face select for ‘Align Planes’ (first example), source destination and selection on same mesh (second example), imaginary/implied geometry (third example)…I chose axis rotate for this one since an invisible axis is easier to see here than an invisible plane

Another thing: Jonathan Williamson mentioned a single hotkey tool that auto-changes modes and walks you through an alignment. I can maybe see how it works for the case you mentioned (real face on one object to real face on another). But, I can’t imagine a coherent workflow for that, that also does all of the above stuff (and others).

From the top, more about why I don’t grab faces in the video/GIFs:

  • You can select any 3 verts on the mesh (not just ones making a face), which gives you the flexibility to work with imaginary/implied geometry…advanced tools gives even more flexibility about where the plane point coords can come from (so it’s about reinforcing usage paradigms to the user…though admittedly not as quick for this particular case)
  • If you grab from a non-planar face, the results probably aren’t going to be what you want (you can grab more than 3, but the addon will assume they’re planar and just grab the first 3 it sees…I chose not to disable this in case someone should find it useful…)

Anyone have thoughts?

Great! I will try out when I return to the office.

Hey, egtwobits, thanks for this amazing helper. :slight_smile:

Just checking… “Version” is still at 0.1.0 on github (latest change 6 days ago/a15cff6), same version in …0.2.zip.
Is that correct?

+++
Great work on documentation!

Hi burnin, you should download the latest release (v0.2.0 as of now) at the releases page here (link), which is commit a15cff6 if you’re interested. For adventurous types, there’s also an experimental branch called tabbed-quicktools (which has an alternate layout that compresses all of the Quick Tools into one tabbed panel in the 3D View > Tools panel, Tools tab).


Can we make this kind of align , please?

jachtarfranko, I’ll work on the Align Planes feature to create a version that does this (right now the addon makes them coplanar, but the leading edges are not aligned).

To be a little more detailed: src2 will sit against dest2, with src21 pointing in the same direction as dest21.

this is great. We need good easy alignment tools. Will install and test.