Releases: egtwobits/mesh_mesh_align_plus
Mesh Align Plus v1.1.0-rc.1 (Extension system upgrade)
This release ports Mesh Align Plus to Blender's new Extension System (see it on the extensions site here)! Everything works just like the last version, but now you can search for and install Mesh Align Plus directly from inside Blender Edit > Preferences > Get Extensions
:D
This version is a release-candidate, but no changes are expected between this and the final release, which is coming soon.
Mesh Align Plus v1.0
This MASSIVE new v1.0 release is a major design overhaul for Mesh Align Plus, and brings these big new features:
- A new Easy Mode
- A new Geometry Manager panel
- A new multi-edit-grab-all feature
- More calculations have been added to the calculate & compose panel,
- A complete rewrite of the wiki and all tutorial GIFs and reference materials
You'll see the (renamed) tools underneath the new "Align" tab in the 3D View Sidebar.
Easy Mode
Easy Mode enables super fast two click (or less) workflows for common alignments, on all main operators. Want to align surfaces? Using Easy Align Planes, just select a face and hit "Start Alignment", then select another face and hit "Apply to Active":
Easy Mode uses the active object to pick alignment verts, and you can optionally align multiple objects together (all objects that were selected on first press move together with the active object).
If you want extra control over the alignment orientation, select 3 verts in order, one by one (the vert selection history affects the final alignment).
The old/classic operators (now called expert mode) are still there if you want more advanced options and features for complex cases and workflows.
Easy Angle Finder
The Easy Angle Finder (inside Easy Axis Rotate) lets you quickly pick two lines and find the angle between them.
Geometry Manager
The Geometry Manager is a place for permanently storing geometry keys for repeat workflows, plus it has an "Add Reference Geometry" feature for accessing common reference planes (XY, XZ, YZ) and axis lines (X hat, Y hat, Z hat), plus the world origin.
You can copy and paste from this list into the expert mode alignment operators, or just add new planes/lines/points and edit their constituent points directly.
Multi-Edit-Grab-All
You can now grab-all from any selected object in edit mode (before only the active object worked). This lets you grab-all key verts from an active OR non-active object in multi-edit mode.
Beware that multi-edit-grab-all can cause unexpected behavior if your key verts come from multiple objects, like a plane that comes from three different meshes (in this case the active object takes priority), so it's best to use the grab-all buttons to pick verts from any single active OR non-active object (and use expert mode/geom editing if you want to maintain key vert ordering when your key verts come from multiple objects).
New Tools in the Calculate & Compose Panel
There are new Calculate & Compose tools:
- Intersect Plane/Plane: Makes a new Line key that is the intersection of two given planes
- Nearest Point/Line: Makes a new Point key that is the closest point to a given point on a supplied line
- Nearest Line/Line: Makes a new Point key that is the closest point on the first line to the second line
Mesh Align Plus v0.7.0
This release adds new features for distributing objects! Installation notes here. There are two new operators, both sharing the "Quick Distribute Objects" panel. Full feature reference manual here.
Distribute Between Objects
This operator lets you align selected objects between a chosen "Start" object and "End" object. Object sorting/ordering is determined by the distance from the start object, in the direction of the end object (so you can roughly arrange your selection first if you need a specfic ordering). You can also offset from the start/endpoint (if you don't want your selection directly touching the start/end).
Pictured: Distribute selected objects between a start/end object
There's also a "use last selection" option which allows you to tweak a previous operation (it operates on whatever was selected the last time you hit apply).
Distribute Along Line
With this operator, you choose points for the start/end (a line, in other words) to distribute your selected objects along. In the GIF below, we simply grab global vertex coords for the start/end, but much more is possible with the power of Mesh Align Plus's geometry editing features.
Pictured: Distribute selected objects between a start/end point
As with the other new operator, object sorting/ordering is determined by distance from the start point in the direction of the endpoint, and you can offset your objects from the start/end. There's also a "use last selection" option.
For advanced use cases: Just click to expand the triangle next to the "Grab Source" button to see additional grab modes and modifiers for the line you define. Your start/end points can be imaginary, you can define an invisible line/axis, grab average vertex positions, multiply the line length, flip direction, etc.
New Quickstart Videos
There's a new quickstart video explaining core usage and concepts, and another quickstart video that gives a lightning fast, basic overview of all the operators in the addon, see below:
Bug Fixes
A bug with "Align Planes" was fixed, where grabbing a source/destination in face select mode would cause errors. Custom transform orientations for "Align Planes" was disabled to fix this.
Mesh Align Plus v0.6.1
Blender 2.9 compatibility release
Hi friends! There's nothing new here feature-wise, this release just fixes a compatibility issue with Blender 2.9. Install this version to ensure that Mesh Align Plus works with the latest release of Blender.
E299A5 you all :)
Mesh Align Plus v0.6.0
New in v0.6.0
New editing features have arrived with this release! New (non-mesh) object types are now supported, there's a new mode for "Align Planes" for directly defining object origins, a new target type was added to all operators to give users more ways to apply their transformations, and more.
New special mode on "Align Planes": Directly set object origins
The "Align Planes" operator now has a new special mode ("Align origin mode") for directly defining a mesh object's origin by picking 3 verts. You can batch-set the origin for multiple objects to the same place by multi-selecting before you hit apply:
Pictured: Directly define the OBJECT ORIGIN for selected mesh object(s) by picking 3 verts
Move non-mesh objects
All of the main operators now can now be applied to empties (useful for common parenting setups), cameras, lights, grease pencil objects and other non-mesh selections. Non-mesh objects can be used in multi-selections, too (Keep in mind that you will have to “Apply to: Object” though, as it doesn’t make sense to “Apply to: Mesh” for non-mesh objects):
Pictured: Applying an alignment to a parent empty, by defining motions relative to mesh geometry
Pictured: Multi-aligning a bunch of non-mesh objects
New target type for all operators: Move just the object origin around
For mesh objects, there's a new target type for all operations: You can now choose to move JUST the OBJECT ORIGIN with "Apply to: Obj. Origin", freezing the mesh itself in the same apparent global position as before an alignment has been applied:
Pictured: Applying an alignment operation to a mesh's OBJECT ORIGIN
Move around in the destination plane after alignment
The Align Planes operator can now create a transform orientation for you, to slide your targets around in the destination plane after an alignment has been applied (this feature was available in the pre-2.80 compatible versions of the addon, and has now been re-enabled):
Pictured: Slide your object around in the destination plane after alignment, by using the custom transform orientation option
"Apply to: Object" now works without an active object
You no longer need an active object to "Apply to: Object" for any of the primary operators (you just need any number of selected objects). In Blender, the active mesh is outlined in yellow (by default), with other selected objects outlined in orange).
Mesh Align Plus v0.5.3
TL;DR: Core changes to Blender 2.80 broke the addon, this update fixes things! Onward and upward!
Since Blender 2.80 is still in beta, the Python API for addons is subject to change. This small update fixes another error caused by a change in the Blender Python API.
Mesh Align Plus v0.5.2
Since Blender 2.80 is still in beta, the API is subject to change. This version fixes an error caused by a change in the Blender Python API. Onward and upward!
Mesh Align Plus v0.5.0
New in v0.5.0
Mesh Align Plus has been updated for Blender 2.80, and a new feature for "Align Planes" (flat alignment) has been added! PLEASE NOTE: The installation process is now different, and the default behavior for "Align Planes" has changed! Full details below.
New feature + default behavior for "Align Planes"
The "Align Planes" tool lets you pick flat surfaces and stick them together, by picking 3 points as a source and 3 points as a destination. The new default behavior changes the final location of your item. The tool now matches "Point A" (the FIRST src point selected) on your source, to "Point A" on your destination (the FIRST dest point selected).
The old "Classic" tool behavior matched "Point B" on the source (the SECOND src point selected), to "Point B" on the destination (the SECOND dest point selected). You can go back to the old behavior (shown below) by unchecking the "Pivot is A" checkbox in the tool options box.
Changes for 2.80
New installation process!!
The addon is now a Python package (it's a folder full of .py files), so installation is different now. See the installation page for more info, or TL;DR: You can install from the zip file provided in this release notes post:
New location in the Blender UI
Due to 2.80 changes, the addon's panels have moved to a new location in Blender: The 3D View > Properties (N) Panel > Mesh Align Plus Tab.
Known Issues
Custom transform orientations for "Align Planes" is currently (temporarily) disabled. If people complain enough, I'll fix it sooner :D This feature enabled the ability to drag your target around the target plane after using "Align Planes".
Mesh Align Plus v0.4.0
New in v0.4.0
Huge upgrades were made to advanced editing and measurement features. These improvements mean faster, more flexible and more lightweight workflows for complex operations. The Wiki has also been completely rewritten for this release (now here on Github).
Quick Calculations
Easily incorporate measurements into your transformation workflows. This brings advanced measurement features into the Quick Tools tab:
There are 2 slots to store things in (points, lines or planes), and based on what you load into the slot(s), you can find things like the angle between 2 lines, a plane/line intersection point, the distance between points, length of a line, etc. You can use the new auto-copy/paste features (detailed below) to load resulting geometry and/or values into your operators.
Quick Geometry Editing
This brings advanced coordinate grabbing and editing functionality into the Quick Tools tab. Simply click the triangle next to any reference feature to expand and edit it, or add modifiers to change its properties. This makes it easy to manually set the start/end points of an axis, for instance, change the direction of a normal after you grab it, multiply a line's length (etc.), all from within the operator panel.
New Ways to Grab Coordinates
Grab Normal
You can now define a line by selecting a face and grabbing its normal. This is useful for aligning two objects by a flat surface on each, defining a plane to rotate in, etc.
Grab Average Coordinates
This grabs the average position of all the selected points. Makes it easy to grab the midpoint of an edge or the center of a ring, for instance.
Copy/Paste
You can now copy and paste reference features into and out of an internal clipboard. So if you grab a line for an Axis Rotate operation, and want to use the same line in another operator, just expand that item, hit copy, then hit paste at your destination. By default, calculation results are automatically copied to the internal clipboard (for instance, if you calculate a Line/Plane Intersection, the resulting Point will be copied into the internal clipboard, which you can then paste into the source or destination for Quick Align Points)
Scale Match Edge Numeric Mode
Grab an edge, type in the desired length, and the target will be scaled so that your reference matches that length (the scaling factor is auto-calculated for you). Remember, your reference doesn't have to be a literal edge (start/endpoints of your line can be anything, so you can scale match arbitrary start/endpoint pairs to a desired distance).
Other updates:
UI Refinements
Quick Tools "Grab" icons now reflect the type of item they grab (Point, Line, Plane or Any). Point coordinate layouts (Start and End points for lines, for instance) and their related attributes and tools in the UI have been refined/updated for better spacing and usability (the icon for "Send Point to Cursor" has also changed). Added some wayfinding icons to each Quick Operator, to aid in menu navigation during complex editing operations.
Mesh Align Plus v0.3.0
New in v0.3.0
Multi-Object Editing
Select multiple objects to apply your operator to all of them. For Quick Tools, the active object (the yellow outline, in Blender) in a selection will be used to grab the source geometry when "Auto Grab Source" is enabled. Useful, for instance, when you need to move an object but want to maintain the relative positioning of some related items.
New "Quick Align Objects" operator
"Quick Align Objects" allows you to align selected items to the active object. See it in action below:
New Calculation/Measurement types
Intersect Line/Plane
Use "Intersect Line/Plane" to find the point where a line intersects a plane. This adds a new point item at the location of the intersection.
Angle of Lines
Use "Angle of Lines" to measure the rotational difference between lines (the difference in angle between lines if each line sat at the world origin).
Ordered Vertex Grabbing
To quickly summarize: more predictable behaviors for everything.
The selection sequence is now respected when grabbing geometry for Line and Plane items. A Plane (with points A, B and C) will now set its point coordinates using the first, second and third vertex selected, respectively. For the new, improved version of Quick Align Planes (for instance), this means that the first and second points selected on both the source and destination plane will form the leading edge for each plane (which will be aligned to each other when the operator is applied, see "Align Planes" improvements below).
"Align Planes" operator improvements
Edge-Aligned default behavior
The "Align Planes" operator now rotates the source plane after alignment so that the leading edge is in-line (collinear) with the leading edge on the destination (Seen in action in the Ordered Vert Grabbing GIF above).
Destination plane transform orientation
You can now slide your target around on the destination face after it has been aligned using a new auto-generated transform orientation. After applying your alignment, a new transform orientation with the name "MAPlus" will appear, aligned to the destination face. You can have Blender automatically switch to the new orientation when the alignment is applied by enabling the "Use Transf. Orientation" checkbox in the operator options box.
"Scale Match Edge" operator improvements
Pinned source edge default behavior
The source edge now stays pinned (at the line's starting point) when the operator is applied.
Rewritten/improved core systems
A complete overhaul of the Geometry modifier system means that modifiers are now supported by Calculation items, and are handled universally and consistently in all parts of the addon.
All operators have also been rewritten for improved code consistency and readability.
Bug Fixes
'Not enough vertices' and other geometry grabbing errors are now properly handled in the Blender interface from the Quick Tools.
Fixed a bug with the Advanced Tools 'Align Lines' operator using data from the quick tools
Fixed a bug with Advanced Tools Plane items, where the "Send Plane C to Cursor" function was not working.