ND — Free Non-destructive Modelling Addon for Blender — Thread

Hey Folks!

Sorry, haven’t posted an update here for the last couple of versions… a lot has been going on!

Here’s the changelog for everything that’s changed between v1.22.0 and v1.26.0:

1.26.0 (2022-05-07)

Features

  • add enter & space key presses as additional operator finalisation events (5e3eb6f)
  • add modifier & utility cycle operator (73bf7a3)
  • add option to mirror across faces, edges, or vertices on selected object (1ebc4ac)
  • add shift option to vanilla boolean operator to protect reference object (do not convert into utility) (9efae25)
  • add simple_deform operator (d5acf67)
  • add triangulate modifier (2e990f8)
  • allow for multiple utils to be selected with cycle operator (8bb923b)
  • allow mirror modifier to be applied to multiple objects simultaneously (80467d1)
  • automatically set geometry mirror axis to Z and flipped (426ed79)
  • move sketch operators into their own sub-menu (08bb8fd)
  • tidy up main menu by creating Replication and Deformation sub menus to house appropriate operators (6cf9461)

Bug Fixes

  • ensure boolean operators isolate the reference object in the utils collection (14dfdf4)
  • ensure mirror empty object is removed if mirror operator is cancelled after geometry selection (9c13ab6)
  • fix alt key value change behaviour on cycle operator (9efadc8)
  • fix geo_lift operator event handling order (447c654)
  • fix recon poly width option overlay display value (8413096)
  • fix reference/target object parenting in circular_array operator (7df4058)
  • fix up mirror across geometry invalid selection cleanup logic (97873a4)
  • update set_lod_suffix mode type in utils_menu (73aa1e7)

1.25.0 (2022-04-29)

Features

  • add clear vertex groups utility (ef5e5d5)
  • add isolated vertices in selection to active group in vertex bevel recall (b62c55c)
  • add recall functionality to vertex bevel operator (7b5cd83)
  • add shortcut for isolated utils menu (dcfdf35)

Bug Fixes

  • fix circular array revert behaviour (0d61d74)
  • match target object rotation in circular_array operator (7ea17b0)
  • remove set rotation from faux set_origin (e371881)
  • replace center of volume with bounding box calculation in lattice operator (22add82)

1.24.0 (2022-04-26)

Features

  • add alt mode to geo_lift operator to ignore all bevels when calculating selectable geometry (2aff5bc)
  • add bool_inset operator (3f29af5)
  • add edge_bevel operator (9d876f4)
  • add harden normals option to vanilla bevel operator (7827900)
  • add lattice operator (fd6eae0)
  • add mode option shortcut key for bool_inset operator (5fc4d30)
  • add option to lock overlay pin state and position across all operators (0ce0dd7)
  • add outset mode to bool_inset operator (cc8edd7)
  • add toggle option shortcut keys to applicable operators (c10b066)
  • add traditional (now default) and faux origin translation to set_origin utility (5122bae)
  • allow for -360 degree rotation on screw operator (306a3e2)
  • set face strength mode and face influence on wn_bevel modifiers (eb7cd25)

Bug Fixes

  • add additional checks to all operator poll methods to avoid selection (and order) based errors (cfdde4c)
  • ensure circular_array operator allows for traditional (now default) and faux origin translation (a21a46c)
  • remove all ND menus from info header bar (db17157)
  • set miter_outer to arc in bevel operator (fc4420b)

1.23.0 (2022-04-22)

Features

  • allow array_cubed count to roll faux negative (9138c66)
  • distinguish between built-in and custom screw head types in the operator overlay, and add additional .blend file cleanup on revert (a37a5bf)

1.22.0 (2022-04-22)

Features

  • add array_cubed operator and deprecate square_array (d90dec6)
  • add custom screw heads (.blend file) option to addon preferences (539d982)
  • add enhanced axis visualization to array_cubed, mirror, profile_extrude, and screw modifiers (9d2cd74)
  • add toggle for “fast” booleans in addon preferences and set default to true (previously “exact”) (43afa87)
  • allow circular_array operator to be run on objects, empties, and at arbitrary rotations (45cb48b)
  • show axes on selected object when using the array_cubed operator (77a2a85)

Bug Fixes

  • match target object rotation in set_origin operator (09da9e8)

And an update video for v1.24.0 (there will be one covering v1.25.0 to v1.26.0 coming out soon)

2 Likes

New video released going over all addon updates from v1.25 to v1.27

2 Likes

Hi TristoMenace
I follow your Apr 3 instruction video in ND v1.28.4,
Use Recon Poly after View Align on the slope,
But this Recon Poly angle cannot be consistent with View Align,
don’t know what’s the problem.

Sorry about that, it was actually a bug introduced with the “Natural Rotation” option. It’s already been fixed and will be available in the next version v1.29.0, hopefully released near the end of the week. For the time being however, if you have Recon Poly open, just disable Natural Rotation (press R) — that should fix the issue for now.

Let me know if that helps!

2 Likes

Thank you for your effort on this…^^

2 Likes

Just letting you know that v1.29.0 has now been released, which includes a fix for recon poly :slight_smile:

5 Likes

A new ND version (v1.32.0) is now available!

Haven’t quite gotten into the habit of posting every addon update in here, but if you’re interested, here’s everything that’s changed since my last post (v1.29.0):

1.32.0 (2022-06-25)

Features

add an option to toggle the sidebar / N-panel (0799e0b)
add calculate edges option to profile_extrude operator (8d6ead4)
add extrusion mode option to solidify operator (5011a6f)
add interpolation mode to lattice operator and default to linear (9fdd252)
add offset option to profile_extrude operator (e62687c)
add solidify option to fast menu for non-manifold meshes (a14b819)
add the ability to recall previous edge bevel weights (e381ab3)
add toggle wireframe and disable utility modifier options to cycle operator (a3a0bbc)
enhance profile extrusion and solidification predictions in the Fast menu (539f413)
ensure mirror modifiers are placed before finishing bevels in the modifier stack (5751adb)
rectify the mod order for lattice, simple_deform, profile_extrude, screw, solidify, array_cubed, and circular_array operators (2ccb087)
remove all disabled (viewport hidden) boolean modifiers when using the clean_utils operator (96a82ab)

Bug Fixes

add missing fast menu no prediction results section count (ac391ae)
add missing new_modifier imports to recon_poly, screw_head, set_origin, and triangulate operators (b832ca2)
ensure single_vertex object has rotation and scale applied after creation (7ce7f30)
fix edge_bevel width shift/precision and value formatting (78c1cac)
fix error/crash in clean_utils utility & add logic for lattice modifiers (14cf8a8)
fix mesh_f2 addon detection in the Fast Predict menu (499d96a)
fix no predictions logic in the fast menu (1819997)
fix poll method target object type check in cycle operator (a286253)
handle object/modifier removal errors more gracefully in clean_utils operator (6da00af)
unify and lower the merge and bisect thresholds for the mirror operator (843c126)

1.31.0 (2022-06-12)

Features

add clean geometry logic to view align, and allow view align to be immediately invoked on applicable geometry with an alt mode (db144a6)
add collapsible sections and common shortcuts to the N panel menu (e57bc0d)
add inscribed and circumscribed options to recon_poly operator (fa724c4)
add the panel, geo_lift, and view_align operators to fast menu single object form predictions (94ea2ca)
automatically collapse new modifiers added to objects (752de82)
extend inscribed and circumscribed feature to recon_poly inner_radius option & fix recall/revert behaviour (1611885)
remove problematic bevels from all boolean reference objects (6349c4d)

Bug Fixes

ensure viewport camera is always set to orthographic when using view_align operator (ee5c03d)
fix array_cubed count reset behaviour while respecting the currently specified offset value (a1d5ca5)
fix direct object view_align operation when utilising edges or vertices (c5059eb)
fix mirror across geometry behaviour and unneeded show_in_front assignment for evaluated geometry (bd0f14f)
fix up single and multi-object geometry mirror object evaluation and empty parenting (e7220ad)

1.30.0 (2022-06-06)

Features

add additional screw head types (@Shaddow) (b130d78)
add better boolean and sketch detection in the fast prediction menu (3c06550)
add clean_utils operator (3f4e47b)
perform additional geometry cleanup when extracting faces using the panel operator (9e53d4b)

Bug Fixes

ensure boolean swap_solver updates only apply to objects referencing the selected utils (6845d30)
ensure clean_utils also handles mirror and array empty objects in utils collection (43c0c82)
ensure that individual faces cannot be toggled until the inset stage in the panel operator (e6cb10f)
fix create_duplicate_liftable_geometry object_name parameter being overridden (11d7b4b)
fix error when using swap solver on a utility referenced by an object with invalid boolean modifiers present (20045ed)
fix NoneType object error when cycling through a utility object (4a5a402)
1 Like

New ND add-on version released!

Gumroad: https://hugemenace.gumroad.com/l/nd-blender-addon
Blender Market: https://www.blendermarket.com/products/nd-addon

Features

  • add a bulk assign ID materials operator (fc3a4c6)
  • add a weighted_normal operator along with a new shading category, and move smooth shading into it (8e17737)
  • add clean_utils and apply_modifiers ops as shortcuts in main UI panel (7aba702)
  • add clear_materials operator (02c580b)
  • add CTRL + click modifier removal behaviour to all applicable operators (1fcb674)
  • add experimental mode toggle to preferences (4a5a4d1)
  • add mirror operation to boolean object fast menu predictions (7df0fea)
  • add mouse-step values to lattice, screw, array_cubed, circular_array operators (22e53de)
  • add Shift + Alt + E keybinding for the Packaging menu (f92d434)
  • add smooth shading and weighted normal operators to the fast-predict menu (28b359a)
  • add the id_material operator (20b77a0)
  • add undo/redo/W/C event passthrough as experimental feature for geo_lift, panel, and view_align operators (778b064)
  • allow bevel segments to be set via mouse movement when mouse values are enabled (c9713bd)
  • allow customisation of the overlay base color (b6fb7df)
  • allow ID Materials to be actioned in both object and edit mode (face select) (021efe2)
  • allow smooth shading operator to be used on multiple objects simultaneously (3d52fc9)
  • create a dedicated ID materials menu under Packaging, and a new assign-existing ID material operator (b383f14)
  • remove edge weights and vertex groups when clearing edge_bevel, or vertex_bevel operations (bfac62e)
  • set keep_sharp for the weighted_normal operator by default (3856be3)
  • split applicable util ops into dedicated scene and export menus (6422a49)
  • update the ID Materials menu to show a static list of all available colours with previews (bf9d5c1)

Bug Fixes

  • ensure mod order is rectified when using the edge_bevel operator (ecd49d9)
  • ensure select objects are made single-user when executing the apply_modifiers operator (a5955fb)
  • explicitly import bpy.utils.previews in icons/init.py (03f9f2b)
  • fix array_cubed manual input override locking (374c00b)
  • set profile_extrude’s calculate edges option to false by default (d4c7537)
5 Likes

New ND add-on version released!

Gumroad: https://hugemenace.gumroad.com/l/nd-blender-addon
Blender Market: https://www.blendermarket.com/products/nd-addon

1.36.0 (2023-01-31)

Features

  • add adaptive unit fallback support for both metric (meters) and imperial (feet)
  • add constant displacement mode option to array_cubed operator
  • add full support for Blenders unit system (None, Metric, and Imperial) and unit scales
  • add mouse-value support to all non-keybound operator options
  • add scene unit scale support for operator overlay values
  • add silhouette operator

Bug Fixes

  • add fallback support for Blender’s “Adaptive” unit length (default to meters)
  • ensure object names with multiple chained “.00n” suffixes are fixed before high and low LOD naming operations
  • fix screw head z-axis displacement issue when altering scale
  • fix XYZ axis visualisation extents
  • set weld mode to connected for all bevel operators

1.35.0 (2022-11-05)

Features

  • add circularize operator
  • add clamp_overlap and loop_slide options to bevel operator
  • add decimate modifier to circularize operator and set min segments to 2
  • add immediate apply mode to seams operator, default to angle set in preferences, and lock auto smooth to 180 degrees
  • add mesh mode set_origin behaviour
  • add the circularize operator as a fast menu PE/sketch prediction

Bug Fixes

  • add edge_bevel and overlay fixes for Blender 3.4
  • add overlay_option_active_color back into reset_theme operator
  • ensure vertex groups and edge weights are remove when applying modifiers
  • fix profile_extrude and solidify normal calculations
  • only apply viewport visible modifiers
  • register recon_poly segments with mouse values system
5 Likes

New ND add-on version (v1.37.0) released!

Gumroad: https://hugemenace.gumroad.com/l/nd-blender-addon
Blender Market: https://www.blendermarket.com/products/nd-addon

Features

  • add an apply modifier option to the cycle operator

  • add keymaps for difference, union, intersect, and slice boolean operations

  • add loop slide and clamp overlap options to the edge bevel modifier and swap the weight and width options

  • add only ngons option to triangulate modifier

  • add support to high/low LOD for ZenSet’s object naming convention

  • remove the WN bevel operator and update the standard bevel and weighted normal operators so that the functionality can be replicated

  • set the angle parameter on the bevel operator as a mouse-driven value

Bug Fixes

  • fix the edge bevel operator’s width and weight hints
4 Likes

A new ND version (1.38.0) is now available!

This version fixes all issues and bugs concerning Blender 4 compatibility.

You can grab v1.38.0 from whichever provider you like:

6 Likes

A new ND version (1.39.0) is now available!

Highlights:

  • Fixes a crash in Blender 4 when you first use the edge bevel modifier but cancel the operation before completing it.
  • Adds a highly requested feature: stacked bevels :tada: — You can now SHIFT click on the bevel operator to add a new bevel instead of recalling the previous bevel operator. If you recall the bevel operator, you can cycle through all the bevel modifiers by pressing the R key to select the one you want to edit, assuming you’ve added more than one. Removing the bevel operator (by pressing CTRL) will remove them one by one, from newest to oldest.

You can grab v1.39.0 from whichever provider you like:

6 Likes

A new ND version (1.40.0) is now available!

Features

  • add right-click select support (toggle via add-on preferences)
  • add support for Blender 4.1’s new smoothing process

Bug Fixes

  • fix circular array empty rotation in single-object mode and tidy up operator
  • fix lattice scaling in Blender >= 4.1

You can grab the latest version from whichever provider you like:

4 Likes

We’ve also started creating an ND add-on deep dive series — check it out:

7 Likes

A new ND version (1.41.0) is now available!

Features

  • add an option to toggle the visibility of utils for only the selected objects
  • add robertson, torx tamper proof, and triangle recess screw head types

Bug Fixes

  • ensure that boolean ops handle the presence of WN mods correctly
  • ensure that the SBA and WN mod order is maintained when new mods are added to the stack
  • ensure that the WN modifier doesn’t add additional mods to an object with the WN mod already applied
  • ensure the SBA mod places itself before any WN mod present in the stack
  • fix NoneType error and add additional guard clauses for when the active target object is excluded from the view layer
  • fix smoothing mod removal error on profile extrude when cancelling a new (non-recalled) operation

You can grab the latest version from whichever provider you prefer:

5 Likes

A new ND version (1.42.0) is now available! This is a minor release with a couple of QoL updates.

Features

  • add a hard apply & duplicate mesh alternative mode to the apply modifiers operator

Bug Fixes

  • fix the incorrect object position offset when reversing a faux origin displacement

Misc

  • remove the unnecessary decimate modifier from the circularize operator stack

You can grab the latest version from whichever provider you prefer:

5 Likes

A new ND version (1.44.0) is now available!

This release has many updates, improvements, and additions. As such, I will make an overview video covering all the changes, which should be published in the next few days.

Features

  • add a linked version of smart duplicate (equivalent to Blender’s ALT + D)
  • add extended mouse behaviour support (scroll on bevels to change segment count)
  • add extended mouse value support to recon poly (scroll to adjust segments)
  • add freeze state option to modifier mode in the cycle operator (retain mod visibility states on exit)
  • add mirror, profile extrude, and screw operators to the edit mode fast menu
  • add option to change overlay reset key behaviour to unlock instead of hard-reset
  • add option to customise the Utils collection icon color
  • add option to lock overlay parameters on recall
  • add option to remove triangulate modifiers via the CTRL alt-mode convention
  • add SHIFT+T shortcut for toggle utils
  • add smart duplicate operator (copy selected object/s with all associated utilities)
  • add symmetrize option to mirror operator for immediate application
  • add sync modifiers operator (experimental feature)
  • allow apply modifiers to be run on curve objects in selection set (will convert them to mesh)
  • allow bulk operators to be executed as long as mesh objects are in the selected group (e.g., ignore empties)
  • allow profile extrude, screw, mirror, and circularize operators to be run from edit mode
  • allow the isolated object util toggle operator to be run on composite utils

Bug Fixes

  • ensure that all util objects are toggled (including empties) when using the isolated object mode in toggle utils
  • ensure that all utils and composited utils are recursively selected when toggling or duplicating
  • fix Blender 4.2 SBA crash and improve SBA/WN across various versions
  • only attempt to preserve custom normals when running triangulate in Blender <4.2

You can grab the latest version from whichever provider you prefer:

7 Likes

A new ND version (1.45.0) is now available!

Features

  • add duplicate utility operator and corresponding fast menu integration
  • add pipe extrude operator and corresponding fast menu integration
  • add the option to clear/remove drivers (and retain existing values) to the sync modifiers operator
  • improve sync modifiers attribute detection and add support for geometry nodes
  • mark sync modifiers as a standard feature (previously experimental)
  • retain original object and offset_object utils when syncing modifiers and add an option to override (ALT) if required

Bug Fixes

  • fix maximum recursion depth exceeded error when smart duplicating an object with cylic utils
  • fix the error that occurs when cancelling a panel operation on the first step (selecting geometry)

You can grab the latest version from whichever provider you prefer:

3 Likes

Hi,
I’m new to this nice addon.
There is one thing that I’ve found annoying.
When I recall an operator (for example a Bevel), as I move the mouse, the bevel width change the value, destroying the old value. As, for example, you call back the Bevel just to change the segments number, you don’t want to change the Bevel width.

Is there a way to avoid this behaviour?
Where am I wrong?

Hello!

Yeah, there sure is. In NDs preferences, enable lock overlay parameters on recall. Then, whenever you recall an operator, you’ll have to press X while you have a parameter highlighted to unlock it.

Once unlocked you’ll be able to change it’s value as you normally would, or you can press X again to reset it back to zero (or whatever it’s default value is).

3 Likes